Skip to content
nerva docs v0.2.1

CLI

The Nerva CLI scaffolds projects, generates components, runs a dev server with hot reload, and manages template plugins.

Installation

Install globally:

Terminal window
npm install -g nerva-cli

Or run without installing:

Terminal window
npx nerva <command>

Commands

CommandAliasDescription
nerva new <name>Create a new Nerva project
nerva generate <type> <name>nerva gGenerate a component (agent, tool, middleware, router)
nerva devStart dev server with hot reload
nerva testRun tests using the language-appropriate runner
nerva listnerva lsList all registered components
nerva plugin install <source>Install a template plugin
nerva plugin listnerva plugin lsList 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-agent
version: 0.1.0
lang: python
agents: []
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 pytest for testing, flat directory layout (agents/, tools/, middleware/)
  • TypeScript — uses vitest for testing, src/ prefix layout (src/agents/, src/tools/, src/middleware/)