This repository has been archived on 2026-06-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nerve/packages/cli
xiaoju a1dda1d731 feat(daemon,cli): RFC-003 Phase 5 — Integration (hot-reload + validate)
- Kernel: rebuild AgentRegistry on config hot-reload, log agent_registry_reload
- Running threads unaffected, new threads use rebuilt registry
- nerve validate: check agent name refs in WorkflowSpec source files
- nerve validate: verify adapter type is known (KNOWN_AGENT_ADAPTER_IDS)
- nerve validate: require extract config when WorkflowSpec agent refs exist
- Tests: kernel reload (mock), validate (missing/valid/extract/adapter)

Closes #239
Ref: #234
2026-04-29 05:23:59 +00:00
..

@uncaged/nerve-cli

Command-line interface for the nerve observation engine.

Install

pnpm add -g @uncaged/nerve-cli
# or
npx @uncaged/nerve-cli

Requires Node.js ≥ 22.5.

Commands

Workspace

nerve init                  # Initialize a nerve workspace (installs deps, scaffolds config)
nerve validate              # Validate nerve.yaml configuration

Daemon management

nerve daemon start          # Start the daemon (background)
nerve daemon stop           # Stop the daemon
nerve daemon status         # Show pid, uptime, sense names from nerve.yaml (process must exist)
nerve daemon restart        # Stop then start
nerve daemon logs           # Tail daemon process logs (file under workspace logs/)

Development

nerve dev                   # Foreground kernel with file watcher + IPC (Ctrl+C stops)

Querying & status

nerve logs                  # Tail or page the daemon text log file (path in footer; default ~/.uncaged-nerve/logs/nerve.log)
nerve status                # Short daemon health summary (aliases daemon status)

Structured rows in data/logs.db are surfaced via nerve workflow inspect / nerve workflow list (and LogStore in code), not via nerve logs.

Sense

nerve sense list            # List senses (live fields from daemon IPC when running)
nerve sense trigger <name>  # IPC trigger-sense — queue a compute for that sense
nerve sense query <name>    # Read-only SQL on data/senses/<name>.db (optional SQL args)
nerve sense schema <name>   # Print CREATE TABLE statements for that sense DB

Store maintenance

nerve store archive         # Move old log rows to JSONL under data/archive/logs/… (optional --vacuum)

Workflows

nerve workflow list         # Queued/started runs (add --all for terminal states; --workflow, --limit, --offset)
nerve workflow inspect <runId>   # Run metadata + paginated workflow log lines
nerve workflow thread <runId>    # Role rounds from persisted messages (--before, --budget)
nerve workflow trigger <name>    # IPC trigger-workflow (daemon must be running)
                                   # Optional JSON: --payload '{"prompt":"…","maxRounds":50}'

nerve workflow trigger sends a trigger-workflow line on the daemon Unix socket (same protocol as @uncaged/nerve-core / parseDaemonIpcRequest). It does not read nerve.yaml workflow definitions beyond what the running daemon already loaded.

Top-level aliases

nerve start    → nerve daemon start
nerve stop     → nerve daemon stop
nerve status   → nerve daemon status
nerve logs     → nerve daemon logs

License

MIT