kura <command> [options]. Run kura --help for the command list and
kura <command> --help for a command’s flags.
--json — every read command can emit machine-readable JSON
instead of formatted text. Handy for scripts and consumed by the
MCP server.
- Document references — commands that take a document accept a doc
key, a
#key, a full path (db/sqlite/Notes), a unique title, or a
unique alias (e.g. kura get "Today's note" or kura get #a1b2c3).
NO_COLOR — set it to disable colored output.
- Data location —
KURA_HOME overrides the data directory
(default ~/.kura); KURA_DB overrides the database file.
| Command |
What it does |
kura init |
Create ~/.kura, download the tokenizer, create the DB |
kura doctor |
Diagnose SQLite, extensions, LLM providers, DB integrity |
kura doctor --fix |
Repair the index, GC orphans, re-resolve links, detect embedding-model changes |
kura status |
Store statistics: counts, embedding coverage, stale candidates, triage backlog |
kura config list|get|set |
Read and write ~/.kura/config.toml |
| Command |
What it does |
kura add <file> |
Add a document; - reads stdin; --path, --tags, --title, --bucket |
kura get <ref> |
Print a document (Markdown or --json); --as-of 2026-03-01 shows it as it was then |
kura edit <ref> |
Open in your editor (general.editor → $EDITOR → vi); frontmatter edits title, path, and tags too |
kura rm <ref> |
Delete a document |
kura mv <ref> [<title>] |
Rename and/or move (--path); rewrites wiki links. --prefix <old> <new> moves a whole subtree |
kura ls |
List documents; --tag, --bucket, --prefix, --sort, --stale, --unfiled, --untagged |
kura history <ref> |
List a document’s revisions — every edit keeps the replaced version. show <ref> <rN> prints one; restore <ref> <rN> brings its content back (and is itself undoable) |
kura changes --since <t> |
List documents created or updated since a time (7d, 2026-07-01); renames and moves are detected from revision history |
kura clip <url> |
Capture a web page, cleaned up by the LLM; filed under clip.path (default clips) |
kura export --dir <d> |
Write documents as Markdown with frontmatter; paths become subdirectories |
kura import <dir> |
Round-trip via kura_key (update or create); subdirectories become document paths |
| Command |
Mode |
Notes |
kura search <q> |
Keyword |
FTS5 BM25; always available; < 100 ms |
kura vsearch <q> |
Semantic |
Vector KNN over local embeddings |
kura query <q> |
Hybrid |
Fuse keyword + vector, then local-LLM rerank |
kura ask <question> |
Answer |
Answer the question from the top hits, citing sources as [1], [2], … |
kura embed |
— |
(Re)generate embeddings for documents missing them |
See Search for how the modes differ and their
degraded behavior without an LLM provider.
| Command |
What it does |
kura bucket ls|add|rm|mv |
Manage buckets (mv renames) |
kura tag ls |
List tags; --tree for the hierarchy |
kura tag add|rm <doc> <tag>… |
Add or remove tags on a document |
kura tag mv <old> <new> |
Rename or merge a tag subtree |
kura tag gc |
Remove tags no document uses |
kura link ls <ref> |
Outlinks, backlinks, and 2-hop links for a document |
kura alias ls|add|rm <doc> <alias>… |
Manage aliases (alternate titles): [[alias]] links resolve to the document and search matches it |
kura triage |
Organize the backlog (unfiled or untagged documents): per document, propose duplicate merges, a title, tags, a path, and related [[links]]. --apply, --json, --steps. The “dump first, organize later” workflow |
kura audit [contradictions|dupes|tags|links] |
Knowledge-base health checks. Bare runs all four report-only; dupes / tags take --apply; contradictions needs an LLM (exit 4). Each takes --json |
| Command |
What it does |
kura browser |
Serve the browser UI at http://127.0.0.1:7578 |
kura mcp |
Run the MCP server on stdio for AI agents |
kura mcp --print-config |
Print an .mcp.json snippet |
kura skills install |
Install the kura-cli agent skill (a CLI guide for AI agents) into ~/.agents/skills (--dir overrides) |
kura skills show |
Print the skill to stdout; kura skills uninstall removes it |
| Code |
Meaning |
0 |
Success |
1 |
Error (including conflicts, e.g. a unique-constraint violation) |
2 |
Usage error (bad arguments) |
3 |
Not found (no such document) |
4 |
LLM provider unavailable |
Scripts can rely on these: exit 4 specifically means “the feature
needs a model and none was reachable”, distinct from a genuine error.