https://github.com/hamzakamelen/dev-team
DevTeam is an AI-powered multi-agent system that acts as your virtual developer team. It routes queries to expert agents (Frontend, Backend, AI, Full Stack) with guardrails and interactive Chainlit UI.
https://github.com/hamzakamelen/dev-team
agentic-ai chainlit dev-team multiagent-systems openaiagentssdk python
Last synced: 8 months ago
JSON representation
DevTeam is an AI-powered multi-agent system that acts as your virtual developer team. It routes queries to expert agents (Frontend, Backend, AI, Full Stack) with guardrails and interactive Chainlit UI.
- Host: GitHub
- URL: https://github.com/hamzakamelen/dev-team
- Owner: hamzakamelen
- Created: 2025-08-30T23:30:28.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-31T13:45:02.000Z (10 months ago)
- Last Synced: 2025-08-31T15:33:40.954Z (10 months ago)
- Topics: agentic-ai, chainlit, dev-team, multiagent-systems, openaiagentssdk, python
- Language: Python
- Homepage: https://dev-team-71001020aa16.herokuapp.com/
- Size: 271 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DevTeam β AI-Powered Developer Team π¨βπ»π€
An **AI-powered developer assistant** built with [OpenAI Agents](https://github.com/openai/agents), [Chainlit](https://docs.chainlit.io/), and [Gemini API](https://ai.google.dev/).
It acts as a **multi-agent system** with specialized experts for **Frontend, Backend, AI, and Full Stack Development**, managed by a central **Manager Agent**.
The system includes **guardrails** for input and output validation to ensure domain relevance.
---
## π Features
* **Multi-Agent Setup**
* Frontend Expert (React, CSS, JS, UI/UX)
* Backend Expert (APIs, Databases, Server Architecture)
* AI Expert (ML/DL, LLMs, Agents, RAG)
* Full Stack Expert (Frontend + Backend + AI + DevOps)
* **Manager Agent** β Routes queries to the correct expert.
* **Guardrails** β Input & Output validation ensures responses stay domain-related.
* **Summarizer Agent** β Keeps conversations concise by summarizing long histories.
* **Interactive Chat UI** powered by Chainlit.
## **Installation**
### 1. Clone the repo
```bash
git clone https://github.com/hamzakamelen/dev-team.git
cd dev-team
```
### 2. Create virtual environment with `uv`
```bash
uv init .
uv add -r requirements.txt
```
Or manually install with pip:
```bash
pip install -r requirements.txt
```
### 3. Activate the environment
```bash
# Windows
.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate
```
---
## βοΈ Environment Variables
Create a `.env` file in the project root:
```env
GEMINI_API_KEY=your_gemini_api_key_here
```
---
## βΆοΈ Running the Project
Run normally:
```bash
uv run app.py
```
Run with Chainlit UI:
```bash
uv run chainlit run app.py -w
```
Then open [http://localhost:8000](http://localhost:8000) to chat with your **AI Developer Team**.
---
## π Project Structure
```
.
βββ main.py # Entry point (Chainlit handlers & chat flow)
βββ dev_agents/ # Specialized agents (experts, manager, summarizer)
β βββ __init__.py
β βββ experts.py
β βββ manager.py
β βββ summarizer.py
β
βββ guardrails/ # Input & Output guardrails
β βββ __init__.py
β βββ input_guardrail.py
β βββ output_guardrail.py
β
βββ utils/ # Helper functions & history utils
β βββ __init__.py
β βββ helpers.py
β
βββ config/ # Project-wide settings
β βββ __init__.py
β βββ settings.py
β
βββ requirements.txt # Python dependencies
βββ .env # API keys (ignored by git)
βββ README.md # Documentation
```
---
## π Requirements
Dependencies are listed in `requirements.txt`. Main ones include:
* `python-dotenv` β Load environment variables
* `openai-agents` β Multi-agent orchestration
* `chainlit` β Chat UI
* `requests` β API calls
---
## π― Usage
Once running, the chatbot greets you with:
> βHi! π Welcome to DevTeam - your AI-powered Developer Team.
> I can help you with:
>
> * Frontend Development
> * Backend Development
> * Artificial Intelligence
> * Full Stack Developmentβ
Just ask a question, and the **Manager Agent** will route it to the correct expert.
---
## π‘οΈ Guardrails
* **Input Guardrail** β Blocks irrelevant queries (e.g., unrelated to dev/AI).
* **Output Guardrail** β Ensures final response remains within supported domains.
---
## π€ Contributing
PRs are welcome! For major changes, open an issue first to discuss what youβd like to change.