KIRA

Quick start

KIRA reads your source code and writes down what it means for the people who use your product. Those notes become a knowledge base, and the knowledge base answers questions.

Five minutes end to end. No database, no vector store, no second API key.

Install

npm install -g askkira
export ANTHROPIC_API_KEY=sk-ant-…

The SDK also accepts ANTHROPIC_AUTH_TOKEN, or a profile from ant auth login — you do not have to use a raw key.

Note

If a proxy sets ANTHROPIC_BASE_URL, remember the SDK appends /v1/messages to it. A base URL that already ends in /v1 returns 404 on every call.

1. See what it proposes

cd your-project
kira init --dry-run

Writes nothing. Prints one row per proposed area with the route it derived from your router, so you can judge the map before anything is generated:

routes found under: src/app

domains          end_user   /project/:id/domains   src/app/project/[id]/domains
billing          end_user   /billing               src/app/billing
login            end_user   /login                 src/app/login

2. Write the config, then edit it

kira init
$EDITOR .kira/config.yaml
Important

This is the ten minutes that matter. The area map is the highest-value human input in the whole system. Merge what belongs together, delete what has nothing user-facing, and give each area a name your users would recognise. See Areas.

3. Extract

kira extract
› domains — 6 files, 2 batch(es), end_user
›   batch 1/2 → 12 fact(s)
›   batch 2/2 → 9 fact(s)
✓ domains — 21 fact(s) written

Facts land in .knowledge/ as one markdown file each. Commit them — the pull request is where a human approves what a customer will eventually read.

Extraction is a batch job, not an interactive one: expect minutes per area, and re-runs skip every area whose sources have not changed.

4. Ask

kira ask "how do I connect a domain I already own?"

The answer streams to stdout and everything else to stderr, so this gives you just the answer:

kira ask "…" 2>/dev/null

Pass the reader's context when you have it — the screen they are on, and what they are entitled to:

kira ask "how do I remove this?" --route /project/42/domains --plan free

5. Keep it honest

kira status
Area       Files  Facts  Bound.  Route  State
─────────  ─────  ─────  ──────  ─────  ───────────
domains        6     21       3     21  fresh
billing        4     12       2     12  stale
─────────  ─────  ─────  ──────  ─────  ───────────
TOTAL         10     33       5     33

stale means the sources changed since the facts were written. Wire kira extract into CI on merge and the drift stays visible instead of silent.

Where to go next