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), or a unique title
(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 |
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) |
kura edit <ref> |
Open in $EDITOR; 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 mv suggest |
Propose paths for unfiled documents from links/tags/search signals (plus the LLM when available); --apply, --json |
kura ls |
List documents; --tag, --bucket, --prefix, --sort, --stale |
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 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 |
Manage buckets |
kura tag ls |
List tags; --tree for the hierarchy |
kura tag suggest |
LLM tag suggestions; --untagged, --apply (reuses your taxonomy) |
kura tag audit |
Merge candidates for similar tags; oversized-tag warnings |
kura link ls <ref> |
Outlinks, backlinks, and 2-hop links for a document |
kura link broken |
List unresolved wiki links |
| 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 |
| 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.