Production-ready starter: streaming answers with cited sources, pgvector + RLS ready, and an eval harness to prove it doesn't hallucinate. One-time payment, self-hosted, 100% yours.
CiteKit ships with an eval harness — contract, judge, and cases: define questions and expected answers, and measure whether your assistant grounds its replies in your documents. It's the difference between "looks like it works" and "I can prove it works." No other RAG boilerplate ships this out of the box.
Streaming chat with expandable sources. Vector retrieval via pgvector, lexical fallback in demo mode.
Migration ready: documents table, ivfflat index, match_documents() and RLS policies.
Contract + judge + cases to measure quality on your own domain. The differentiator.
Claude + OpenAI-compatible embeddings via fetch. Swap providers without rewriting anything.
Script that chunks, embeds and inserts your .md files. Drop in your docs and go.
Green build and working preview without Supabase or Claude. Try it in a minute.
Drop your documents in content/ and run the ingest script.
Supabase + your Claude API key. Or try it in demo mode without any keys.
Deploy to Vercel (standalone) and run the eval to validate quality.
No. Demo mode runs without Supabase or Claude: lexical retrieval over seed data and answers assembled from the retrieved fragments.
Claude by default (configurable) and embeddings compatible with the OpenAI API. Everything via fetch, no SDKs.
Yes, unlimited personal or client projects. You cannot resell the starter itself. See the license.
It saves you the full pipeline — embeddings, pgvector, retrieval, streaming, citations, RLS — plus the evaluation layer, which almost nobody ships. Pay once and self-host.