nerva new
Create a new Nerva project with language-specific scaffolding.
Usage
nerva new <name> [--lang python|typescript]Options
| Flag | Default | Description |
|---|---|---|
-l, --lang <language> | python | Project language: python or typescript |
What it creates
Python project
my-agent/ nerva.yaml main.py requirements.txt agents/ tools/ memory/ middleware/ tests/- main.py — entry point that loads
nerva.yamland starts the Runtime - requirements.txt — includes
nerva>=0.1.0 - nerva.yaml — project configuration with empty component lists
TypeScript project
my-agent/ nerva.yaml package.json tsconfig.json src/ index.ts agents/ tools/ memory/ middleware/ tests/- src/index.ts — entry point that loads
nerva.yamland starts the Runtime - package.json — includes
nervaas a dependency,vitestfor testing,tscfor building - tsconfig.json — strict mode, ES2022 target, node16 module resolution
- nerva.yaml — project configuration with empty component lists
nerva.yaml
The generated config file:
name: my-agentversion: 0.1.0lang: pythonagents: []tools: []middleware: []routers: []This file is the source of truth for the CLI. Commands like nerva generate and nerva list read and update it automatically.
Examples
# Python project (default)nerva new my-agent
# TypeScript projectnerva new my-agent --lang typescript
# Using npxnpx nerva new my-agent --lang python