Documentation · v0.6

Developer docs.

Install, configure, and ship with Kernora. Everything here is open — fork it, file issues, send PRs. The Factlet protocol spec lives at github.com/factlet-ai/spec.

Install

One command. Auto-detects your IDE, builds a starter factbook from your repo, wires the MCP server. Runs entirely on your machine — no signup, no cloud account, no telemetry.

# macOS · Linux · WSL
curl -fsSL https://kernora.ai/install | sh

Note

Free/Lite tier is local-stdio only — zero bytes leave your machine, verifiable with tcpdump. Pro+ opts in to S3 sync and the hosted MCP relay at mcp.kernora.ai.

First run

Run nora init inside any repo. Nora scans your code, ADRs, tickets, and docs, builds a starter factbook in .nora/, and wires the MCP server to your installed editors.

cd ~/code/payments-api
nora init
→ Scanning repo for ADRs, tickets, conventions...
→ Found 18 candidate facts. Promoting 12 to canonical.
→ Detected editors: Cursor, VS Code, Claude Code.
→ MCP server registered. Restart your editor to activate.
✓ Factbook ready at .nora/factbook.jsonld

Editor integrations

Kernora ships with native integrations for the most common AI-assisted dev environments. Each integration is a thin MCP client — the factbook itself is identical.

EditorIntegrationStatus
Claude Code (CLI)--mcp-config .nora/mcp.jsonLive
CursorSettings → MCP Servers → add KernoraLive
VS Code (Copilot)Extension marketplace ↗Live · v2.7.0
KiroBuilt-in (v0.4+)Live
JetBrainsPlugin marketplaceBeta
ZedNative MCPIn development

Entry shape

Every fact in the factbook is a JSON-LD record. Plain markdown plus a structured index — sitting in .nora/ next to your code.

{
  "@id": "f234",
  "@type": "f:fact",
  "statement": "Stripe webhook handler must be idempotent via the event id.",
  "decided_on": "2026-03-12",
  "source": "docs/adr/018-webhook-idempotency.md",
  "supersedes": ["f009"],
  "applied": 42,
  "accept_rate": 0.94,
  "confidence": "canonical",
  "privacy": "team"
}

Trust ladder

Facts enter the factbook as proposed. The session analyzer promotes them after N applications without contradiction. You approve canonical from the dashboard.

StatePromotion ruleVisible to AI?
proposedJust extracted — awaiting evidenceNo
candidateApplied ≥3× without contradictionYes, with candidate badge
canonicalHuman approval from dashboardYes
supersededReplaced by newer fact, history preservedNo (chain visible)

Emit formats

Same factbook. Five surfaces. Pick the formats you need — Kernora regenerates them on every change.

nora emit --format claude-code
nora emit --format cursor-rules
nora emit --format kiro-steering
nora emit --format copilot-instructions
nora emit --format claude-auto-memory  # NEW · v0.6

Factlet protocol

The factbook is built on the open Factlet protocol. Five elements — f:fact, f:lineage, f:consent, f:confidence, f:emit — wired together with W3C PROV-O for lineage.

Your factbook is portable: an open spec, JSON-LD on disk, vendor-neutral. Switch tools, switch employers, switch models — the factbook moves with you.

MCP tools

Kernora exposes 45 MCP tools. The core read surface works on every tier; mutation tools require Pro for team audit logs.

ToolPurposeTier
nora_lookupQuery facts by topic, tag, or pathFree
nora_citeResolve a citation ID to its source + lineageFree
nora_proposeAdd a candidate fact from session outputFree
nora_supersedeReplace a canonical fact (audit-logged)Pro
nora_consentSet egress tier on a factPro

nora_provenance

Return full PROV-O lineage for any citation. New in v0.6 — the tool that powers the inline citation chip in Nora Pro.

"name": "nora_provenance",
"input": { "fact_id": "f234" },
"output": {
  "statement": "...",
  "lineage": [
    { "role": "derivedFrom", "source": "docs/adr/018.md" },
    { "role": "supersedes",  "target": "f009" },
    { "role": "approvedBy", "agent": "hello@kernora.ai", "at": "2026-03-22" }
  ],
  "confidence": 0.92
}

Team sync (Pro)

Pro adds encrypted S3 sync via the hosted relay at mcp.kernora.ai. Bring your own bucket; Kernora never holds the key. Per-fact egress consent is the default — you approve which facts cross the wire.

Heads up

Free/Lite remains local-stdio only. Sync is a Pro-tier opt-in, audit-logged at the policy level. If you need stronger isolation (BYO KMS, customer-managed VPC), ask us.

Security

BYOK end to end. On-device factbook. Per-fact egress consent. Audit log of every escalation. Built on the open Factlet protocol so you can verify the wire format yourself.

The install script is one line of sh — read it before you pipe it. The MCP server source is on GitHub. Run tcpdump on kernora.ai after install; on Free/Lite you'll see zero packets.

Telemetry

None on Free/Lite. On Nora Pro and Nora Team, telemetry is opt-in per category — crash reports, usage counts, model-routing stats — and listed in the dashboard with a one-click revoke. Nothing is sent without your consent; nothing identifies you by default.

Uninstall

One command:

kernora uninstall

This stops the daemon, removes ~/.kernora/, and unregisters the LaunchAgent.

Your .nora/ folder stays in your git repo — that's your data, you keep it. Re-running kernora install later picks up where you left off, with a fresh ~/.kernora/ cache.