AAMAD is an open, production-grade framework for building, deploying, and evolving multi-agent applications using best context engineering practices.
It systematizes research-driven planning, modular AI agent workflows, and rapid MVP/devops pipelines for enterprise-ready AI solutions.
- What is AAMAD?
- Runtime adapters
- AAMAD phases at a glance
- What AAMAD is not
- Installation
- Using AAMAD in your IDE
- Repository Structure
- How to Use the Framework
- Phase 1: Define Workflow (Product Manager)
- Phase 2: Build Workflow (Multi-Agent)
- Core Concepts
- Contributing
- License
AAMAD is a context engineering framework based on best practices in AI-assisted coding and multi-agent system development methodologies.
It enables teams to:
- Launch projects with autonomous or collaborative AI agents
- Rapidly prototype MVPs with clear context boundaries
- Use production-ready architecture/design patterns
- Accelerate delivery, reduce manual overhead, and enable continuous iteration
In AAMAD, the development crew (personas, rules, templates, and artifacts) is the stable methodology.
Runtime adapters are an implementation choice for what backend runtime your generated MVP targets.
You can use AAMAD across multiple development environments: see Using AAMAD in your IDE for Cursor, Claude Code, and VS Code + GitHub Copilot.
Use AAMAD_TARGET_RUNTIME to choose the runtime target for the generated multi-agent application in Phase 2:
| Runtime | Status | Best fit |
|---|---|---|
crewai |
Default | Declarative task orchestration with YAML-first runtime configuration |
claude-agent-sdk |
Supported | Agentic runtime harness with hooks, MCP, and session control |
cursor-sdk |
Supported | TypeScript-first Cursor runtime integration with explicit tool/runtime contracts |
AAMAD organizes work into three phases: Define, Build, and Deliver, each with clear artifacts, personas, and rules to keep development auditable and reusable. The flow begins by defining context and templates, proceeds through multi‑agent build execution, and finishes with operational delivery.
flowchart LR
%% AAMAD phases overview
subgraph P1[DEFINE]
D1H[ PERSONA ]:::hdr --> D1L["• Product Manager<br/>(@product-mgr)"]:::list
D2H[TEMPLATES]:::hdr --> D2L["• Market Research<br/>• PRD"]:::list
end
subgraph P2[BUILD]
B1H[AGENTS]:::hdr --> B1L["• Project Mgr<br/>• System Architect<br/>• Frontend Eng<br/>• Backend Eng<br/>• Integration Eng<br/>• QA Eng"]:::list
B2H[RULES]:::hdr --> B2L["• core<br/>• development‑workflow<br/>• runtime adapter (crewai, claude-agent-sdk, or cursor-sdk)"]:::list
end
subgraph P3[DELIVER]
L1H[AGENTS]:::hdr --> L1L["• DevOps Eng"]:::list
L2H[RULES]:::hdr --> L2L["• continuous‑deploy<br/>• hosting‑environment<br/>• access‑control"]:::list
end
P1 --> P2 --> P3
classDef hdr fill:#111,stroke:#555,color:#fff;
classDef list fill:#222,stroke:#555,color:#fff;
-
Phase 1 (Define): Product Manager persona (
@product-mgr) conducts prompt-driven discovery and context setup, supported by templates for Market Research Document (MRD) and Product Requirements Document (PRD), to standardize project scoping. -
Phase 2 (Build): Multi‑agent execution by Project Manager, System Architect, Frontend Engineer, Backend Engineer, Integration Engineer, and QA Engineer, governed by core/development-workflow rules and the selected runtime adapter rule.
-
Phase 3 (Deliver): DevOps Engineer focuses on release and runtime concerns using rules for continuous deployment, hosting environment definitions, and access control.
- AAMAD is not a programmatic runtime orchestrator for its own Define → Build → Deliver phases.
- Runtime adapter selection does not change AAMAD phase orchestration; it only changes the runtime conventions used by Build-phase implementation personas.
- Headless orchestration of AAMAD phases is out of scope for v0.5.0.
Install AAMAD from PyPI and initialize the framework for your IDE:
pip install aamad
# or
uv pip install aamadAAMAD supports Cursor, Claude Code, and VS Code + GitHub Copilot. Choose your IDE with the --ide flag:
aamad init --ide cursor # Default: Cursor
aamad init --ide claude-code # Claude Code
aamad init --ide vscode # VS Code + GitHub Copilot| Feature | Cursor | Claude Code | VS Code + Copilot |
|---|---|---|---|
| Rules / instructions | .cursor/rules/*.mdc with alwaysApply: true |
.claude/CLAUDE.md + .claude/rules/*.md |
.github/instructions/*.instructions.md |
| Rule format | .mdc (YAML frontmatter + markdown body) |
.md (plain markdown) |
.instructions.md (applyTo, name, description) |
| Glob-based scoping | ✅ globs: in frontmatter |
❌ Not supported (all rules loaded) | ✅ applyTo: in frontmatter |
| Agent definitions | .cursor/agents/*.md |
.claude/agents/*.md |
.github/agents/*.agent.md |
| Agent invocation | @agent-name in chat |
Delegation via description; explicit request |
Agent dropdown; @agent-name; handoff buttons |
| Tool enforcement | Instructions-based | ✅ Hard allowlist/denylist | ✅ Tool allowlist in frontmatter |
| Phase 1 prompt | .cursor/prompts/prompt-phase-1 |
.claude/commands/phase-1-define.md (slash command) |
.github/prompts/phase-1-define.prompt.md |
| Templates | .cursor/templates/ (shared) |
.cursor/templates/ (shared) |
.cursor/templates/ (shared) |
| Project context | project-context/ (shared) |
project-context/ (shared) |
project-context/ (shared) |
| Bridge file | AGENTS.md (root) |
AGENTS.md (root) |
AGENTS.md (root) |
Install and initialize:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install aamad
aamad init --ide cursor --dest .Or with uv:
uv venv
uv pip install aamad
uv run aamad init --ide cursor --dest .Folder structure after init:
your-project/
├── .cursor/
│ ├── agents/ # Persona definitions (@product-mgr, @backend.eng, etc.)
│ ├── prompts/ # Phase-specific prompts (e.g. prompt-phase-1)
│ ├── rules/ # Always-on rules (*.mdc)
│ └── templates/ # PRD, SAD, MR templates
├── project-context/
│ ├── 1.define/ # MRD, PRD, SAD outputs
│ ├── 2.build/ # setup.md, frontend.md, backend.md, etc.
│ └── 3.deliver/ # QA logs, deploy configs
├── AGENTS.md # Bridge file (IDE discoverability)
├── CHECKLIST.md
└── README.md
Install and initialize:
python -m venv .venv
source .venv/bin/activate
pip install aamad
aamad init --ide claude-code --dest .Or with uv:
uv venv
uv pip install aamad
uv run aamad init --ide claude-code --dest .Folder structure after init:
your-project/
├── .claude/
│ ├── CLAUDE.md # Rules summary + cross-references
│ ├── agents/ # Persona definitions (Claude Code format)
│ ├── commands/ # Slash commands (e.g. phase-1-define)
│ ├── rules/ # Individual rule files (*.md)
│ └── settings.json # Permissions, AAMAD_TARGET_RUNTIME env
├── .cursor/
│ └── templates/ # PRD, SAD, MR templates (shared)
├── project-context/
│ ├── 1.define/
│ ├── 2.build/
│ └── 3.deliver/
├── AGENTS.md
├── CHECKLIST.md
└── README.md
Install and initialize:
pip install aamad
aamad init --ide vscode --dest .Or with uv:
uv pip install aamad
uv run aamad init --ide vscode --dest .Folder structure after init:
your-project/
├── .github/
│ ├── instructions/ # Copilot instructions (*.instructions.md)
│ ├── agents/ # Custom agents (*.agent.md) with optional handoffs
│ └── prompts/ # Phase 1 prompt (phase-1-define.prompt.md)
├── .vscode/
│ └── settings.json # chat.instructionsFilesLocations, chat.agentFilesLocations
├── .cursor/
│ └── templates/ # PRD, SAD, MR templates (shared)
├── project-context/
│ ├── 1.define/
│ ├── 2.build/
│ └── 3.deliver/
├── AGENTS.md
├── CHECKLIST.md
└── README.md
Required extensions: GitHub Copilot, GitHub Copilot Chat. Recommended: Python (ms-python), YAML (redhat).
How you interact with AAMAD depends on your IDE. The framework produces the same artifacts (project-context/, templates, Phase 1 prompt); only rules and agent scaffolding differ.
| What you do | Cursor | Claude Code | VS Code + Copilot |
|---|---|---|---|
| Start a fresh context (e.g. new module) | Cmd+Shift+P → New Chat |
/clear or start a new session |
Start a new chat session |
| Invoke a persona | Type @backend.eng (or other agent) in chat |
Ask to use the subagent by name, or refer to its description | Pick the agent from the dropdown, or use @agent-name |
| Reference a file | @path/to/file in chat |
@path/to/file in the prompt |
#file:path/to/file or drag-and-drop the file |
| Phase transitions (Define → Build → Deliver) | Switch persona manually in chat | Use subagent chaining or explicit instructions | Use handoff buttons in the chat UI (when configured) |
| Capability | Cursor | Claude Code | VS Code + Copilot |
|---|---|---|---|
| AAMAD support | Native (default) | Via aamad init --ide claude-code |
Via aamad init --ide vscode |
| Glob-based rule scoping | Yes | No (all rules loaded) | Yes (applyTo: in instructions) |
| Tool enforcement | Instructions only | Hard allowlist/denylist | Tool allowlist in agent frontmatter |
| Agent handoffs | Manual | Manual or subagent chaining | Native UI buttons (Define → Build → Deliver) |
| Parallel work | Multiple chat tabs | Subagents / Agent Teams | Subagents |
| Model choice | Multi-model | Claude models | Multi-model (GPT, Claude, Gemini, etc.) |
| Best for | AAMAD as designed | CLI-first, solo use | Teams, enterprise, model diversity |
These are IDE-agnostic — no change when you switch:
project-context/— Directory layout and all Phase 1/2/3 outputs (MRD, PRD, SAD, setup.md, frontend.md, backend.md, integration.md, qa.md).- Templates — PRD, SAD, MR templates (in
.cursor/templates/; shared across IDEs). - Phase 1 prompt — Usable in any AI chat; same content in Cursor prompts, Claude Code commands, or VS Code prompts.
- Crew logic and artifacts — The same persona/rules/templates methodology regardless of IDE.
- Git and dependency setup — Same repo and
pyproject.tomlworkflow.
What does change per IDE: where rules and agents live (.cursor/, .claude/, or .github/) and how you invoke personas and reference files (see table above).
CLI flags:
--dest PATH— Output directory (default: current directory)--ide {cursor,claude-code,vscode}— Target IDE (default: cursor)--overwrite— Allow replacing existing files--dry-run— Preview what would be written
Inspect bundle contents: aamad bundle-info --verbose or aamad bundle-info --ide claude-code. For --ide vscode, artifacts are generated from the Cursor bundle (no separate bundle).
aamad/
├─ .cursor/
│ ├─ agents/ # Agent persona definitions
│ ├─ prompts/ # Phase-specific prompts
│ ├─ rules/ # Architecture, workflow, epics rules
│ └─ templates/ # PRD, SAD, MR templates
├─ project-context/
│ ├─ 1.define/ # PRD, SAD, research reports
│ ├─ 2.build/ # Setup, frontend, backend, integration, QA
│ └─ 3.deliver/ # QA logs, deploy configs
├─ docs/
├─ CHECKLIST.md
└─ README.md
Framework artifacts in .cursor/ are the source for both Cursor and Claude Code bundles.
Project-context is IDE-agnostic and shared across all IDEs.
- Install (recommended):
pip install aamadthenaamad init --ide <cursor|claude-code> - Select runtime target for Phase 2 (for example
AAMAD_TARGET_RUNTIME=crewai,AAMAD_TARGET_RUNTIME=claude-agent-sdk, orAAMAD_TARGET_RUNTIME=cursor-sdk). - Or clone this repository and copy
.cursor/andproject-context/into your project. - Confirm your IDE has the full agent, prompt, and rule set.
- Follow
CHECKLIST.mdfor the Define → Build → Deliver workflow. - Each agent persona executes its epic(s), producing markdown artifacts and code.
- Review, test, and launch the MVP, then iterate.
The Product Manager persona (@product-mgr) conducts prompt-driven discovery and context setup to standardize project scoping:
- Market Research: Generate Market Research Document (MRD) using
.cursor/templates/mr-template.md - Requirements: Generate Product Requirements Document (PRD) using
.cursor/templates/prd-template.md - Context Summary: Create comprehensive context handoff artifacts for technical teams
- Validation: Ensure completeness of market analysis, user personas, feature requirements, and success metrics
Phase 1 outputs are stored in project-context/1.define/ and provide the foundation for all subsequent development phases.
Each role is embodied by an agent persona, defined in .cursor/agents/ (Cursor) or .claude/agents/ (Claude Code).
Before implementation, set AAMAD_TARGET_RUNTIME to the target backend runtime (crewai default, claude-agent-sdk supported, cursor-sdk supported).
Phase 2 is executed by running each epic in sequence after completing Phase 1:
- Architecture: Generate solution architecture document (
sad.md) - Setup: Scaffold environment, install dependencies, and document (
setup.md) - Frontend: Build UI + placeholders, document (
frontend.md) - Backend: Implement backend, document (
backend.md) - Integration: Wire up chat flow, verify, document (
integration.md) - Quality Assurance: Test end-to-end, log results and limitations (
qa.md)
Artifacts are versioned and stored in project-context/2.build for traceability.
- Persona-driven development: Each workflow is owned and documented by a clear AI agent persona with a single responsibility principle.
- Context artifacts: All major actions, decisions, and documentation are stored as markdown artifacts, ensuring explainability and reproducibility.
- Parallelizable epics: Big tasks are broken into epics, making development faster and more autonomous while retaining control over quality.
- Reusability: Framework reusable for any project—simply drop in your PRD/SAD and let the agents execute.
- Open, transparent, and community-driven: All patterns and artifacts are readable, auditable, and extendable.
Contributions are welcome!
- Open an issue for bugs/feature ideas/improvements.
- Submit pull requests with extended templates, new agent personas, or bug fixes.
- Help evolve the knowledge base and documentation for greater adoption.
- When modifying
.cursor/orproject-context/, runpython scripts/update_bundle.pyto refresh both Cursor and Claude Code bundles before publishing.
Licensed under Apache License 2.0.
Why Apache-2.0 Explicit patent grant and patent retaliation protect maintainers and users from patent disputes, which is valuable for AI/ML methods, agent protocols, and orchestration logic. Permissive terms enable proprietary or closed-source usage while requiring attribution and change notices, which encourages integration into enterprise stacks. Compared to MIT/BSD, Apache-2.0 clarifies modification notices and patent rights, reducing legal ambiguity for contributors and adopters.
For detailed step-by-step Phase 2 execution, see CHECKLIST.md.
For advanced reference and prompt engineering, see.cursor/templates/and.cursor/rules/.