Sumário
- Introdução
- Problema: mensagens de commit pouco significativas
- Solução: Mensagens geradas por IA
- Como funciona o SmartCommit
- Benefícios do SmartCommit
- Privacidade e Segurança
- Instalando e usando o SmartCommit
- Conclusão
Introdução
Quantas vezes você já se deparou com a dificuldade de escrever uma mensagem de commit que resuma, de forma clara e precisa, as alterações realizadas no código, especialmente quando precisa enviar uma correção urgente?
Nessas horas, acabo avaliando cuidadosamente as palavras: verifico se a mensagem representa minimamente as mudanças no código-fonte, se está em voz ativa ou passiva, e se é direta e clara o suficiente para que outro desenvolvedor a compreenda sem precisar consultar os arquivos para ver as mudanças pelo controle de versão.
Se você, assim como eu, enfrenta esse desafio diariamente, este artigo é para você.
Problema: mensagens de commit pouco significativas
Manter um histórico de commits bem estruturado é essencial para o desenvolvimento de softwares, principalmente quando você faz parte de um time. No entanto, na pressa do dia a dia, é comum encontrar no histórico de versões mensagens vagas como:
- “Bug fixed”
- “Ajustes diversos”
- “Atualizações”
Essas mensagens não informam claramente o que foi alterado, tornando difícil enteder o progresso do projeto sem inspecionar cada arquivo modificado.
Solução: Mensagens geradas por IA com base nas mudanças realizadas
Para resolver esse problema, desenvolvi o SmartCommit, uma ferramenta que utiliza o modelo de linguagem LLM de sua preferência para fornecer sugestões mensagens de commit baseadas nas mudanças realizadas no repositório.
Como funciona o SmartCommit?
O SmartCommit analisa as modificações no repositório e gera uma sugestão de mensagem coerente e informativa para o commit. Ele se integra ao Git e utiliza um modelo de IA local (LLM) para processar os arquivos modificados, criados ou removidos.
Visão Geral
A solução SmartCommit funciona da seguinte forma:
-
Obtenção de Informações
- O SmartCommit consulta o estado do repositório e os arquivos no Stage (Git).
- Paralelamente, um modelo de IA local (LLM) analisa as mudanças e propõe uma mensagem coerente adequada.
-
Geração da Mensagem de Commit
- A ferramenta combina os dados do Git e a sugestão da IA para criar uma mensagem descritiva e relevante.
-
Saída Final
- A mensagem gerada é exibida para ser utilizada no commit.
Benefícios do SmartCommit
O SmartCommit ajuda desenvolvedores a:
- Manter um histórico de commits organizado e padronizado.
- Economizar tempo automatizando a criação de mensagens de commit.
- Garantir descrições claras, consistentes e coerentes para cada alteração.
Privacidade e Segurança
Para manter a segurança dos dados, recomenda-se que o modelo de IA seja executado localmente. Dessa forma, você evita o envio de informações confidenciais para servidores externos e evita custos desnecessários com processamento na nuvem.
Principais recursos:
- Geração automática de mensagens de commit.
- Integração com modelos de linguagem (LLM) para otimizar as sugestões.
- Configuração simples e rápida.
Instalando e usando o SmartCommit
1. Clone o repositório
git clone https://github.com/AlexCaranha/SmartCommit.git
cd SmartCommit
2. Instale as dependências
Certifique-se que o Python 3.11 esteja instalado e configure o ambiente virtual:
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt
3. Configure os parâmetros
O comportamento do SmartCommit pode ser ajustado modificando as variáveis no arquivo de configuração:
TEMPERATURE=0.7
MAX_TOKENS=-1
LLM_URL="http://localhost:1234/v1/chat/completions"
PROMPT_LLM="As a commit message expert, analyze the changes in the source code and suggest a commit message that is clear, direct, concise, and in English. Highlight instances of new or deleted files. Provide only the commit message without additional explanations or information. Keep the message brief."
Recomendo o uso da ferramenta LM Studio para a instalação e configuração do servidor do modelo de IA (LLM) em máquina local. O endereço LLM_URL pode ser encontrado a seguir:
4. Crie o executável (Windows)
pyinstaller --onefile --name SmartCommit smart_commit.py
O executável será criado na pasta dist/. Adicione esse diretório ao PATH para executar o SmartCommit de qualquer diretório.
5. Execute o SmartCommit
Especifique o caminho do repositório que deseja receber a recomendação de mensagem de commit:
SmartCommit c:\MyLocalRepository
Demonstração
Conclusão
Se você deseja manter um histórico de commits organizado sem precisar escrever as mensagens de commit do zero, o SmartCommit é a ferramenta ideal. Integrado ao seu fluxo de trabalho Git, ele gera descrições objetivas automaticamente, tendo como base as mudanças do seu repositório.
Experimente o SmartCommit e veja como ele pode otimizar seu fluxo de trabalho Git!
Gostou do artigo? Compartilhe com os colegas. Até a próxima!