Invisible engineering infrastructure for opencode agents.
Project description
█████████████████████████████████████████████████████████
██ ██ ███████ ████████ ██ ██
███ ██ ██ ██ ██ ██ ██ ██
████ ██ ██ ██ ██ ██ ██
██ ██ ██ ███████ ████████ ██ ██
██ ████ ██ ██ ██ ██ ██
██ ███ ██ ██ ██ ██ ██ ██
██ ██ ███████ ██ ██ ███
Because an angel without a harness is unmanageable.
And a harness without an angel is just expensive metal.
█████████████████████████████████████████████████████████
n3rv is an open-source engineering harness designed to contain, restrain, and orchestrate Large Language Models (LLMs). Instead of treating agents as independent chatbots, N3RV builds a rigid operational framework — handling tools, dual-store memory, and real-time project context injection. Integrates natively with opencode via MCP servers, agent skills, slash commands, and sub-agents.
Architecture • SDD Workflow • MCP Tools • Deployment • Evangelion • Security • Contributing
⚡ Core Architecture
The base model is the Angel: raw, uncontained, and unpredictable. N3RV is the restraint harness that binds it to your local development environment.
- MAGI Consensus Architecture: Dual-layer memory routing utilizing ChromaDB for semantic long-term retrieval and SQLite for rigid ACID-compliant session state tracking (verdicts, relations).
- LCL Project Injection: Automatic parsing of environment manifests (
pyproject.toml,package.json). The agent "breathes" your project architecture from session one. - 14 Synchronized Agent Skills (The EVAs): Specialized skill files for distinct phases of the software development lifecycle — code, testing, commits, GitHub ops, git ops, SDD (explore → propose → spec → design → tasks → apply → verify → archive), judgment-day review.
- 10 Sub-Agents: Dedicated agent configs for each SDD phase + git-ops + github-ops, isolated by responsibility.
- MCP Protocol Integration: 5 native MCP servers — n3rv-memory (semantic + relational memory), n3rv-hub (A2A task delegation), GitHub wrapper, Context7 contextual search, sequential-thinking.
🚀 Synchronization Sequence
Initialize the harness inside your local repository:
uv tool install git+https://github.com/juanmanueldaza/n3rv.git
cd your-project
n3rv init
Or run without installing:
uvx --from git+https://github.com/juanmanueldaza/n3rv.git n3rv init
n3rv init provisions your workspace with:
📂 Project root
├── 📄 AGENTS.md # Coding standards with LCL-injected project context
├── 📄 opencode.json # opencode config: MCP servers, agents, instructions
├── 📄 CONTRIBUTING.md
├── 📄 SECURITY.md
├── 📂 .opencode/
│ ├── 📂 skills/ # 14 skills (code, testing, commits, SDD phases, etc.)
│ ├── 📂 agents/ # 10 sub-agents (SDD phases + git-ops + github-ops)
│ ├── 📂 commands/ # 4 slash commands (sdd-new, judgment-day, review, handoff)
│ ├── 📂 plugins/ # lifecycle & shell-env plugins
│ └── 📂 scripts/ # MCP wrapper scripts
├── 📂 .n3rv/
│ ├── 📄 a2a-config.yaml # Agent-to-Agent hub configuration
│ ├── 📄 skill-registry.md # Auto-generated skill index
│ ├── 📂 memory/ # ChromaDB + SQLite (MAGI storage)
│ └── 📂 systemd/ # Background service unit
└── 📂 .githooks/
└── 📄 pre-push # Git pre-push hook
🛠️ Usage
n3rv init [--stack python|node|go|generic] [--force]
n3rv update [--dry-run] [--force-commands]
n3rv hub start # foreground A2A hub (development)
n3rv daemon install|start|stop|status|enable|logs # background service
n3rv memory list|search|prune|stats # MAGI memory operations
MCP Servers (auto-configured in opencode.json)
| Server | Purpose |
|---|---|
n3rv-memory |
ChromaDB + SQLite dual-store memory |
n3rv-hub |
A2A task delegation (JSON-RPC 2.0) |
github |
GitHub API via MCP |
context7 |
Contextual search across codebase |
sequential-thinking |
Chain-of-thought reasoning |
🧠 Memory: The MAGI
Dual-store persistent memory:
- ChromaDB — Vector embeddings for semantic long-term recall
- SQLite — Relations between memories (judgments, revisions, verdicts)
Memory types: architecture, bugfix, config, decision, discovery, learning, pattern, context, summary, note.
Scopes: project (shared), session (current), personal (agent-specific).
📋 SDD Workflow
8-phase Spec-Driven Development pipeline, started via /sdd-new <change>:
explore → propose → spec → design → tasks → apply → verify → archive
Each phase is a dedicated skill + sub-agent. Phases write to persistent memory with topic_key: sdd-<change_id>-<phase>.
🗺️ Project Status
N3RV is currently under active development, built in public. We are testing restraint stability and optimizing context-delivery pipelines.
Install from source after updates:
cd ~/Projects/n3rv && git pull && uv tool install --reinstall .
📄 License
Distributed under the GNU General Public License v2.0 (GPL-2.0). N3RV is copyleft software — keeping the armor open ensures the angels stay contained.
God's in his heaven. All's right with the world.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file n3rv-0.1.0.tar.gz.
File metadata
- Download URL: n3rv-0.1.0.tar.gz
- Upload date:
- Size: 67.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a152d64674d1dad89477bcce2fb260903dce7514fbd77daeadb92133d37ad1f8
|
|
| MD5 |
f3a83345e0129d06c3fc173ac000ecd4
|
|
| BLAKE2b-256 |
28e2bf62d35c85305941f59a37c41830e74012f515e62eca0dd620c665d17b01
|
File details
Details for the file n3rv-0.1.0-py3-none-any.whl.
File metadata
- Download URL: n3rv-0.1.0-py3-none-any.whl
- Upload date:
- Size: 103.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
817c8693f838279656fdb8926c29d1600c62e39c52fca606f4045191073e7865
|
|
| MD5 |
7d20998708b36e26c0214359d5db90d9
|
|
| BLAKE2b-256 |
822d06501c8304e27e34176fa73c854176dffee5513239b13442adaaee220eea
|