Autonomous software engineering, stratified.
Nimbus plans, implements, and reviews code against real repositories — entirely on its own. From task description to merged PR.
get-nimbus.com · docs.get-nimbus.com · api.get-nimbus.com
| Feature | State |
|---|---|
| Core pipeline (plan, implement, verify, PR) | Stable |
CLI (nimbus run, nimbus diff, nimbus chat, nimbus search) |
Stable |
| Web IDE (Monaco, terminal, file tree) | Beta |
| Slack / Linear integrations | Beta |
| Skill marketplace | Beta |
| Agent pipelines | Beta |
GitHub Actions (arpjw/nimbus-action@v1) |
Experimental |
Python SDK (nimbus-sdk) |
Experimental |
TypeScript SDK (@nimbus-ai/client) |
Experimental |
| Chrome Extension | Experimental |
| Homebrew tap | Experimental |
| VS Code Extension | Experimental |
pip install nimbus-aiSet your API keys:
export ANTHROPIC_API_KEY=sk-ant-...
export VOYAGE_API_KEY=pa-...Then run in any git repo:
cd your-project
nimbusNimbus runs a 10-phase pipeline on every task:
Clone -> Index -> Plan -> [Approve] -> Implement -> Verify -> [Diff] -> Review -> PR -> Memory
Every task goes from a plain English description to a merged pull request. Nimbus indexes your codebase with hybrid RAG (voyage-code-2 + BM25), plans with Claude Opus, implements with Claude Sonnet, verifies against your real test suite, and opens a PR with a self-review attached.
nimbus # Interactive REPL — start here
nimbus run "task description" # Run a task directly
nimbus run --tdd "task" # TDD mode: generate failing tests first, implement to pass
nimbus run --agent <name> # Run a built-in agent
nimbus chat # Ask questions about your codebase
nimbus diff [rev-range] # Review any diff (or pipe from stdin)
nimbus diff --staged # Review staged changes before committing
nimbus search "query" # Semantic search over your codebase
nimbus install-hooks # Install pre-commit review hook
nimbus uninstall-hooks # Remove pre-commit hook
nimbus replay # Replay a past session
nimbus watch # Ambient mode — suggestions as you code
nimbus pair # Per-file suggestions on every save
nimbus memory # View per-repo codebase memory
nimbus explain <file> # Explain a file in plain English
nimbus agents # List built-in agents
nimbus skills list # List available skills
nimbus skills search <query> # Search the skill marketplace
nimbus skills install <name> # Install a community skill
nimbus skills publish # Publish a skill to the marketplace
nimbus pipeline list # List configured pipelines
nimbus pipeline run <name> # Run a pipeline manually
nimbus health # Codebase health scan — 6 metrics with scores
nimbus models # Show configured models for each role
nimbus plugin list # List installed CLI plugins
nimbus plugin install <pkg> # Install a plugin from PyPI
nimbus plugin uninstall <pkg> # Remove a plugin
nimbus plugin run <name> <cmd> # Run a plugin command
nimbus reindex <repo-id> # Force re-index a repository
nimbus --version # Show versionRun any agent with nimbus run --agent <name>:
| Category | Agents |
|---|---|
| Security | security-audit secret-scanner dependency-cve |
| Quality | type-safety error-handling dead-code-eliminator complexity-reducer naming-consistency |
| Testing | test-coverage integration-test-builder mutation-tester |
| Docs | api-documenter readme-architect inline-documenter |
| Performance | query-optimizer async-converter |
| Infrastructure | ci-builder docker-hardener |
| Architecture | feature-flags observability-agent |
Configure which model to use for each role in ~/.nimbus/config.toml:
[models]
planner = "claude-opus-4-6"
implementer = "claude-sonnet-4-6"
reviewer = "claude-sonnet-4-6"Supported providers: Anthropic (default), OpenAI (set OPENAI_API_KEY — reviewer uses gpt-4o automatically).
Store your own Anthropic or Voyage key on your account so Nimbus uses it for all tasks instead of billing against your plan:
curl -X POST https://api.get-nimbus.com/keys/byok \
-H "X-API-Key: nk_..." \
-H "Content-Type: application/json" \
-d '{"anthropic_key": "sk-ant-...", "voyage_key": "pa-..."}'Keys are stored encrypted at rest. When a BYOK key is configured the monthly spend cap does not apply.
Extend the Nimbus CLI with community plugins:
nimbus plugin install nimbus-plugin-jira
nimbus plugin list
nimbus plugin run jira <cmd>Plugins are Python packages prefixed with nimbus-plugin- on PyPI.
Open any GitHub repo in the browser — no install required:
Monaco editor, live terminal, file tree, and Nimbus chat panel. Runs on isolated containers per session.
| Surface | How |
|---|---|
| GitHub PRs/Issues | Comment /nimbus on any issue or PR |
| Slack | /nimbus run "task" slash command |
| Linear | Assign issue with nimbus label to auto-implement |
Drop a .nimbus.toml in your repo root to override defaults:
[paths]
denied = ["secrets/", "*.pem"]
[branches]
protected = ["main", "release/*"]
[models]
planner = "claude-opus-4-7"
implementer = "claude-sonnet-4-6"
[policy]
require_human_approval = true
block_on_severity = "error"~/.nimbus/config.toml:
[core]
default_branch = "main"
editor = "nvim"
[hooks]
block_on = "high" # pre-commit hook severity threshold
[models]
planner = "claude-opus-4-6"
implementer = "claude-sonnet-4-6"
reviewer = "claude-sonnet-4-6"git clone https://github.com/arpjw/nimbus
cd nimbus
# Backend
cd backend
pip install -r requirements.txt
cp .env.example .env # add your API keys
uvicorn main:app --reload
# Frontend
cd ../frontend
npm install
npm run dev| Package | Install | Status |
|---|---|---|
| CLI | pip install nimbus-ai |
Stable |
| Web IDE | get-nimbus.com/ide | Beta |
| Python SDK | pip install nimbus-sdk |
Experimental |
| TypeScript SDK | npm install @nimbus-ai/client |
Experimental |
| GitHub Action | uses: arpjw/nimbus-action@v1 |
Experimental |
| Chrome Extension | arpjw/nimbus-chrome |
Experimental |
| VS Code Extension | arpjw/nimbus-vscode |
Experimental |
Redis + ARQ task queue (not yet implemented): Tasks currently execute in-process on the FastAPI request handler. Under concurrent load this blocks the event loop. A proper ARQ worker queue with Redis pub/sub is planned but not yet shipped. Workaround: run a single uvicorn worker and limit concurrent tasks via the rate limiter.
Task reconciliation on restart (not yet implemented): If the server restarts while a task is in-flight, the task stays in its current phase forever. There is no reconciler that resets stuck tasks to FAILED on startup. Workaround: manually PATCH the task status, or set a short timeout in your client and retry.
- BYOK (bring your own key) — store encrypted Anthropic/Voyage keys per account; spend cap bypassed when BYOK is active
- Incremental repository indexing — skip unchanged files via SHA256 content tracking
- Per-repo
.nimbus.tomlconfig — override models, deny paths, protect branches - Editable plans —
PATCH /tasks/{id}/planlets users modify file changes before approval - Sandboxed verification —
SANDBOX_VERIFICATION=trueruns ruff/pytest/mypy inside Docker - Cross-provider self-review — reviewer uses
gpt-4owhenOPENAI_API_KEYis set - Static analysis override — APPROVE verdict upgraded to REQUEST_CHANGES when ruff reports errors
- Skill safety — prompt injection scanning and Haiku moderation on skill publish
- Structured JSON logging via structlog; optional Sentry integration
- Web IDE at
get-nimbus.com/ide— Monaco editor, xterm.js terminal, isolated containers per session - Nimbus chat panel in the IDE
nimbus run --tdd— TDD mode: generate failing tests first, implement to passnimbus health— codebase health scan with 6 metricsnimbus models— show configured models per role- CLI plugin system —
nimbus plugin install/list/run, entry-point based discovery TaskMetricsmodel tracking duration, success rate, cost per task
nimbus chat— conversational codebase Q&A with retrieval-backed citationsnimbus diff— review any diff; pipe from stdin or pass revision range;--exit-codefor CInimbus install-hooks— git pre-commit hook that runsnimbus diff --stagednimbus search— semantic search over indexed codebase- Skill marketplace —
nimbus skills search/install/publish - Agent composition pipelines
- Interactive terminal mode (
nimbus) with live diffs, session replay - 20 built-in agents across 7 categories
nimbus watchambient mode,nimbus pairper-file suggestions- Slack slash commands, Linear webhook integration
- GitHub OAuth — personal dashboard, account-tied API keys
- Core 10-phase pipeline
- GitHub App with
/nimbuscomments on issues - Self-improving PR reviewer
- Persistent per-repo memory
- Parallel implementation workers
- Website: get-nimbus.com
- Docs: docs.get-nimbus.com
- Dashboard: get-nimbus.com/dashboard
- API: api.get-nimbus.com/docs
Built by Arya Somu · Monolith Systematic LLC · MIT License