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
tuanzi 5db80c99a0 feat(cli): nerve agent inject cursor — generate .cursorrules
Phase 4 of #289:
- Add cursor target to nerve agent inject/remove/status
- Generate .cursorrules from latest SKILL.md content (aligned with PR #301):
  - Parameterless SenseComputeFn compute signature
  - createRole four-tuple for LLM integration
  - Flat roles/<role>.ts layout
  - Sense persistence pitfall
  - nerve agent CLI docs including cursor commands
- Cursor-specific tips (@file, @Folder, @Terminal references)
- Version tracking via .nerve-version + HTML comment
- --path flag for cursor (project-local, not global like hermes)

Closes #299
Ref: #289
2026-04-30 14:38:19 +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