Compare commits

...

1 Commits

Author SHA1 Message Date
xiaomo 145a747433 fix: comprehensive cli.md — all subcommands and flags
Major additions:
- thread: list/show/inspect/kill with all flags
- remote: add/list/show/set-url/set-token/remove/default
- init: --from, --force
- dev/start: --port
- daemon: restart subcommands
- sense/workflow: all flags
- logs: --offset
- store archive: --vacuum
- workspace layout: updated with workflow structure
2026-04-30 00:31:40 +00:00
+56 -16
View File
@@ -5,33 +5,54 @@
## Workspace Lifecycle
```bash
nerve init # scaffold a new workspace (nerve.yaml, senses/, workflows/)
nerve init # scaffold workspace (nerve.yaml, senses/, workflows/)
nerve init --from <git-url> # clone existing workspace from git
nerve init --force # reinitialize (preserves data/)
nerve validate # validate nerve.yaml config
nerve dev # run kernel foreground (development, Ctrl+C to stop)
nerve dev --port 3000 # with HTTP API on specific port
nerve start # start daemon (background)
nerve start --port 3000 # with HTTP API port
nerve stop # stop daemon
nerve status # check daemon health (uptime, senses, workflows)
nerve daemon # restart daemon (stop + start)
nerve daemon restart # stop + start
nerve daemon logs # alias for nerve logs
```
## Sense Management
```bash
nerve create sense <name> # scaffold a new sense (compute.ts + schema.ts)
nerve sense list # list configured senses
nerve create sense <name> --force # overwrite existing
nerve sense list # list configured senses and status
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"
nerve sense schema <name> # print CREATE TABLE statements from sense SQLite
nerve sense schema <name> --json # as JSON array
nerve sense query <name> # inspect sense SQLite database (preview rows)
nerve sense query <name> --json # rows as JSON
```
## Workflow Management
```bash
nerve create workflow <name> # scaffold a new workflow
nerve create workflow <name> --force # overwrite existing
nerve workflow list # list workflow definitions from nerve.yaml
nerve workflow status # show live status (concurrency, active, queued)
nerve workflow trigger <name> --prompt "..." [--max-rounds N] [--dry-run]
nerve workflow list # list configured workflows
nerve thread # list active (queued/started) workflow threads
```
## Thread Management
```bash
nerve thread list # list active (queued/started) workflow runs
nerve thread list --all # include completed/failed/crashed
nerve thread list --workflow <name> # filter by workflow name
nerve thread show <runId> # print role rounds for a run (agent-oriented)
nerve thread show <runId> --before N # limit rounds (pagination)
nerve thread inspect <runId> # show details and thread events
nerve thread inspect <runId> --offset N --limit N # paginate events
nerve thread kill <runId> # kill a running or queued thread
```
## Knowledge
@@ -41,21 +62,30 @@ nerve knowledge sync # chunk files per knowledge.yaml, compute embeddin
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
nerve knowledge query "text" --limit 20 # max hits (default 10)
```
## Logs & Store
```bash
nerve logs # view daemon logs (last 50 lines)
nerve logs -f # follow logs (tail -f style)
nerve logs # show daemon log output (last 50 lines)
nerve logs -n 200 # last N lines
nerve store archive # archive old log entries to JSONL
nerve logs --offset 100 # start from line N (pagination)
nerve logs -f # follow logs (tail -f style)
nerve store archive # archive logs older than 30 days to JSONL
nerve store archive --vacuum # also run SQLite VACUUM after archiving
```
## Remote
## Remote Management
```bash
nerve remote add <name> <url> # add a remote daemon endpoint
nerve remote add <name> <host:port> [--token <token>] # add remote daemon
nerve remote list # list all remotes
nerve remote show <name> # show remote details
nerve remote set-url <name> <host:port> # update remote host
nerve remote set-token <name> <token> # update remote token
nerve remote remove <name> # remove a remote
nerve remote default [<name>] # set or show default remote
nerve status --remote <name> # check remote daemon health
```
@@ -67,12 +97,22 @@ my-agent/
knowledge.yaml # knowledge index config (optional)
senses/
cpu-usage/
compute.ts # sense implementation
schema.ts # Drizzle schema
migrations/ # auto-generated
src/
index.ts # sense compute implementation
schema.ts # Drizzle schema (single source of truth)
migrations/ # auto-generated by drizzle-kit
package.json # with esbuild build script
index.js # bundled output (generated by pnpm build)
workflows/
cleanup/
src/index.ts # workflow definition
build.ts # factory function
moderator.ts # moderator + meta types
roles/ # one file per role
package.json
data/
senses/ # per-sense SQLite databases
archive/ # archived logs (JSONL)
knowledge.db # generated by nerve knowledge sync
.knowledge/ # curated knowledge cards
```