nerva dev & nerva test
nerva dev and nerva test are local development helpers. They do not start a server — Nerva is a library, and your HTTP layer belongs to your framework.
nerva dev
Start an interactive REPL that loads your nerva.yaml, discovers agents, tools, and middleware, and lets you send messages to your orchestrator from the terminal.
nerva devWhat it does:
- Loads
nerva.yamland registers all components - Watches
agents/,tools/, andmiddleware/for file changes and auto-reloads - Opens an interactive prompt where you type messages and see agent responses
- Records traces for every request and displays them inline
Trace output
Every request produces a trace tree printed below the response:
[req_abc] handle "What's the weather in Berlin?" (52ms) +-- [req_abc.1] router.classify (1ms) +-- [req_abc.2] runtime.invoke weather_agent (48ms) | +-- [req_abc.2.1] tools.call get_weather (45ms) +-- [req_abc.3] responder.format (1ms)Color coding: agents (purple), tools (blue), middleware (gold), router (orange), system (cyan).
nerva test
Run your project’s test suite with automatic language detection.
nerva test [--coverage]The test command reads nerva.yaml to detect the project language and runs the appropriate runner:
| Language | Runner | Command |
|---|---|---|
| Python | pytest | python -m pytest |
| TypeScript | vitest | npx vitest run |
Add --coverage to enable coverage reporting.
Examples
# Interactive development REPLnerva dev
# Run testsnerva test
# Run tests with coveragenerva test --coverage