Skip to content

synaptic-ai-consulting/AAMAD

Repository files navigation

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?

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.


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

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["• 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;
Loading
  • 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.


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 is out of scope for v0.5.0.

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/       # QA logs, deploy 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+PNew 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.toml workflow.

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/    # 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.


How to Use the Framework

  1. Install (recommended): pip install aamad then aamad init --ide <cursor|claude-code>
  2. Select runtime target for Phase 2 (for example AAMAD_TARGET_RUNTIME=crewai, AAMAD_TARGET_RUNTIME=claude-agent-sdk, or AAMAD_TARGET_RUNTIME=cursor-sdk).
  3. Or clone this repository and copy .cursor/ and project-context/ into your project.
  4. Confirm your IDE has the full agent, prompt, and rule set.
  5. Follow CHECKLIST.md for the Define → Build → Deliver workflow.
  6. Each agent persona executes its epic(s), producing markdown artifacts and code.
  7. Review, test, and launch the MVP, then iterate.

Phase 1: Define Stage (Product Manager)

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.


Phase 2: Build Stage (Multi-Agent)

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.


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.
  • 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.

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/ or project-context/, run python scripts/update_bundle.py to 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/.

About

A Context Engineering Framework for AI-Assisted Multi Agent Applications Development

Resources

License

Stars

68 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors

Languages