3e39bcb748027d4a1ffd98905e88b4441e1ae67fnone
AGENTS.mdTool: agents-md---
title: Garrul — AI Integration Guide
audience: AI coding assistant helping a developer EMBED Garrul comments on their site
canonical_url: https://garrul.com/AGENTS.md
self_url: "{{INSTANCE_URL}}/AGENTS.md"
repo: https://github.com/KingPin/Garrul
version: "{{VERSION}}"
---
## 1. What Garrul is
Garrul is a self-hosted comment system on Cloudflare Workers. You add it
to a site by dropping a `<div>` plus a `<script>` into a page template;
the widget mounts inside a Shadow DOM and talks to the Worker oveCLAUDE.mdTool: claude-code# Garrul — Project Conventions
Self-hosted comment system on Cloudflare Workers + D1 + KV + Turnstile. This file documents conventions for human and AI contributors. Read it before writing code or opening a PR.
## Stack
- **Runtime**: Cloudflare Workers (not Pages Functions).
- **Framework**: Hono (TypeScript).
- **Database**: Cloudflare D1 (SQLite).
- **KV**: rate-limits, OAuth state, sessions, tree cache.
- **Anti-spam**: Cloudflare Turnstile.
- **Email**: Resend only (`src/lib/email.ts`). The `EMAIL.claude/File: .gitignoreTool: claude-code.cursor/File: .gitignoreTool: cursor.aider*File: .gitignoreTool: aider.aider*File: .gitignoreTool: aider.aider*File: .gitignoreTool: aider.aider*File: .gitignoreTool: aider.aider*File: .gitignoreTool: aider.aider*File: .gitignoreTool: aider.continue/File: .gitignoreTool: continue.dev.codeium/File: .gitignoreTool: codeium.windsurf/File: .gitignoreTool: devin