AI-Assisted Multi-Agent Development framework artifacts and installer
Project description
AAMAD – AI-Assisted Multi-Agent Application Development Framework
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.
Table of Contents
- What is AAMAD?
- What AAMAD is not
- Principles and benefits
- Core Concepts
- AAMAD phases at a glance
- Installation
- Using AAMAD in your IDE
- Repository Structure
- Runtime adapters
- How to Use the Framework
- Phase 1: Define Workflow (Product Manager)
- Phase 2: Build Workflow (Multi-Agent)
- Phase 3: Deliver Stage (DevOps)
- Contributing
- License
What is AAMAD?
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.
What AAMAD is not
- 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 remains out of scope (see current release notes / changelog).
Principles and benefits
AAMAD changes “vibe coding” from ad-hoc prompting into a context-first, persona-driven workflow:
- Single-responsibility personas own clear epics (Define → Build → Deliver) with explicit inputs, outputs, and prohibited actions.
- Artifacts over chat memory: PRD, SAD, and phase docs under
project-context/make decisions auditable and reproducible. - Runtime adapters are an implementation choice (
AAMAD_TARGET_RUNTIME), not the methodology itself. - Quality gates (required headings, optional
aamad validate, QA → security → deliver) keep MVP scope honest.
Benefits you can expect: clearer requirements before code, less rework from underspecified prompts, traceable handoffs between agents, and documentation that stays useful when you re-sync after code changes.
Core Concepts
- 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.
- Quality gates: Required artifact headings, optional
aamad validate, and QA → security → deliver sequencing. - Project configuration: Optional
aamad.config.ymlfor shared language, UI, testing, and security preferences across personas. - Documentation sync: After enhancing generated code, use
prompt-sync-docssoproject-context/stays aligned with the implementation. - 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.
AAMAD phases at a glance
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["• System Description<br/>• MRD optional<br/>• PRD / stories"]:::list
end
subgraph P2[BUILD]
B1H[AGENTS]:::hdr --> B1L["• Project Mgr<br/>• System Architect<br/>• Frontend / Backend<br/>• Integration / QA<br/>• Security 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["• delivery‑workflow<br/>(deploy, CI, user guide)"]:::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 structured elicitation (recommended), optional MRD for commercial products, and PRD/user stories to standardize project scoping. -
Phase 2 (Build): Multi‑agent execution by Project Manager, System Architect, Frontend Engineer, Backend Engineer, Integration Engineer, QA Engineer (unit + integration stages), and (recommended) Security Engineer, governed by core/development-workflow rules and the selected runtime adapter rule.
-
Phase 3 (Deliver): DevOps Engineer (
@devops.eng) packages the validated MVP using thedelivery-workflowrule; artifacts includeproject-context/3.deliver/deploy.mdand optionallyuser-guide.md.
Installation
Install AAMAD from PyPI and initialize the framework for your IDE:
pip install aamad
# or
uv pip install aamad
Multi-IDE support
AAMAD 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
Framework feature implementation by IDE
| 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) |
Cursor
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/ # deploy runbook and configs
├── AGENTS.md # Bridge file (IDE discoverability)
├── CHECKLIST.md
└── README.md
Claude Code
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
VS Code + GitHub Copilot
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).
Using AAMAD in your IDE
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.
Workflow and context (per IDE)
| 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 comparison
| 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 |
What is the same in all IDEs
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).
Repository Structure
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/ # deploy runbook and 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.
Runtime adapters
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 |
How to Use the Framework
- Install (recommended):
pip install aamadthenaamad init --ide <cursor|claude-code|vscode> - Optional project config: copy
aamad.config.example.yml→aamad.config.ymland set language, UI, testing, and security preferences. - Select runtime target for Phase 2 (for example
AAMAD_TARGET_RUNTIME=crewai,AAMAD_TARGET_RUNTIME=claude-agent-sdk, orAAMAD_TARGET_RUNTIME=cursor-sdk). - Confirm your IDE has the full agent, prompt, and rule set.
- Follow
CHECKLIST.mdfor the Define → Build → Deliver workflow (start Phase 1 with*elicit-requirementswhen the use case is specialized). - Each agent persona executes its epic(s), producing markdown artifacts and code.
- Run
aamad validate --phase define|build|deliverat phase gates to check required artifacts and Audit headings. - Review, test, and launch the MVP. After code changes that drift from docs, use
.cursor/prompts/prompt-sync-docs(Claude Code:/sync-docs) to resynchronizeproject-context/.
Phase 1: Define Stage (Product Manager)
The Product Manager persona (@product-mgr) conducts discovery and context setup to standardize project scoping:
- Elicitation (recommended): Structured questionnaire →
system-description.mdvia*elicit-requirements - Market Research (optional): MRD using
.cursor/templates/mrd-template.mdfor commercial products; skip for internal/personal tools - Requirements: PRD using
.cursor/templates/prd-template.md - User stories: MVP stories for architecture and QA traceability
- Project config: Optional
aamad.config.ymlfor language, UI, testing, and security defaults - Validation: Run
aamad validate --phase definewhen artifacts exist
Phase 1 outputs are stored in project-context/1.define/ and provide the foundation for all subsequent development phases.
Phase 2: Build Stage (Multi-Agent)
Each role is embodied by an agent persona, defined in .cursor/agents/ (Cursor), .claude/agents/ (Claude Code), or .github/agents/ (VS 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 for the selected runtime, document (
backend.md) - Integration: Wire up chat flow, verify, document (
integration.md) - Quality Assurance: Run
*test-unitand*test-integration, then smoke/acceptance (*qa); map tests to acceptance-criteria IDs when present; log inqa.md - Security (recommended):
@security.eng→security.mdbefore Deliver (required whenaamad.config.ymlsetssecurity.require_security_assessment: true)
Artifacts are versioned and stored in project-context/2.build for traceability.
Phase 3: Deliver Stage (DevOps)
After QA (and preferably security), invoke @devops.eng:
- Release readiness: Confirm
qa.md(and notesecurity.mdstatus) - Deploy / CI: Minimal deploy and pipeline config aligned with SAD and
AAMAD_TARGET_RUNTIME - Runbook:
project-context/3.deliver/deploy.md(hosting, env matrix, access, rollback) - User docs:
*document-user-guide→project-context/3.deliver/user-guide.md - Validate:
aamad validate --phase deliver
Contributing
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.
License
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/.
Project details
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 aamad-0.7.5.tar.gz.
File metadata
- Download URL: aamad-0.7.5.tar.gz
- Upload date:
- Size: 134.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
004527eaa4ff370b010a763173ecf82eb3dfb55cd9ee7d2f13b94c698abab3be
|
|
| MD5 |
aecb0331a0babb6edb1c9598333b2f46
|
|
| BLAKE2b-256 |
33f4354c4204302e6756f4a27fd8775f6ae35f554c5f96610f026b8331cd31c1
|
File details
Details for the file aamad-0.7.5-py3-none-any.whl.
File metadata
- Download URL: aamad-0.7.5-py3-none-any.whl
- Upload date:
- Size: 122.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24b895922bd3ddf5dd0aca077398f8b547289932edc80b96a34f0341ed02e00a
|
|
| MD5 |
710d580aabdeb3086987c8d2f980687b
|
|
| BLAKE2b-256 |
7a32249c94497b32341fa7684e01a1d152a85d3a4d2563b02281aada464a13fd
|