9c832b0e21
7 cards updated, 4 new cards added. Topics: signal-routing, worker-isolation, storage-layer, adapter-isolation, sense contracts, workflow runtime enforcement, coding conventions details. 小橘 <xiaoju@shazhou.work>
3.4 KiB
3.4 KiB
Nerve CLI
nerve — CLI entry point for nerve workspace management.
Workspace Lifecycle
nerve init # scaffold a new workspace (nerve.yaml, senses/, workflows/)
nerve init --force # reinitialize workspace even if ~/.uncaged-nerve/ exists (preserves data/)
nerve init --from <git-url> # clone existing workspace from git repository
nerve validate # validate nerve.yaml config
nerve dev # run kernel foreground (development, Ctrl+C to stop)
nerve start # start daemon (background)
nerve stop # stop daemon
nerve status # check daemon health (uptime, senses, workflows)
nerve daemon # restart daemon (stop + start)
Init Behavior
Default nerve init: Creates workspace at ~/.uncaged-nerve/. If this directory already exists and is non-empty, exits with error requiring --force flag. No merge/overwrite logic — prevents accidental workspace destruction.
Force mode nerve init --force: Reinitializes workspace even if ~/.uncaged-nerve/ exists. Preserves data/ directory (containing sense SQLite databases and logs) but overwrites all config files (nerve.yaml, package.json, etc.) and example senses.
Git clone nerve init --from <url>: Clones existing repository to ~/.uncaged-nerve/. Requires empty target directory — fails if workspace already exists and is non-empty.
Sense Management
nerve create sense <name> # scaffold a new sense (compute.ts + schema.ts)
nerve sense list # list configured senses
nerve sense trigger <name> # manually trigger a sense compute
nerve sense schema <name> # show sense Drizzle schema
nerve sense query <name> # inspect sense SQLite database
nerve sense query <name> --sql "SELECT * FROM samples LIMIT 5"
Workflow Management
nerve create workflow <name> # scaffold a new workflow
nerve workflow trigger <name> --prompt "..." [--max-rounds N] [--dry-run]
nerve workflow list # list configured workflows
nerve thread # list active (queued/started) workflow threads
Knowledge
nerve knowledge sync # chunk files per knowledge.yaml, compute embeddings → knowledge.db
nerve knowledge query "text" # search indexed knowledge (cosine similarity)
nerve knowledge query -g "text" # global search across all indexed repos
nerve knowledge query --repo /path "text" # search specific repo
Logs & Store
nerve logs # view daemon logs (last 50 lines)
nerve logs -f # follow logs (tail -f style)
nerve logs -n 200 # last N lines
nerve store archive # archive old log entries to JSONL
Remote
nerve remote add <name> <url> # add a remote daemon endpoint
nerve status --remote <name> # check remote daemon health
Workspace Layout
my-agent/
nerve.yaml # senses, workflows, extract config
knowledge.yaml # knowledge index config (optional)
senses/
cpu-usage/
compute.ts # sense implementation
schema.ts # Drizzle schema
migrations/ # auto-generated
workflows/
cleanup/
src/index.ts # workflow definition
knowledge.db # generated by nerve knowledge sync
.knowledge/ # curated knowledge cards