multiagent-setup
1.15.3
See the version list below for details.
dotnet tool install --global multiagent-setup --version 1.15.3
dotnet new tool-manifest
dotnet tool install --local multiagent-setup --version 1.15.3
#tool dotnet:?package=multiagent-setup&version=1.15.3
nuke :add-package multiagent-setup --version 1.15.3
multiagent-template
Scaffold a multi-agent AI workspace where a team of specialized agents — orchestrator, architect, developer, reviewer, DevOps, designer, and more — autonomously drives software from backlog to merged PR. You set direction; the agents handle execution.
<p align="center"> <img src="docs/demo.svg" alt="multiagent-setup demo" width="720"/> </p>
Quick Start
Recommended: one-liner bootstrap. Installs all deps (git, gh, jq, .NET 10, agent CLI) and creates the workspace in one shot.
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/Neftedollar/multiagent-template/main/bootstrap.sh | bash -s -- MyProject
curl -fsSL https://raw.githubusercontent.com/Neftedollar/multiagent-template/main/bootstrap.sh | bash -s -- MyProject --provider gemini
# Windows (PowerShell)
irm https://raw.githubusercontent.com/Neftedollar/multiagent-template/main/bootstrap.ps1 -OutFile bootstrap.ps1
.\bootstrap.ps1 MyProject
.\bootstrap.ps1 MyProject --provider codex
Already have git, gh, jq, and .NET 10 installed? (You don't need to know .NET — it's just the packaging mechanism.)
dotnet tool install -g multiagent-setup
multiagent-setup new MyProject # Claude (default)
multiagent-setup new MyProject --provider nessy # Nessy CLI (Claude alias)
multiagent-setup new MyProject --provider codex # OpenAI Codex
multiagent-setup new MyProject --provider qwen # Qwen Code
multiagent-setup new MyProject --provider cursor # Cursor IDE
multiagent-setup new MyProject --provider windsurf # Windsurf IDE
multiagent-setup new MyProject --provider copilot # GitHub Copilot
multiagent-setup new MyProject --provider gemini # Google Gemini CLI
multiagent-setup new MyProject --provider all # all providers at once
# Add a provider to an existing workspace (no need to recreate)
multiagent-setup add-provider cursor
multiagent-setup add-provider gemini --force # overwrite existing files
multiagent-setup add-provider all # add all providers at once
# Update an existing workspace to the latest templates
multiagent-setup update # skip already-customised files
multiagent-setup update --force # overwrite everything (CLAUDE.md preserved)
Then start working:
cd MyProject
claude # or: nessy / codex / qwen-code / gemini (terminal agents)
# or open in Cursor / Windsurf / VS Code (IDE agents)
/orchestrator Implement user authentication with JWT
What you get in 5 minutes:
- A workspace where agents run
PLAN → BUILD → TEST → VERIFY → SHIPautonomously - 20+ specialist roles installed in
~/.claude/commands/— orchestrator, architect, developer, reviewer, DevOps, designer, and more - Safety hooks active: dangerous commands blocked, commits enforced as conventional, files auto-linted on save
- One human touchpoint: review and merge the PR when the pipeline finishes
Why multiagent-template?
The problem: Asking a single AI agent to be architect, developer, reviewer, and DevOps all at once leads to context collapse, no accountability, and inconsistent quality.
The solution: A structured workspace where each agent plays a defined role in a gated pipeline:
PLAN → BUILD → TEST → VERIFY → SHIP
- Orchestrator coordinates — never writes code itself
- Architects design before developers build
- Reviewers validate independently after each step
- Safety hooks prevent dangerous commands, enforce commit conventions, auto-lint
Each step has an approval gate. Failures retry (3×) → helper role (2×) → human escalation. The human only sees escalations, not every step.
Supported Providers
| Provider | Binary / Tool | Best for | Notes |
|---|---|---|---|
| claude | claude |
Terminal-first, most capable | Claude Code by Anthropic — default |
| nessy | nessy |
Claude users with a different alias | Nessy CLI — Claude-compatible |
| codex | codex |
OpenAI API key holders | OpenAI Codex CLI — creates AGENTS.md |
| qwen | qwen-code |
Open-source model users | Qwen Code — creates QWEN.md |
| gemini | gemini |
Google API key holders | Gemini CLI — creates GEMINI.md |
| cursor | Cursor IDE | IDE-first workflows | Rules in .cursor/rules/ (MDC format) |
| windsurf | Windsurf IDE | IDE-first + Codeium users | Rules in .windsurf/rules/ (Wave 8+) |
| copilot | GitHub Copilot | VS Code + GitHub users | Reads .github/copilot-instructions.md |
Use --provider all to scaffold all providers (claude + nessy + codex + qwen + cursor + windsurf + copilot + gemini).
How It Works
One human (CEO) gives tasks. The Orchestrator agent breaks them into steps, picks the right specialist role, runs the pipeline, and delivers a PR. Human escalation is required only for: public content, breaking API changes, infra decisions with cost impact, or 5+ consecutive failures.
Pipeline types
| Type | Steps | When |
|---|---|---|
feature |
PLAN → BUILD → TEST → VERIFY → SHIP | New functionality |
bugfix |
BUILD → TEST → VERIFY → SHIP | Skip planning |
infra |
PLAN → BUILD → VERIFY → SHIP | No test step |
content |
PLAN → BUILD → VERIFY(CEO) | Docs / marketing |
spike |
PLAN | Research only |
Modes
| Mode | How to trigger | Description |
|---|---|---|
| CEO Mode | /orchestrator <task> |
Human gives task, orchestrator executes |
| Single Expert | /<role> <question> |
Direct expert call, no pipeline |
| Autonomous | claude -p "/orchestrator ..." |
Orchestrator self-selects tasks from backlog |
Workspace Structure
MyProject/
├── CLAUDE.md <- workspace context (read by AI on every session)
├── code/ <- product repo (git-ignored)
├── docs/
│ ├── process.md <- operational manual (pipeline source of truth)
│ ├── role-capabilities.md <- role index for dynamic orchestrator routing
│ └── workflows/ <- pipeline specs (WORKFLOW-*.md)
├── .claude/
│ ├── commands/ <- slash-command roles (synced from agency-agents)
│ ├── hooks/lint.json <- auto-lint formatter config
│ ├── mcp.json <- MCP server config
│ └── settings.json <- hook configuration
├── .codex/ <- Codex config (--provider codex)
│ └── skills/ <- orchestrator skill pre-loaded
└── tools/
├── completions.zsh <- zsh completions
└── completions.ps1 <- PowerShell completions
Bringing in an existing codebase:
multiagent-setup new MyProject
cd MyProject
git clone https://github.com/my-org/my-repo code/MyProject
# Edit CLAUDE.md to describe the project → done
Hook System
All hooks are compiled into the multiagent-setup binary — no shell scripts, no platform quirks.
| Hook | Trigger | Action |
|---|---|---|
block-dangerous |
PreToolUse (Bash) | Blocks rm -rf /, push --force main, DROP TABLE, etc. |
enforce-commit-msg |
PreToolUse (Bash) | Enforces conventional commits (feat:, fix:, etc.) |
auto-lint |
PostToolUse (Edit/Write) | Runs formatter on changed file (prettier, ruff, gofmt, rustfmt…) |
log-agent |
PreToolUse (Agent) | Logs sub-agent launches to .claude/agent-log.jsonl |
stop-guard |
Stop | Reminds to run tests and update knowledge graph |
research-reminder |
PostToolUse (WebSearch) | Reminds to persist research in O'Brien memory |
Agent Roles
20+ specialist roles from agency-agents, installed at workspace creation time.
| Layer | Roles |
|---|---|
| Strategy | /product-manager, /product-trend-researcher |
| Management | /orchestrator, /testing-reality-checker, /specialized-workflow-architect |
| Engineering | /engineering-software-architect, /engineering-backend-architect, /engineering-frontend-developer, /engineering-code-reviewer, /engineering-devops-automator, /engineering-security-engineer |
| AI / ML | /engineering-ai-engineer |
| Design | /design-ux-researcher, /design-ui-designer |
| GTM | /specialized-developer-advocate, /engineering-technical-writer, /marketing-content-creator |
The orchestrator routes dynamically via docs/role-capabilities.md — no hardcoded assignments. If no role fits, it creates an ad-hoc role on the fly.
Infrastructure (Optional)
AGE Graph
Graph knowledge base on PostgreSQL + Apache AGE, connected via age-mcp. Stores modules, pipelines, role bindings, security findings, code insights. Grows with every task.
O'Brien
Semantic memory on pgvector — cross-session context, task locking, crash recovery.
multiagent-setup install-mcps # interactive Docker setup
multiagent-setup install-mcps --manual # enter connection strings manually
Examples
See examples/ for concrete workflows:
- SaaS Starter — foundation, auth, billing, autonomous sessions
- Open Source Maintainer — bug triage, PR reviews, releases
CLI Reference
multiagent-setup new <project> [org] [--provider claude|nessy|codex|qwen|cursor|windsurf|copilot|gemini|all]
multiagent-setup add-provider <provider> [--force] # add provider to existing workspace
multiagent-setup update [--force] # update workspace templates to latest version
multiagent-setup sync-roles [--clone|--pull] [--agency-dir <path>]
multiagent-setup install-mcps [--docker|--manual] [--age-conn <str>] [--obrien-conn <str>]
multiagent-setup hook <name>
multiagent-setup -v | --version
Requirements
| Tool | macOS/Linux | Windows |
|---|---|---|
| .NET SDK 10+ | brew install dotnet |
winget install Microsoft.DotNet.SDK.10 |
| GitHub CLI | brew install gh |
winget install GitHub.cli |
| git, jq | brew / apt | winget install Git.Git jqlang.jq |
| Agent CLI | see provider table above | same |
| Docker | optional, for AGE/O'Brien | winget install Docker.DockerDesktop |
bootstrap.sh / bootstrap.ps1 install everything automatically on a clean machine.
Contributing
Templates live in tools/setup-cli/Templates/. Each provider gets its own directory under providers/. See CONTRIBUTING.md for setup instructions and how to add a new provider.
FAQ
Does this work with projects that already have code?
Yes. The workspace wraps your existing repo: multiagent-setup new MyProject creates the workspace, then clone your repo into code/MyProject/.
How do I use multiple providers?
Run multiagent-setup new MyProject --provider all to scaffold all providers at once. To add a provider to an existing workspace: multiagent-setup add-provider gemini.
What does the orchestrator do when I'm not watching?
In CEO Mode it waits for your next task. In Autonomous mode (claude -p), it picks tasks from the GitHub Project backlog and escalates only for defined edge cases.
Can I add custom roles?
Yes. Create a .md file in .claude/commands/ with a name: frontmatter field. The orchestrator uses it automatically, and can also create ad-hoc roles on the fly.
Do I need Docker / AGE graph / O'Brien?
No. The MCPs are entirely optional. The workspace and pipeline work without them. install-mcps is a separate optional step for teams that want persistent memory across sessions.
A safety hook is blocking a command I need.
Claude Code will prompt you to approve or deny the hook's decision. Click "Allow" to override for that command. You can also edit .claude/settings.json to adjust which hooks are active.
How do I update an existing workspace to the latest templates?
Run multiagent-setup update from inside your workspace. Your customised context files (CLAUDE.md, GEMINI.md, etc.) are preserved. Add --force to overwrite everything.
Where can I see what agents were spawned in a session?
The log-agent hook writes to .claude/agent-log.jsonl — one JSON line per agent launch with timestamp, type, model, and prompt preview.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.31.0 | 47 | 4/9/2026 |
| 1.30.0 | 35 | 4/9/2026 |
| 1.29.0 | 34 | 4/9/2026 |
| 1.28.0 | 36 | 4/9/2026 |
| 1.27.0 | 45 | 4/9/2026 |
| 1.26.0 | 35 | 4/9/2026 |
| 1.25.0 | 44 | 4/9/2026 |
| 1.24.0 | 52 | 4/8/2026 |
| 1.23.0 | 38 | 4/8/2026 |
| 1.22.0 | 41 | 4/8/2026 |
| 1.21.0 | 39 | 4/8/2026 |
| 1.20.0 | 35 | 4/8/2026 |
| 1.19.0 | 40 | 4/8/2026 |
| 1.18.0 | 42 | 4/8/2026 |
| 1.17.0 | 37 | 4/8/2026 |
| 1.16.0 | 41 | 4/8/2026 |
| 1.15.3 | 41 | 4/8/2026 |
| 1.15.2 | 36 | 4/8/2026 |
| 1.15.1 | 39 | 4/8/2026 |
| 1.15.0 | 35 | 4/8/2026 |