Code intelligence that never leaves your machine Local-first · private by design

Kenning indexes every repository you give it into a fast, always-current knowledge graph — searchable by you, your team, and your AI. No cloud round-trip, no API key, nothing uploaded, ever.

Install Kenning Homebrew
$brew tap kenninglabs/kenning
$brew install kenning
$brew install --cask kenning-ide

The app isn't notarized yet, so macOS blocks first launch. Clear it with xattr -dr com.apple.quarantine /Applications/Kenning.app, or allow it via System Settings → Privacy & Security → "Open Anyway".

No cloudRuns offlineNo telemetry
kenning · your workspace Ready Up to date
98%
answers backed directly by your own code
RepositoryFilesCoverage
frontend1,204
backend2,010
shared860

Nothing ever leaves.

Your source code, your questions, your answers — all of it stays on the machine it ran on.

No waiting around.

The index is already warm in memory, so a question about any part of your codebase comes back in milliseconds.

Grounded in your code.

Every answer traces back to a real line in a real file, re-checked as you keep editing — not a guess.

However you work.

Terminal, browser, native app, or wired straight into your AI assistant — same index, your pick.

01 Explore

See how everything connects.

One search box covers every repository you've added. Jump straight to the symbol, file, or answer you need, and watch the graph of your whole project redraw itself as you build.

  • Find anything across every repo, instantly
  • See how your code connects, visually
  • Stays up to date automatically as you work
02 Built for speed

Optimised to feel instant.

A tool you have to wait for is a tool you stop reaching for. Kenning is built to disappear — light enough to run constantly, fast enough that you never notice it's there.

Seconds

To understand a large workspace

Point Kenning at your repositories and it's ready in seconds, not minutes.

< 2s

To pick up your changes

Edits are reflected almost immediately, so answers always match what's on disk.

One app

Lightweight, no clutter

A single fast application — nothing to provision, nothing running in the cloud.

Grep + open files

Without Kenning

An agent re-reads whole files to find what it needs — cost scales with every file it opens, every single time, even for the same question asked twice.

One graph lookup

With Kenning

Retrieval returns just the answer-sized slice off the precomputed graph. kenning status tracks real tokens saved against that same baseline, live per session — sessions have measured up to 76% fewer tokens per query.

03 One workspace

Everything you need, in one place.

Search, memory, docs, and health monitoring are usually four different tools with four different logins. Here they're four panels of the same local index.

Graph

See your whole codebase as a living, explorable map — and find how anything connects.

Memory

Capture the decisions and context behind your code, so your team can search them later.

Wiki

Always-current documentation for every repository, generated straight from your code.

Dashboard

Track index health and coverage across every repository at a glance, always up to date.

Also available as a web UI.

Prefer a browser tab to a dock? The same running index answers at 127.0.0.1:8082 — plain server-rendered HTML, bound to localhost only, no sign-in, no framework to load.

Route What it's for
/system Daemon health — per-repo node/edge counts, live index progress, reset buttons.
/search The same symbol/literal search as `kenning search`, as a form.
/memory Browse stored memories, filterable by text and tag.
/wiki The auto-generated, evidence-gated wiki for each repository.
/graph Interactive WebGL graph — hover a symbol's neighborhood, click for details.
127.0.0.1:8082
System
Search
Memory
Wiki
Graph
// per-repo index health frontend  ████████░░ 92% backend   ██████████ 100% shared    ███████░░░ 78% daemon idle · 24 MB RSS
04 Native app

A full editor, built in.

The graph isn't bolted onto a browser tab — it lives inside a real native editor, with a terminal, a command palette, and a file tree that all already know what the index knows.

  • Code editor with syntax highlighting
  • Integrated terminal & command palette
  • Jump to any file, symbol, or answer instantly
kenning — answer.rs
src/
answer.rs
index.rs
graph.rs
wiki.rs
// answers, backed by your code fn answer(q: &str) -> Reply {     let hits = index.search(q);     let r = verify(hits, "local");     r.reply() }
For AI agents MCP-native

Your AI assistant, without the re-reading.

A fresh agent session starts from zero every time, re-opening files it already figured out last week. Point it at Kenning's standing index instead — its tokens go toward your problem, not toward rediscovering your codebase from scratch.

Ask

One question, one ranked answer — drawn from code, docs, and memory together.

Explore

Callers, callees, and blast radius for any symbol — without opening a single file.

Search code

Structured code search across every repository, returned as precise matches.

Recall

