An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# DevTeam – AI-Powered Developer Team πŸ‘¨β€πŸ’»πŸ€–


DevTeam Logo

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.