CLI
The Nerva CLI scaffolds projects, generates components, runs a dev server with hot reload, and manages template plugins.
Installation
Install globally:
npm install -g nerva-cliOr run without installing:
npx nerva <command>Commands
| Command | Alias | Description |
|---|---|---|
nerva new <name> | Create a new Nerva project | |
nerva generate <type> <name> | nerva g | Generate a component (agent, tool, middleware, router) |
nerva dev | Start dev server with hot reload | |
nerva test | Run tests using the language-appropriate runner | |
nerva list | nerva ls | List all registered components |
nerva plugin install <source> | Install a template plugin | |
nerva plugin list | nerva plugin ls | List installed plugins |
nerva plugin remove <name> | Remove an installed plugin |
Project structure
Every Nerva project has a nerva.yaml at its root that declares the project name, language, and registered components:
name: my-agentversion: 0.1.0lang: pythonagents: []tools: []middleware: []routers: []The CLI reads and writes this file automatically when generating components or listing them.
Language support
The CLI supports two project languages:
- Python — uses
pytestfor testing, flat directory layout (agents/,tools/,middleware/) - TypeScript — uses
vitestfor testing,src/prefix layout (src/agents/,src/tools/,src/middleware/)