This repository contains a fully automated AI development team built using CrewAI, designed to create fullstack software applications from natural language requirements. The system utilizes specialized AI agents that collaborate to handle the entire software development lifecycle - from requirements analysis to testing.
The project demonstrates the power of agentic AI by automating complex development tasks typically requiring multiple human developers, complete with a modern React frontend for real-time interaction and monitoring.
Built upon concepts from Ed Donner's Agentic AI course, significantly expanded with a full frontend interface, comprehensive logging, and enhanced workflow management.
- Autonomous Development: Complete software development from requirements to testing
- Interactive Frontend: React-based UI for real-time agent monitoring and task management
- Robust Backend: Flask-powered API with comprehensive logging and error handling
- Live Progress Tracking: Real-time logs and agent status updates
- Configurable Agents: Easily customizable AI agents and tasks through YAML configuration
- Organized Output: Structured file generation with proper project organization
- Frontend: React 19, Vite, CSS3, React Markdown
- Backend: Python 3.11+, Flask, CrewAI, OpenAI API
- AI Model: GPT-4o-mini because it's cheap and good enough
My system employs eight specialized AI agents working in harmony:
- Engineering Lead: Analyzes requirements and creates detailed software architecture designs
- Frontend Engineer: Develops React-based user interfaces following design specifications
- Backend Engineer: Implements Python backend logic with proper class structures and methods
- QA Engineer: Creates comprehensive unit tests to ensure code quality and functionality
- DevOps Engineer: Configures deployment pipelines and infrastructure as code
- Documentation Specialist: Generates detailed design and API documentation
- Security Auditor: Reviews code for security vulnerabilities and compliance with best practices
- Performance Optimizer: Analyzes code for performance bottlenecks and suggests improvements
Each agent is powered by GPT-4o-mini and configured with specific roles, goals, and backstories for optimal performance.
frontend/
├── public/ # Static assets and favicons
├── src/
│ ├── components/ # Reusable React components
│ │ ├── AgentOutput.jsx # Displays agent execution results
│ │ ├── CodeOutputs.jsx # Shows generated code files
│ │ ├── LiveLogs.jsx # Real-time logging display
│ │ ├── RequirementsForm.jsx # User input form for requirements
│ │ └── TeamOverview.jsx # Agent status and overview
│ ├── services/ # API service for backend communication
│ │ ├── api.js # Handles API requests and responses
│ ├── styles/ # Component-specific CSS files
│ ├── App.jsx # Main application component
│ └── main.jsx # React application entry point
├── package.json # Dependencies and scripts
└── vite.config.js # Vite build configuration
backend/
├── config/ # Agent and task configurations
│ ├── agents.yaml # AI agent definitions and prompts
│ └── tasks.yaml # Task workflows and dependencies
├── src/ # Core application logic
│ ├── routes/ # Flask API endpoints
│ │ ├── generate.py # Main generation endpoint
│ │ ├── health.py # Health check endpoint
│ │ ├── logs.py # Logging endpoints
│ │ ├── requirements.py # Requirements management
│ │ └── team.py # AI Team management and status
│ ├── services/ # Business logic services
│ │ ├── crewai_service.py # CrewAI integration service
│ │ └── requirements_service.py # Requirements processing
│ └── utils/ # Utility functions
│ └── logging.py # Centralized logging setup
├── tools/ # Custom CrewAI tools
├── output/ # Generated code and documentation
├── knowledge/ # System knowledge and preferences
├── app.py # Main Flask application
├── crew.py # CrewAI crew configuration
└── requirements.txt # Python dependencies
- Node.js 18+ for the frontend
- Python 3.11+ for the backend
- OpenAI API Key for AI agent functionality
-
Clone the repository:
git clone https://github.com/CharlieIQ/agentic-devteam-ai.git cd agentic-devteam-ai -
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser: Navigate to
http://localhost:5173(default port for Vite)
-
Navigate to backend directory:
cd backend -
Create and activate virtual environment:
python -m venv venv # On macOS/Linux: source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Configure environment variables: Create a
.envfile in the backend directory:OPENAI_API_KEY=your_openai_api_key_here
-
Start the backend server:
python app.py
-
Verify backend: The API will be running on
http://localhost:5001
For command-line usage without the frontend:
# From the backend directory
crewai runTo add new AI agents to your development team:
-
Define the agent in
backend/config/agents.yaml:your_new_agent: role: > Brief description of the agent's role goal: > Detailed description of what the agent should accomplish. Use {requirements} and other variables as needed. backstory: > Background story that gives the agent context and personality llm: openai/gpt-4o-mini
-
Add corresponding task in
backend/config/tasks.yaml:your_new_task: description: > Detailed task description with specific instructions. Reference variables like {requirements} or {module_name}. expected_output: > Clear description of expected deliverable format and content. agent: your_new_agent context: - dependency_task_1 # List any prerequisite tasks - dependency_task_2 output_file: output/your_output_file.ext
-
Update the crew configuration in
backend/crew.pyto include your new agent and task.
- Role: Keep it concise but descriptive
- Goal: Be specific about inputs (
{requirements}) and expected outputs - Backstory: Provide context that influences the agent's "thinking"
- Context: Ensure proper task dependencies for sequential execution
- Output Files: Use descriptive names and appropriate file extensions
# In agents.yaml
devops_engineer:
role: >
DevOps Engineer specializing in deployment and infrastructure
goal: >
Create deployment configuration and CI/CD pipeline for the application.
Requirements: {requirements}
backstory: >
You're an experienced DevOps engineer who excels at containerization,
cloud deployment, and automated testing pipelines.
llm: openai/gpt-4o-mini
# In tasks.yaml
deployment_task:
description: >
Create Dockerfile, docker-compose.yml, and GitHub Actions workflow
for the application based on the requirements: {requirements}
expected_output: >
Complete deployment configuration including containerization and CI/CD setup.
agent: devops_engineer
context:
- code_task
- test_task
output_file: output/deployment_config.yml- Access the frontend at
http://localhost:5173 - Enter your software requirements in natural language
- Watch the AI agents collaborate in real-time through the live logs
- Review generated outputs including:
- Design documentation (
DESIGN.md) - Backend Python code (
main.py) - Frontend React component (
App.jsx) - Unit tests (
test_main.py)
- Design documentation (
The backend provides a RESTful API with the following endpoints:
GET /api/health- Health check endpoint with CrewAI availability statusGET /api/teams/config- Get team configuration and agent statusPOST /api/requirements- Save and validate user requirementsPOST /api/code-generation- Trigger agent workflow with requirementsGET /api/logs- Server-sent events stream for real-time logs
# Health check
curl http://localhost:5001/api/health
# Get team configuration
curl http://localhost:5001/api/teams/config
# Save requirements
curl -X POST http://localhost:5001/api/requirements \
-H "Content-Type: application/json" \
-d '{"requirements":"Build a todo app with React"}'
# Generate code
curl -X POST http://localhost:5001/api/code-generation \
-H "Content-Type: application/json" \
-d '{"requirements":"Create a login form with validation"}'This project is licensed under the MIT License - see the LICENSE file for details.
- CrewAI for the super cool agent framework
- Ed Donner for the foundational agentic AI concepts
- OpenAI for providing the GPT-4o-mini model
- Copilot for code generation assistance (haha)
Built with love and $5 of OpenAI credits