A comprehensive spec-driven development workflow that combines the best practices from BMAD-METHOD, Context Engineering, and Spec-Driven Development, enhanced with A2A (Agent-to-Agent) communication protocols.
This system implements an intelligent agent-based workflow where specialized AI agents collaborate to build software from requirements to deployment, following a spec-driven approach that ensures consistency and quality throughout the development process.
- π€ Intelligent Agents: 8 specialized agents (Analyst, PM, Architect, Scrum Master, Developer, QA, UX Expert, Product Owner)
- π§ Rich Context: Persistent context management with symbolic mechanisms
- π Spec-Driven: Design-first approach with API specifications as the source of truth
- π A2A Communication: Standardized agent-to-agent communication using A2A SDK
- π€ User Control: Full visibility and control over the development process
- π» IDE Integration: Seamless integration with development environments
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User Interface Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Web UI β β CLI β β IDE β β API β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Orchestration Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Workflow β β Context β β Task β β Event β β
β β Manager β β Manager β β Scheduler β β Bus β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agent Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Analyst β β PM β β Architect β β Scrum Masterβ β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Developer β β QA β β UX Expert β β Product β β
β β β β β β β β Owner β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Communication Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β A2A β β Context β β Memory β β Artifact β β
β β SDK β β Engine β β Store β β Manager β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Infrastructure Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Database β β File β β AI/LLM β β Monitoring β β
β β β β System β β Services β β & Logging β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- π Python 3.9+: Core orchestration and AI agent logic
- π FastAPI: High-performance web framework for APIs
- π€ A2A SDK: Agent-to-agent communication protocol
- π Pydantic AI: AI-powered data validation and processing
- ποΈ PostgreSQL: Reliable database for project data
- π§ ChromaDB: Vector database for semantic search
- β‘ Redis: Caching and session management
- Python 3.9 or higher
- PostgreSQL 13 or higher
- Redis 6 or higher
-
Clone the repository
git clone git@github.com:anhermon/spec-driven-agent.git cd spec-driven-agent
-
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration
-
Initialize database
alembic upgrade head
-
Start the application
uvicorn spec_driven_agent.main:app --reload
# Start a new project
agent spec create --name "Task Management App" --description "A web app for team task management"
# Generate requirements
agent spec generate --from requirements.md
# Design architecture
agent architect design --api-spec
# Implement features
agent developer implement --story user-auth
# Run tests
agent qa test --module auth
- Open your browser to
http://localhost:8000
- Create a new project
- Watch as agents collaborate to build your application
- Review and approve each phase of development
- Analyst Agent: Conducts stakeholder interviews and market research
- PM Agent: Creates comprehensive Product Requirements Document (PRD)
- User: Reviews and approves requirements
- Architect Agent: Analyzes requirements and proposes system design
- User: Provides technical constraints and preferences
- Output: Detailed architecture document and API specifications
- Scrum Master Agent: Breaks down work into manageable stories
- Developer Agent: Implements features with continuous feedback
- User: Reviews progress and provides guidance
- QA Agent: Runs comprehensive tests and validation
- UX Expert Agent: Ensures user experience quality
- Product Owner Agent: Validates against original requirements
# Run all tests
pytest
# Run with coverage
pytest --cov=spec_driven_agent
# Run specific test file
pytest tests/test_workflow.py
# Format code
black spec_driven_agent/
# Sort imports
isort spec_driven_agent/
# Type checking
mypy spec_driven_agent/
# Linting
flake8 spec_driven_agent/
# Create new migration
alembic revision --autogenerate -m "Description of changes"
# Apply migrations
alembic upgrade head
# Rollback migration
alembic downgrade -1
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Phase 1: Core Engine (Weeks 1-2)
- Spec-Driven Context Engine
- Workflow Orchestrator
- CLI Interface
- Phase 2: Agent Implementation (Weeks 3-4)
- Analyst Agent
- Architect Agent
- Developer Agent
- Phase 3: User Interface (Weeks 5-6)
- Web Dashboard
- Real-time Progress Tracking
- Phase 4: Advanced Integration (Weeks 7-8)
- LSP Integration
- Performance Optimization