nn capture --title TEXT [--content TEXT] [--type TYPE] | Capture raw material as draft observation |
nn suggest-links <id> [--limit N] [--format json] | Format BM25-ranked candidate links for LLM suggestion |
nn review [--format json] | Notebook health report: growth, connectivity, dead-ends, drafts |
nn gap <topic> [--limit N] [--depth N] [--format json] | Topic + neighborhood context for LLM gap analysis |
nn index <topic> [--limit N] [--format json] | Topic notes grouped by cluster for Map of Content creation |
nn new | Create a note |
nn show <id> | Read a note |
| `nn list [--search TEXT] [--sort modified | title |
nn show --global | Show all global protocol notes (type:protocol, no governs links) with derivation instruction |
nn list --global [--json] | List global protocol note IDs/titles |
nn link <from> <to> --annotation "..." --type TYPE | Add a link |
nn bulk-link <from> --to <id> --annotation "..." --type TYPE ... | Add multiple links (1 commit) |
nn unlink <from> <to> [--type TYPE] | Remove a link; --type scopes to one edge type, omit to remove all edges between the pair |
nn graph --json | Export link graph |
nn status [--json] [--hubs N] | Notebook health: orphans, drafts, broken links, draft links, long notes, hub notes |
nn links <id> [--type TYPE] [--status draft|reviewed] [--json] | Outgoing links; filter by type or status |
nn backlinks <id> [--type TYPE] [--json] | Notes that link TO this note (inbound links) |
nn update-link <from> <to> [--annotation "..."] [--type TYPE] [--status reviewed] | Update link metadata; use --status reviewed to endorse a draft link |
nn bulk-update-link <from> --to <id> [--type TYPE] [--annotation "..."] [--status reviewed] ... | Update multiple links (1 commit) |
nn list --long [--json] | Notes exceeding atomicity threshold |
nn list --similar <id> [--limit N] [--json] | Notes ranked by BM25 similarity to a given note (excludes source) |
nn random [--status STATUS] [--tag TAG] [--json] | Random note, optionally filtered |
nn show <id> --depth N [--json] | Note + all reachable notes within N hops (BFS, outgoing links) |
nn path <id-a> <id-b> [--json] | Shortest undirected path between two notes |
nn clusters [--min N] [--singletons] [--json] | Topological clusters via label propagation |
nn ast <file> [--trace] [--root DIR] [--json] | Structural outline of a source file; --trace finds references to all symbols |
nn new --from-stdin | Create note with body from stdin |
nn new --from-file PATH | Create note scaffolded from ast outline of a source file |
nn update <id-or-title> --content "..." --no-edit | Replace note body (title substring accepted) |
nn update <id-or-title> --stdin --no-edit | Replace body from stdin (heredoc-safe) |
nn update <id-or-title> --replace-section "Heading" --content "..." --no-edit | Replace one ## Heading section |
nn update <id-or-title> --append "..." --no-edit | Append to note body |
nn update <id-or-title> --title "..." --no-edit | Rename note |
nn update <id-or-title> --type TYPE --no-edit | Change note type |
nn update <id-or-title> --status draft|reviewed|permanent --no-edit | Set status directly (including demotion) |
nn update <id-or-title> --tags-add TAG --tags-remove TAG --no-edit | Additive/subtractive tag ops |
nn promote <id-or-title> --to reviewed | Advance review status (forward-only); errors on concurrent modification conflict |
nn delete <id-or-title> --confirm | Delete a note |