Framework para desenvolvimento orientado a testes usando agentes de IA.
O Agent Flow TDD utiliza modelos de IA para auxiliar no desenvolvimento orientado a testes, gerando código, testes e documentação com base em prompts. O framework suporta múltiplos modelos de IA, tanto locais quanto remotos, e oferece uma interface de linha de comando simples para interação.
# Clone o repositório
git clone https://github.com/Malnati/agent-flow-tdd.git
cd agent-flow-tdd
# Instale as dependências
make install
# Execute um exemplo
make tdd prompt="Criar API REST em Python" format=json
A documentação completa está disponível no diretório docs/:
- Visão Geral - Arquitetura e tecnologias
- Instalação - Requisitos e configuração
- Uso - Comandos e exemplos
- Modelos - Exemplos de uso com diferentes modelos
- Troubleshooting - Solução de problemas
# Gerar código/testes a partir de um prompt
make tdd prompt="Criar sistema de login" format=json
# Especificar modelo
make tdd prompt="Implementar ordenação" model=deepseek_local format=python
# Visualizar logs
make logs
# Executar testes
make test
# Otimizar sistema macOS para modelos LLM locais
make optimize-macos
# Publicar pacote (requer token PyPI)
make publish
tinyllama-1.1b
- TinyLLaMA (1.1B)phi1
- Microsoft Phi-1 (1.3B)phi-4-2.7b
- Microsoft Phi-4 (2.7B) - Otimizado para MacOS M2starcoder2-3b
- BigCode StarCoder2 (3B) - Especializado em códigodeepseek_local
- DeepSeek Coder (6.7B)phi3-mini
- Microsoft Phi-3 Mini
gpt-3.5-turbo
,gpt-4-turbo
- OpenAIclaude-3-opus
,claude-3-sonnet
- Anthropicgemini-pro
- Google
Se você estiver executando modelos locais em um MacBook com RAM limitada (como MacBook Air M2 com 8GB):
-
Execute o comando de otimização para melhorar a performance:
make optimize-macos
-
Priorize modelos menores como
phi1
ephi3-mini
, que funcionam bem mesmo com RAM limitada. -
O sistema ajusta automaticamente parâmetros para modelos locais:
- Utiliza quantização eficiente (Q4_K_M)
- Ativa offload para GPU quando possível
- Implementa chunking para prompts longos
- Monitora recursos do sistema para prevenir travamentos
Se você encontrar problemas ao executar make publish
devido a falhas no comando python -m build
, você pode:
-
Executar os comandos de build manualmente no terminal:
python -m build python -m twine upload dist/* --username __token__ --password $PYPI_TOKEN
-
Ou modificar o Makefile para usar
$(SHELL)
em vez debash -c
:@$(SHELL) -c "$(PYTHON) -m build"
Consulte a seção de Troubleshooting para mais informações sobre outros problemas comuns e suas soluções.
Contribuições são bem-vindas! Veja CONTRIBUTING.md para mais detalhes.
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.