Uma suíte completa de produtividade para commits Git com IA, interface rica, analytics avançados e sistema extensível de plugins.
- Interface interativa rica: Navegação visual com Rich library
- Seleção múltipla de opções: Escolha entre várias sugestões de commit
- Preview detalhado: Visualização completa antes do commit
- Syntax highlighting: Destaque de código e diffs
- Temas personalizáveis: Interface adaptável ao seu estilo
- Fallback inteligente: Funciona em qualquer terminal
- Métricas de produtividade: Análise detalhada do seu workflow
- Dashboards visuais: Relatórios de performance e tendências
- Analytics por provider/template: Insights de uso e eficiência
- Score de colaboração: Análise de padrões de equipe
- Exportação de dados: Relatórios em JSON e texto
- Base SQLite: Armazenamento persistente de métricas
- Framework completo: Arquitetura modular para extensões
- 4 tipos de plugins: AI Providers, Templates, Workflows, Integrações
- Plugin de exemplo: Custom Local AI com Ollama
- CLI de gerenciamento: Instalar, habilitar, configurar plugins
- Templates de criação: Facilita desenvolvimento de novos plugins
- Hot-loading: Carregamento dinâmico sem reinicialização
- Setup guiado: Configuração passo-a-passo interativa
- Detecção automática: Identifica configurações existentes
- Interface dupla: Rich UI + fallback simples
- Configuração completa: Providers, hooks, analytics, plugins
- Validação em tempo real: Testa conectividade e dependências
- Geração inteligente de commits: IA analisa mudanças e gera mensagens profissionais
- 4 Provedores de IA: OpenAI GPT, Google Gemini, Anthropic Claude, Ollama Local
- Sistema de templates avançado: 8 padrão + templates personalizados
- Cache SQLite inteligente: Performance otimizada e uso offline
- Git Hooks automáticos: Integração completa no workflow Git
- Configuração persistente: Preferências salvas automaticamente
- Python 3.8+
- Git instalado e configurado
- API key de pelo menos um provedor de IA (opcional para Ollama)
git clone https://github.com/boltreskh/Commit-AI.git
cd Commit-AI
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
pip install -r requirements.txt
# Execute o wizard de configuração interativo
commit-ai setup
# Ou configure manualmente criando .env
# Faça suas alterações
git add .
# Gere commit inteligente
commit-ai
# Ou use a interface interativa
commit-ai tui
O Commit-AI v1.4.0 inclui um wizard interativo que configura tudo automaticamente:
commit-ai setup
O wizard irá:
- ✅ Verificar dependências (Git, Python)
- 🔑 Configurar API keys dos provedores
- 📋 Escolher templates e preferências
- 🪝 Instalar Git hooks automáticos
- 📊 Configurar sistema de analytics
- 🔌 Habilitar plugins desejados
- 🎨 Configurar interface e temas
Se preferir configurar manualmente, crie um arquivo .env
:
# Para OpenAI
OPENAI_API_KEY=sua_api_key_aqui
# Para Google Gemini
GEMINI_API_KEY=sua_api_key_aqui
# Para Anthropic Claude
ANTHROPIC_API_KEY=sua_api_key_aqui
# Configurações opcionais
DEFAULT_PROVIDER=openai
DEFAULT_TEMPLATE=conventional
LANGUAGE=portuguese
A nova interface interativa oferece a melhor experiência:
# Prepare suas alterações
git add .
# Interface interativa rica
commit-ai tui
# Com tema específico
commit-ai tui --theme dark
Navegação na TUI:
↑/↓
- Navegar entre opçõesENTER
- Confirmar seleçãoTAB
- Preview detalhador
- Regenerar opçõesESC
- Cancelar
# Gerar commit automaticamente
commit-ai
# Com opções específicas
commit-ai --provider gemini --template detailed --auto-commit
# Dashboard completo
commit-ai analytics
# Período específico
commit-ai analytics --period 30d
# Exportar relatório
commit-ai analytics --export json --output report.json
# Listar plugins disponíveis
commit-ai plugin list
# Informações de um plugin
commit-ai plugin info custom_local_ai
# Habilitar/desabilitar
commit-ai plugin enable custom_local_ai
commit-ai plugin disable custom_local_ai
# Criar novo plugin
commit-ai plugin create meu_plugin
# Instalar hooks (automático via wizard)
commit-ai hooks install
# Status dos hooks
commit-ai hooks status
# Atualizar hooks
commit-ai hooks update
# Habilitar auto-commit
commit-ai hooks install --auto-commit
# Geração personalizada
commit-ai --provider gemini --template detailed --language english
# Preview sem commit
commit-ai --preview
# Auto-commit sem confirmação
commit-ai --auto
# Modo verboso para debug
commit-ai --verbose
# Com modelos específicos
commit-ai --model gpt-4 --temperature 0.7 --max-tokens 100
commit-ai # Geração básica de commit
commit-ai tui # Interface interativa (TUI)
commit-ai setup # Wizard de configuração
commit-ai analytics # Dashboard de métricas
commit-ai configure # Configurar sistema
commit-ai providers # Gerenciar providers de IA
commit-ai templates # Gerenciar templates
commit-ai cache # Gerenciar cache
commit-ai hooks install # Instalar hooks automáticos
commit-ai hooks status # Status dos hooks
commit-ai hooks update # Atualizar hooks
commit-ai hooks remove # Remover hooks
commit-ai plugin list # Listar plugins
commit-ai plugin info <name> # Informações do plugin
commit-ai plugin enable <name> # Habilitar plugin
commit-ai plugin disable <name> # Desabilitar plugin
commit-ai plugin install <path> # Instalar plugin
commit-ai plugin create <name> # Criar template de plugin
commit-ai analytics # Dashboard completo
commit-ai analytics --period 7d # Últimos 7 dias
commit-ai analytics --export json # Exportar JSON
commit-ai analytics --provider openai # Métricas por provider
O Commit-AI inclui 8 templates profissionais + sistema de templates personalizados:
Template | Descrição | Exemplo |
---|---|---|
conventional | Conventional Commits padrão | feat: adicionar sistema de autenticação |
detailed | Mensagens detalhadas com contexto | feat(auth): implementar JWT authentication\n\n- Adicionar middleware de autenticação\n- Criar endpoints de login/logout |
simple | Mensagens concisas e diretas | Adicionar autenticação JWT |
semantic | Semantic commit com escopo | feat(api): add user authentication endpoints |
gitmoji | Emojis descritivos + conventional | ✨ feat: adicionar sistema de login |
angular | Estilo Angular com breaking changes | feat(core): add authentication module\n\nBREAKING CHANGE: requires new env vars |
atom | Estilo Atom (imperativo) | Add user authentication system |
karma | Estilo Karma com tipo e escopo | feat(auth): implement JWT tokens |
# Listar templates disponíveis
commit-ai templates list
# Definir template padrão
commit-ai templates set conventional
# Criar template personalizado
commit-ai templates create meu_template
# Importar/Exportar templates
commit-ai templates export --output templates_backup.json
commit-ai templates import templates_backup.json
Provider | Modelos | Configuração | Status |
---|---|---|---|
OpenAI | GPT-4, GPT-3.5-turbo, GPT-4-turbo | OPENAI_API_KEY |
✅ Funcional |
Google Gemini | gemini-pro, gemini-pro-vision | GEMINI_API_KEY |
✅ Funcional |
Anthropic Claude | claude-3-sonnet, claude-3-haiku | ANTHROPIC_API_KEY |
✅ Funcional |
Ollama Local | llama2, codellama, mistral | Instalação local | ✅ Funcional |
# Listar providers disponíveis
commit-ai providers list
# Definir provider padrão
commit-ai providers set openai
# Configurar modelo específico
commit-ai configure --provider gemini --model gemini-pro
# Testar conectividade
commit-ai providers test openai
# Instalar Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Baixar modelo
ollama pull llama2
# Configurar no Commit-AI
commit-ai providers set ollama --model llama2
Plugin | Tipo | Descrição | Status |
---|---|---|---|
custom_local_ai | AI Provider | Ollama personalizado | ✅ Incluído |
enhanced_templates | Template | Templates avançados | 🔄 Em desenvolvimento |
slack_integration | Integration | Notificações Slack | 🔄 Em desenvolvimento |
jira_workflow | Workflow | Integração Jira | 🔄 Em desenvolvimento |
# Criar novo plugin
commit-ai plugin create meu_plugin --type ai_provider
# Estrutura gerada:
plugins/meu_plugin.py
├── MeuPluginProvider(AIProviderPlugin)
├── get_info()
├── initialize()
└── generate_commit_message()
- Produtividade: Commits/dia, frequência, padrões temporais
- Qualidade: Score de confiança, tipos mais comuns
- Performance: Tempo de processamento por provider
- Colaboração: Análise de equipe, entropia de contribuições
- Uso: Providers/templates mais utilizados
# Dashboard principal
commit-ai analytics
# Métricas específicas
commit-ai analytics --period 30d --provider openai
commit-ai analytics --team --export csv
- Análise Inteligente: Verifica repositório Git e analisa mudanças staged
- IA Contextual: Envia diff para provider de IA com prompt otimizado
- Geração Profissional: IA gera mensagem seguindo template escolhido
- Interface Rica: TUI permite seleção visual entre múltiplas opções
- Analytics Automáticos: Coleta métricas de uso e produtividade
- Integração Completa: Git hooks automáticos para workflow seamless
Commit-AI/
├── commit_ai/
│ ├── __init__.py # Módulo principal
│ ├── main.py # CLI expandido v1.4.0
│ ├── version.py # Versionamento e roadmap
│ ├── config_manager.py # Gerenciamento de configuração
│ ├── git_handler.py # Integração Git
│ ├── logger.py # Sistema de logging
│ ├── ai_providers/ # Providers de IA (4 tipos)
│ ├── templates/ # Sistema de templates
│ ├── hooks/ # Git hooks automáticos
│ ├── tui.py # ✨ NOVO: Interface TUI rica
│ ├── analytics.py # ✨ NOVO: Sistema analytics
│ ├── plugins_system.py # ✨ NOVO: Framework plugins
│ ├── plugins_cli.py # ✨ NOVO: CLI de plugins
│ ├── config_wizard.py # ✨ NOVO: Wizard setup
│ └── plugins/ # ✨ NOVO: Plugins extensíveis
│ └── custom_local_ai.py # Plugin exemplo
├── tests/ # Suite de testes
├── requirements.txt # Dependências (+ Rich)
├── .env.example # Template configuração
└── docs/ # Documentação expandida
# Clone e configure
git clone https://github.com/boltreskh/Commit-AI.git
cd Commit-AI
# Ambiente virtual
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
# Dependências
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Instalar em modo desenvolvimento
pip install -e .
# Executar testes
pytest --cov=commit_ai
# Formatação de código
black commit_ai/
# Verificação de tipos
mypy commit_ai/
# Linting
flake8 commit_ai/
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch (
git checkout -b feature/AmazingFeature
) - Configure o ambiente de desenvolvimento
- Faça suas alterações e adicione testes
- Execute os testes (
pytest
) - Formate o código (
black commit_ai/
) - Commit usando o próprio Commit-AI! 😉
- Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
- Interface interativa rica com Rich library
- Seleção múltipla entre opções de commit
- Preview detalhado com syntax highlighting
- Temas personalizáveis e fallback inteligente
- Base SQLite para métricas persistentes
- Dashboards visuais de produtividade
- Análise por provider/template com insights
- Score de colaboração baseado em entropia
- Exportação em JSON/CSV para relatórios
- Arquitetura modular para 4 tipos de plugins
- CLI completo para gerenciamento de plugins
- Plugin exemplo (Custom Local AI)
- Hot-loading e verificação de dependências
- Setup guiado passo-a-passo
- Interface dupla (Rich + fallback simples)
- Detecção automática de configurações
- Validação em tempo real de conectividade
- Cache otimizado com índices SQLite
- Carregamento lazy de componentes
- Progress indicators para UX
- Fallbacks para dependências opcionais
- ✅ Todos os comandos anteriores mantidos
- ✅ Git hooks v1.3.0 funcionais
- ✅ Templates e configurações preservadas
- ✅ APIs e interfaces inalteradas
- 🖥️ Interface gráfica desktop (GUI)
- 🔗 Integração com IDEs (VS Code, JetBrains)
- ☁️ Sincronização em nuvem de configurações
- 🤝 Recursos colaborativos avançados
- 📱 Interface web para configuração
- 🌐 Marketplace de plugins comunitários
- 🔐 Recursos enterprise e compliance
- 🧠 Machine Learning personalizado
Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.
- 🐛 Issues: GitHub Issues
- 📚 Documentação: Consulte este README e arquivos em
docs/
- 💬 Contato: [email protected]
Desenvolvido com ❤️ e IA por boltreskh para desenvolvedores que querem commits melhores!
⭐ Gostou? Deixe uma estrela no projeto!