Karajan family
kaRAGan
Point it at your code, docs or data. Get a queryable RAG in five minutes — with guarantees.
Local-first · zero runtime dependencies · three context strategies (rag / cag / hybrid) · your content never reaches a provider the sensitivity policy forbids
Paste it into your AI agent (Claude Code, Codex, Cursor). It checks your machine, installs what is missing, asks YOU the sensitivity question, and stops to wait for you whenever a step needs your permission.
Prefer the terminal? curl -fsSL https://rag.karajancode.com/install.sh | sh on Linux/macOS · irm https://rag.karajancode.com/install.ps1 | iex on Windows.
The gate, live
Your corpus decides which AI is allowed to answer
Not a docs promise — it’s enforced in code. The green above is the only green on this page.
The engine
One corpus, three context strategies
The core decision of any retrieval system is what context travels to the model. kaRAGan doesn’t impose one answer — pick per query, same guarantees in all three.
--mode rag
Top-k chunks from hybrid retrieval (vector + BM25)
Large corpus, surgical questions. The default.
--mode cag
The whole corpus, as a deterministic, stable context — provider prompt-cache friendly
Corpus fits the window, questions need the full picture. Never silently truncated: it fits or it fails loud.
--mode hybrid
Whole files selected by retrieval — exclusions declared, never hidden
Chunks fall short but the corpus won’t fit. Retrieval picks, files travel whole.
Independently reviewed — rejections included
The sensitivity policy and PII redactor went through three hostile review passes by a rival AI model. The first two verdicts were REJECTED — and every finding was fixed before 1.0.
All three reports are published verbatim, rejections and all: read the audit trail →
Want to know more?
- One command per stage —
init,index,query,serve,eval,doctor. Incremental reindex, hybrid retrieval (vector + BM25),file:linecitations. RAG in 5 minutes → - Serve it anywhere — MCP server for Claude Code and agents, HTTP API with a built-in web playground to try rag/cag/hybrid from the browser (
serve --http), or embed it withcreateRag()in Astro, Next or Fastify. Same RagService underneath. - Sensitivity-first — declare
public/internal/confidentialper corpus or path prefix; the policy routes every LLM call and the PII redactor runs in depth. Sensitivity, in depth → - To the cloud when you say so — one Terraform module deploys Cloud Run + pgvector + Secret Manager, private by default. Container and GCP →
- 500+ tests. Stable 1.0 API. Open source (AGPL-3.0). See the repo →