Agent Flow TDD - Biblioteca para desenvolvimento orientado a testes com agentes
Project description
Agent Flow TDD
Framework para automação de fluxo de features TDD usando agentes de IA.
🚀 Funcionalidades
- Geração de features com critérios de aceite e cenários de teste
- Análise de complexidade e estimativas
- Suporte a múltiplos modelos de IA (GPT-3.5, GPT-4)
- Interface CLI com modo interativo e MCP (Multi-Command Protocol)
- Saída em formatos JSON e Markdown
📋 Pré-requisitos
- Python 3.13+
- Chave de API OpenAI (
OPENAI_KEY) - Ambiente virtual Python (venv)
🛠️ Instalação
- Clone o repositório:
git clone https://github.com/seu-usuario/agent-flow-tdd.git
cd agent-flow-tdd
- Crie e ative o ambiente virtual:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# ou
.venv\Scripts\activate # Windows
- Instale as dependências:
make install
- Configure a variável de ambiente
OPENAI_KEY:
export OPENAI_KEY="sua-chave-aqui"
🎮 Comandos Disponíveis
make install
Instala todas as dependências do projeto.
make install
make test
Executa todos os testes do projeto.
make test
make cli
Inicia o CLI para processamento de features.
make cli
# Exemplos de uso:
cli feature "Criar sistema de login com autenticação de dois fatores"
cli feature "Criar sistema de cadastro de usuários" --model gpt-4-turbo
cli feature "Criar API REST" --format markdown
cli status
Opções do comando feature:
--model, -m: Modelo a ser usado (default: gpt-3.5-turbo)--elevation-model, -e: Modelo para fallback (default: gpt-4-turbo)--force, -f: Força uso do modelo sem fallback--api-key, -k: Chave da API (opcional)--timeout, -t: Tempo limite em segundos (default: 30)--max-retries, -r: Máximo de tentativas (default: 3)--temperature, -temp: Temperatura do modelo (default: 0.7)--max-tokens, -mt: Limite de tokens (opcional)--format, -fmt: Formato de saída (json/markdown)
Protocolo MCP (Model Context Protocol)
O projeto agora suporta o Model Context Protocol oficial, permitindo:
- Integração padronizada com diferentes modelos de IA
- Comunicação bidirecional via protocolo MCP
- Suporte a streaming e eventos assíncronos
Como Funciona
- Inicie o modo MCP:
cli mcp
- Envie mensagens no formato MCP:
{
"content": "Criar sistema de login",
"metadata": {
"type": "feature",
"options": {
"model": "gpt-4-turbo",
"temperature": 0.7,
"format": "json"
}
}
}
- Receba respostas no formato MCP:
{
"content": {
"feature": "Sistema de Login",
"acceptance_criteria": [...],
"test_scenarios": [...],
"complexity": 3
},
"metadata": {
"status": "success",
"type": "feature"
}
}
🤖 Integração de Modelos
O projeto usa o Model Context Protocol para integração com diferentes modelos:
1. Via SDK MCP
from mcp_sdk import MCPHandler
from src.app import AgentOrchestrator
handler = MCPHandler()
handler.initialize(api_key="sua-chave")
handler.run()
2. Via CLI
# OpenAI GPT-4
cli feature "Criar API" --model gpt-4-turbo --api-key $OPENAI_KEY
# Anthropic Claude
cli feature "Criar API" --model claude-3 --api-key $ANTHROPIC_KEY
3. Via MCP
Especifique o modelo nas options:
{
"content": "Criar API REST",
"metadata": {
"type": "feature",
"options": {
"model": "gpt-4-turbo",
"api_key": "sua-chave",
"temperature": 0.7
}
}
}
Modelos Suportados
Atualmente:
- OpenAI GPT-3.5 Turbo
- OpenAI GPT-4 Turbo
- Anthropic Claude (via MCP)
- Outros modelos compatíveis com MCP
🧪 Testes
O projeto usa pytest para testes. Execute:
make test
📝 Logs
Os logs são gerados automaticamente com:
- Nível INFO para entrada/saída de funções
- Nível DEBUG para estados intermediários
- Nível ERROR para exceções (com stacktrace)
🔒 Variáveis de Ambiente
OPENAI_KEY: Chave da API OpenAI (obrigatória)ELEVATION_MODEL: Modelo para fallback (opcional)
🤝 Contribuindo
- Fork o projeto
- Crie sua branch de feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_flow_tdd-2025.4.1.2.tar.gz.
File metadata
- Download URL: agent_flow_tdd-2025.4.1.2.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc5eb736d2bfb634c07b86516c02eede59d292286985bac3a5b8dca5f5f6e4cd
|
|
| MD5 |
eda8cd5721993ea38b368ff10f634358
|
|
| BLAKE2b-256 |
0eccc77375fe3dcfda1734ab1fdaf1fd6f362280c9575090fb48a562383ed727
|
File details
Details for the file agent_flow_tdd-2025.4.1.2-py3-none-any.whl.
File metadata
- Download URL: agent_flow_tdd-2025.4.1.2-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a36961fc7b0082b6c082273ec4d45e270ebf8dc47366337d8f1a375a919ab2fc
|
|
| MD5 |
5fc09237be2f7417461f6e542dfb1e69
|
|
| BLAKE2b-256 |
be0877e2b99498b4259575c9c19b3c6c8cf3a82744897aa2e7f1b18e6b4fb528
|