Past decisions and context, remembered across sessions — explained exactly once.

Cold, per-call

Generic filesystem MCP

A raw read-file/grep-over-MCP tool still opens whole files fresh on every call — same token cost as an agent doing it manually, just wrapped in a protocol.

Warm, in-memory

Kenning's MCP

The daemon holds the graph in memory across calls, so ask/explore/recall answer from a live index — no cold start, no re-reading, the same warm graph the CLI and desktop app use.

  • Agent governance — instructions_*/tools_*/skills_* sync one shared catalog to every agent, instead of per-developer config.
  • No black-box answers — trace_submit rejects any claim that doesn't independently grep-verify against the real file.
Plans

Simple plans. Everything runs local.

Every plan runs built-in local AI on your own machine — no cloud, no API keys, nothing ever uploaded. Free works out of the box for individuals. Cloud adds team features — shared knowledge, SSO, unlimited scale — deployed in your own infrastructure.

Free
₹0 / forever

For individuals getting started.

  • Index & search all your repositories
  • Explore your codebase visually
  • Always-accurate answers & knowledge
  • Built-in local AI — runs on your machine
  • Up to 50 repos, 1 hub
See install instructions

All plans run entirely on your own machine — local AI included, nothing ever uploaded.

Docs

Every command, one binary.

Every command accepts --hub <path> to target a hub other than the one auto-resolved from your current directory; most also accept --json for machine-readable output.

Setup & account
Command What it's for
kenning login [provider] Optional sign-in (GitHub or Google) — unlocks Cloud tier and keeps your tokens-saved history across reinstalls. Free tier works without it.
kenning logout Clears the signed-in identity everywhere — CLI and desktop app together.
kenning init [--force] Scaffolds a multi-repo hub: config, local state, and clones any repos declared in it.
kenning repo add <path-or-git-url> [--name] Register another repo into a hub, cloning it first if you passed a URL.
kenning repo delete <name> Remove a repo's checkout from disk and untrack it from the hub.
kenning up [--fresh-wiki] Indexes every repo in the hub and starts the background daemon.
Search & retrieval
Command What it's for
kenning search <query> [--repo] [--limit] Find a symbol or string literal by name across the whole hub.
kenning explore <symbol> [--repo] [--max-files] See a symbol's neighborhood: callers, callees, blast radius.
kenning ask <query> [--repo] [--limit] One call that runs both recall (docs/memory) and search_code (code).
kenning recall <query> [--repo] [--limit] Full-text search over your docs, memories, and verified traces.
kenning status Per-repo index health, plus a running tokens-saved count.
Keeping the index current
Command What it's for
kenning sync [--repo] Force an incremental re-index — the daemon already does this automatically on save.
kenning sync --repo <name> --reset Wipe and rebuild one repo's graph from scratch.
Knowledge: memory, traces & wiki
Command What it's for
kenning memory-store "<content>" --type --tags Save a typed, tagged memory — a decision, a bug's root cause, a convention.
kenning memory ingest [--repo] Bulk-load memory.md files into the searchable store (rows + FTS + embeddings).
kenning memory check [--repo] Report-only: memories with no backing file, or file sections not yet ingested.
kenning trace-submit <trace.json> Submit a structured trace of how something was verified — fail-closed.
kenning wiki bootstrap <repo> Generate the initial wiki page skeleton for a repo, from its index.
kenning wiki get <repo> [--slug] Fetch a wiki page, generating a skeleton first if it doesn't exist yet.
Advanced & manual control
Command What it's for
kenning index [--repo] [--jobs] The raw indexing step alone, without registering the hub or a daemon.
kenning serve --port 8082 The same daemon `up` starts, run in the foreground for debugging.
kenning audit [--strict] [--quiet] Hub hygiene lint — naming, dangling links, staleness. Built as a CI gate.
kenning migrate [--knowledge] [--yes] One-time import from mcp-memory-service or existing knowledge/ docs.
MCP — Claude Code or any MCP client
$ claude mcp add kenning -- kenning mcp
Transport What it's for
kenning mcp (stdio) One process per agent connection — 20 tools, including memory_store, trace_submit, and wiki_get.
Daemon /mcp (HTTP) One always-on endpoint shared across multiple agent connections — 17 tools, warm index already in memory.

Full reference: kenning --help / kenning <command> --help.

Get started

Contact us.

Free works out of the box — see install instructions above. Cloud is sales-led for now: leave your details and we'll reach out.


Prefer email? Send us a note. We never share your details.

Account

My account.