crewup
v2.4.9
Published
CrewUp - Configure AI development teams for any project using OpenCode
Maintainers
Readme
CrewUp
AI Development Team Orchestration — Configure and deploy an AI-powered development team for any project using OpenCode.
CrewUp sets up a full team of AI agents — orchestrator, planner, developers, tester, code reviewer, security scanner, infra agent, and more — tailored to your project's tech stack, repo structure, and workflow.
Quick Start
npm install crewup
npx crewup init
npx crewup doctor
npx crewup ui # Launch the web dashboardThe interactive wizard auto-detects your project and asks about:
- Project details — name, provider (Azure DevOps / GitHub / GitLab), repos
- Tech stack — frontend, backend, database, cloud, IaC tool
- Team members — developer agents with names and specialties
- AI models — orchestrator, developer, small, and escalation models
- Notifications — optional Teams/Slack webhook for PR summaries
All agents are enabled by default (disabled automatically when not applicable). MCP servers are auto-configured based on your provider.
Web Dashboard
Launch a real-time interactive web dashboard to visualize and control your AI team:
npx crewup ui # Opens http://localhost:4040
npx crewup ui --port 5000 # Custom portDashboard Features
| Page | What it does | |------|-------------| | Dashboard | Stats overview, active runs, quick actions | | Assign Story | Submit tasks, choose interactive/autonomous mode | | Live Run | Real-time DAG visualization, agent output stream, answer questions & approve plans from the UI | | History | Past runs with cost charts, outcome breakdown, filters | | Team | Agent cards, view prompts, model/role info | | Config | Visual config editor — toggle agents, change models, regenerate files |
Interactive Workflow
The dashboard is fully interactive — not just a passive viewer:
- Assign stories directly from the browser
- Watch agents work in real-time with animated workflow DAG
- Answer planner questions when they appear
- Approve or reject plans before development starts
- Confirm PR creation with full summary
- Stop runs at any point
The dashboard connects via WebSocket for real-time updates. If you're running opencode in your terminal, the dashboard observes progress in passive mode.
Commands
| Command | Description |
|---------|-------------|
| npx crewup init | Run the interactive setup wizard |
| npx crewup apply | Regenerate files from crewup.config.json |
| npx crewup ui | Launch the web dashboard |
| npx crewup doctor | Check setup health — verify dependencies, config, and generated files |
| npx crewup estimate [task] | Estimate token usage and cost for a story/task |
| npx crewup upgrade | Migrate config to latest schema version and regenerate |
| npx crewup add-agent | Add a new developer agent |
| npx crewup remove-agent | Remove a developer agent |
| npx crewup status | Show configuration summary and run history |
| npx crewup stats | Show run metrics, cost trends, and agent usage |
| npx crewup undo | Revert to pre-run git state (snapshot-based) |
| npx crewup run --template <id> | Run a task from a built-in or custom template |
| npx crewup templates | List available task templates |
Options
| Flag | Description |
|------|-------------|
| --dry-run | Preview what would be generated (no files written) |
| --port <number> | Port for the UI dashboard (default: 4040) |
| --version, -v | Show version number |
| --help, -h | Show help message |
What Gets Generated
After running init, CrewUp creates:
your-project/
├── crewup.config.json # Your configuration (edit & re-apply anytime)
├── opencode.json # OpenCode config with models & MCP servers
└── .opencode/
├── agents/
│ ├── orchestrator.md # Tech Lead — plans, delegates, orchestrates
│ ├── planner.md # Requirement analyzer with DAG task planning
│ ├── developer-1.md # Your named developer agents
│ ├── developer-2.md
│ ├── senior-developer.md # Escalation agent (hidden, powerful model)
│ ├── test-engineer.md # Test writer & runner (+ live demo)
│ ├── db-agent.md # Database migration specialist
│ ├── infra-agent.md # Infrastructure-as-Code specialist
│ ├── security-scanner.md # Pre-PR security checks
│ ├── code-reviewer.md # Code quality reviewer
│ ├── refactor.md # Code restructuring agent
│ └── doc-agent.md # Documentation updater (opt-in)
├── rules/
│ └── global.md # Project-wide conventions & rules
└── history.json # Run history (auto-populated)Smart Pattern Detection
CrewUp auto-detects your project's coding patterns and tailors agent prompts accordingly:
| Category | What it detects | |----------|----------------| | Validation | Zod, Yup, Joi, FluentValidation, Valibot, class-validator | | State Management | Zustand, Redux, Jotai, Pinia, NgRx, MobX | | Data Fetching | React Query, SWR, Apollo, tRPC, Axios | | ORM | Prisma, Drizzle, TypeORM, EF Core, SQLAlchemy, Mongoose | | Linter/Formatter | ESLint, Biome, Prettier, Ruff, golangci-lint | | API Style | REST, GraphQL, tRPC | | Auth | NextAuth, Passport, MSAL, Auth0, Clerk, Firebase Auth | | Import Style | Path aliases, barrel exports, direct imports | | Component Style | Functional (React), Composition API (Vue) |
For new projects without existing code, CrewUp applies best-practice defaults per stack (e.g., Zod + React Query + Zustand for React/TypeScript projects).
Agents use these patterns to write code that matches your existing conventions exactly.
Task Templates
Run common tasks without writing descriptions from scratch:
npx crewup templates # List all available templates
npx crewup run --template add-crud-endpoint --entity User
npx crewup run --template fix-bug --description "Login fails on Safari"
npx crewup run --template add-page --page Dashboard --route /dashboard
npx crewup run --template refactor --target "src/utils/" --goal "Extract shared helpers"Built-in Templates
| Template | Description | Variables |
|----------|-------------|-----------|
| add-crud-endpoint | Full CRUD REST endpoint | entity, fields |
| add-page | Frontend page with routing | page, route |
| add-auth | Add auth to endpoint/page | target |
| fix-bug | Investigate and fix a bug | description, steps |
| add-db-migration | Database schema migration | change |
| refactor | Refactor a code area | target, goal |
| add-test | Add test coverage | target, type |
| add-logging | Add observability/logging | target, level |
Custom Templates
Add your own templates as JSON files in .opencode/templates/:
{
"name": "Add Feature Flag",
"description": "Add a feature flag with rollout controls",
"variables": ["flag", "default"],
"defaults": { "default": "false" },
"template": "Add a feature flag named '${flag}' with default value ${default}. ..."
}Light Mode
The orchestrator automatically assesses task complexity before invoking the planner. Simple tasks (single-file changes, typo fixes, config updates, dependency bumps) skip the planner, code reviewer, and security scanner — saving ~40% in token costs.
Auto-triggers for Light Mode:
- Story mentions only 1 file
- Keywords: "typo", "rename", "bump", "config", "docs"
- Single acceptance criterion
- No API/schema/auth changes
Complex tasks (multi-file, new features, auth/security changes) always use the full agent pipeline.
Retry Budget & Escalation
The orchestrator enforces strict retry limits to prevent runaway costs:
| Agent | Max Retries | Escalation Trigger | |-------|------------|-------------------| | Developer | 2 | Consecutive failures on same issue | | Test Engineer | 1 | Same test fails after fix | | Total cycle limit | 3 | After 3 loops → escalate to senior | | Senior Developer | 1 | If senior fails → stop and report |
Cost Estimation
npx crewup estimate "Add user registration with OAuth2"Output:
Cost Estimate
Task: Add user registration with OAuth2
Complexity: Complex (2.1x)
Agent Model Est. Tokens Est. Cost
──────────────────────────────────────────────────────────────────────────
Orchestrator claude-opus-4.6 ~25K $0.94
Planner claude-opus-4.6 ~23K $0.87
Developer x2 claude-sonnet-4.5 ~63K $1.14
Test Engineer claude-sonnet-4.5 ~34K $0.61
Infra Agent claude-sonnet-4.5 ~29K $0.52
Code Reviewer claude-haiku-4.5 ~21K $0.10
Security Scanner claude-haiku-4.5 ~16K $0.07
──────────────────────────────────────────────────────────────────────────
Total ~211K $4.25
Worst case (retries + escalation): $7.65The planner now includes T-shirt sizing (XS/S/M/L/XL) per task with DAG dependencies for optimal parallelization.
Run Metrics & Stats
npx crewup statsShows:
- Total runs, success rate, total/average cost
- Cost trend chart for last 10 runs
- Agent usage frequency
- Common failure patterns
Also available visually in the Dashboard UI with interactive charts.
Undo
The orchestrator saves a git snapshot before starting work. If something goes wrong:
npx crewup undoThis hard resets to the pre-run commit and cleans up any feature branches created during the run.
Memory Across Runs
The orchestrator uses the Memory MCP to persist context between sessions:
- Saves progress after every major step (plan, development, testing, review, PR)
- Resumes from where the last session left off if interrupted
- Learns project patterns over time (file conventions, agent strengths, common failures)
- Stores structured entities like
crewup:{work-item-id}andcrewup:project-patterns
Team Notifications
Optionally send PR summaries and completion notifications to Microsoft Teams or Slack:
npx crewup init # Select notification platform and provide webhook URLAfter each PR, the orchestrator posts a formatted card with branch, files changed, test results, cost, and a link to the PR.
Health Checks
npx crewup doctorVerifies:
- Node.js >= 18 installed
- Git installed
- OpenCode installed
- Config file exists and is valid
- Config schema is current version
- All expected generated files are present
- Generated files are newer than config (not stale)
- Git repository initialized
- MCP server packages available
Config Versioning & Upgrades
When CrewUp releases template improvements, upgrade your setup:
npx crewup upgradeThis will:
- Detect your config schema version
- Run any necessary migrations (add new fields, remove deprecated ones)
- Regenerate all agent files with the latest templates
Current schema version: 4. Full migration chain supported: v0 → v1 → v2 → v3 → v4.
Supported Stacks
Frontend
React, Next.js, Vue 3, Angular, Svelte (all with TypeScript)
Backend
.NET/C#, Node.js (Express/Fastify), Python (FastAPI/Django), Go, Java (Spring Boot)
Database
SQL Server, PostgreSQL, MySQL, MongoDB, SQLite, DynamoDB
Infrastructure as Code
Terraform, Bicep, AWS CDK, CloudFormation, Pulumi, ARM Templates, Serverless Framework
Providers
Azure DevOps, GitHub, GitLab, Bitbucket
Agent Architecture
Orchestrator (Tech Lead) — claude-opus-4.6
├── Planner → analyzes requirements, DAG task planning, T-shirt sizing — claude-opus-4.6
├── Developer 1..N → implements features in parallel — claude-sonnet-4.5
├── Senior Developer → escalation for complex issues — claude-opus-4.6
├── Test Engineer → writes & runs tests, Playwright E2E, live demos — claude-sonnet-4.5
├── DB Agent → database migrations & schema changes — claude-sonnet-4.5
├── Infra Agent → IaC changes (Terraform, Bicep, CDK, etc.) — claude-sonnet-4.5
├── Doc Agent → README, changelog, API docs (opt-in) — claude-haiku-4.5
├── Code Reviewer → quality checks before PR — claude-haiku-4.5
└── Security Scanner → vulnerability scan before PR — claude-haiku-4.5Token-Efficient Relay Protocol
All agents produce a structured ## Agent Output JSON block. The orchestrator parses these blocks to route work efficiently — no re-reading of full prose output. This reduces orchestrator relay overhead by ~60-70%.
Workflow
- Checks Memory MCP for previous session context
- Assesses complexity (Light Mode vs Full Mode)
- Reads the work item / issue
- Invokes the planner (max 2 rounds, max 3 questions) — skipped in Light Mode
- Presents plan to user for approval
- Saves git snapshot for undo
- Creates a feature branch
- Delegates tasks to developers in parallel (DAG-based scheduling)
- Runs test loops (up to 3 retries, enforced retry budget)
- Runs code review and security scan — skipped in Light Mode
- Invokes doc agent (if enabled)
- Shows PR Summary and asks for confirmation
- Creates PR with linked work item
- Saves run record to history
- Sends team notification (if configured)
- Updates Memory MCP with final outcome
Configuration
Edit crewup.config.json and run npx crewup apply to regenerate all files.
Key Config Sections
- version — config schema version (auto-managed, currently v4)
- project — name, provider, org, repos, PR reviewer
- techStack — frontend, backend, database, cloud, IaC tool, testing commands
- agents — which agents to enable, developer names/specialties
- models — orchestrator, developer, small, and escalation AI models
- mcpServers — which MCP servers to enable
- notifications — Teams/Slack webhook configuration
- codingPatterns — auto-detected patterns (validation, state management, ORM, etc.)
License
MIT
