Automatizando mensagens de commit com AI
Escrever commits pode ser uma tarefa bastante monótona, especialmente quando estamos no fluxo de desenvolvimento e a vontade é de apenas "jogar" o código para o repositório e seguir em frente. No entanto, por mais "chato" que possa parecer, commits bem feitos são essenciais para o entendimento e a manutenção do projeto. Eles ajudam a documentar o histórico, facilitam o trabalho em equipe e tornam a volta ao código muito mais eficiente. Então, mesmo que pareça uma obrigação, dedicar alguns segundos a mais para escrever commits claros e objetivos acaba fazendo toda a diferença.
A AI pode ser uma aliada incrível na tarefa de escrever commits. Com a capacidade de analisar o conteúdo das mudanças no código, a AI pode sugerir descrições claras e detalhadas, destacando as principais modificações e até mesmo sugerindo padrões de escrita consistentes com o restante do projeto. Ela reduz o esforço e o tempo que normalmente gastamos tentando encontrar as palavras certas, permitindo que o foco permaneça no desenvolvimento enquanto ainda mantemos um histórico de commits bem documentado e fácil de entender.
Pensando nisso, trago aqui uma forma de como você pode automatizar suas mensagens de commit, totalmente de graça, usando AI.
Acesse GROQ e gere uma key:
https://console.groq.com/keys
Faça a instalação da lib opencommit:
npm install -g opencommit
Agora vamos configurar a opencommit com a GROQ e o modelo que será utilizado (acessando o site da GROQ você pode verificar os outros modelos):
oco config set OCO_AI_PROVIDER='groq' OCO_MODEL=llama3-70b-8192
A opencommit por padrão, assim que realiza o commit, pergunta se você quer fazer o push
, para desabilitar:
oco config set OCO_GITPUSH=false
Passando sua API_KEY, que você acaba de pegar no site da GROQ, para o opencommit:
oco config set OCO_API_KEY=SUA_API_KEY
Caso você queira utilizar o padrão do conventional commit
, você pode configurar assim:
oco config set OCO_PROMPT_MODULE=conventional-commit
Tudo pronto, agora você tem um "assistente" de commits, basta rodar oco
no terminal.
Apesar das vantagens, o uso de AI para gerar mensagens de commit deve ser feito com cautela. É importante revisar e adaptar as sugestões para garantir que os commits reflitam de forma fiel e precisa as mudanças realizadas. A IA pode facilitar a escrita, mas não substitui o contexto e o entendimento do desenvolvedor sobre o impacto das alterações no código. Além disso, confiar cegamente na IA pode levar a descrições genéricas ou vagas, perdendo o propósito de um histórico bem documentado. Usada com equilíbrio, a IA é uma ferramenta poderosa, mas o controle e a responsabilidade ainda são seus.
Já teste algumas dessas ferramentas e inclusive essa que menciona. Em commits pequenos funciona até bem, em commits mais complexos mais atrapalha do que ajuda.
Commit pra mim é hora sagrada, que vc usa pra revisar cada arquivo alterado pra ver se não deixou nada pra trás que pode quebrar o código, nenhum texto ou código de encerramento da aplicação pra saída prematura de testes e etc.
usar o commit como revisão do meu código aumentou a qualidade das minhas entregas exponencialmente de modo que não vejo vantagem em delegar isso para uma IA.
Existe algo semelhante ao opencommit em python?