cull uses Project Think and virtual file system cloudflare/shell to triage your docs/codebase and answer questions... you know RAG IS DEAD (they said.)
You point it at one repo with env vars, deploy it, and call:
GET /healthGET /statusPOST /queryPOST /query/stream
It keeps the repo warm in the background and answers questions from the repo contents.
- Install dependencies.
npm install- Create the Cloudflare resources once:
npx wrangler r2 bucket create docs-agent-cf-repo-files
npx wrangler d1 create docs-agent-cf-repo-dbThen copy the returned D1 database_id into wrangler.jsonc.
- Set your repo in
.envfor local dev, or as Worker vars for deploy:
REPO_URL=https://github.com/your-org/your-repo
REPO_BRANCH=main
QUERY_TIMEOUT_MS=120000
MODEL_ID=@cf/moonshotai/kimi-k2.5
REPO_SYNC_INTERVAL_SECONDS=3600
- If the repo is private, add a token:
npx wrangler secret put REPO_TOKEN- Deploy:
npx wrangler deploy- Ask a question:
curl -X POST https://your-worker.your-subdomain.workers.dev/query \
-H "content-type: application/json" \
-d '{"question":"How does authentication work?"}'POST /query returns:
{
"answer": "...",
"sources": [
{ "title": "Authentication", "path": "docs/auth.md" },
{ "title": "auth.ts", "path": "src/auth.ts" }
]
}POST /query/stream streams SSE events:
statusdeltasourcesdoneerror