Skip to main content

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

  1. Clone o repositório:
git clone https://github.com/seu-usuario/agent-flow-tdd.git
cd agent-flow-tdd
  1. Crie e ative o ambiente virtual:
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# ou
.venv\Scripts\activate  # Windows
  1. Instale as dependências:
make install
  1. 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

  1. Inicie o modo MCP:
cli mcp
  1. Envie mensagens no formato MCP:
{
  "content": "Criar sistema de login",
  "metadata": {
    "type": "feature",
    "options": {
      "model": "gpt-4-turbo",
      "temperature": 0.7,
      "format": "json"
    }
  }
}
  1. 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

  1. Fork o projeto
  2. Crie sua branch de feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_flow_tdd-2025.4.1.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_flow_tdd-2025.4.1.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

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

Hashes for agent_flow_tdd-2025.4.1.2.tar.gz
Algorithm Hash digest
SHA256 cc5eb736d2bfb634c07b86516c02eede59d292286985bac3a5b8dca5f5f6e4cd
MD5 eda8cd5721993ea38b368ff10f634358
BLAKE2b-256 0eccc77375fe3dcfda1734ab1fdaf1fd6f362280c9575090fb48a562383ed727

See more details on using hashes here.

File details

Details for the file agent_flow_tdd-2025.4.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_flow_tdd-2025.4.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a36961fc7b0082b6c082273ec4d45e270ebf8dc47366337d8f1a375a919ab2fc
MD5 5fc09237be2f7417461f6e542dfb1e69
BLAKE2b-256 be0877e2b99498b4259575c9c19b3c6c8cf3a82744897aa2e7f1b18e6b4fb528

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page