Gitai is a Python automation tool for managing commits in Git. It analyzes changes in projects written in various languages, generates detailed commit messages following the Conventional Commits standard, and automates the commit and push process.
36
stars
73
commits
Python
primary language
Jan 28, 2026
updated
Choose your language / Escolha o idioma:
[!IMPORTANT] 📢 This project has been discontinued
We're excited to announce that Gitai has evolved! 🎉
The Python version you're looking at has been discontinued and replaced by a brand new JavaScript version that brings several improvements:
✨ What's new:
- 🚀 No installer required - Install globally with a single command using npm
- 🌍 True cross-platform - Works seamlessly on Windows, macOS, and Linux
- ⚡ Faster performance - Optimized for speed and efficiency
🔗 New repository: gitai-js
⚠️ Important for migration: Before installing the new JavaScript version, please remove the PATH configuration pointing to this Python version from your
.bash_profileor.zshrcfile.We appreciate your support and look forward to seeing you in the new version! 💙
Gitai is a Python project that serves as an automation tool for managing Git commits. It is designed to analyze projects written in various programming languages, including Node.js, Python, Java, Go, and PHP.
The application analyzes the changes made in a project, identifies the programming language used, and based on that, generates a detailed commit message following the Conventional Commits standard. This standard is widely adopted to make commit messages more descriptive and useful.
Additionally, Gitai automates the commit process by adding all changes to the Git staging area, committing with the generated message, and optionally pushing the changes to the remote repository.
For generating the commit message, you can choose between the advanced language models from OpenAI or Groq.
The project also uses the libraries openai, groq, python-dotenv, and pyinstaller to create an executable that
includes the dependencies of the virtual environment and reads environment variables from a .env file located in the
same folder as the executable.


Click the image below to watch the video tutorial about Gitai:
After generating the .pkg file, you can follow the steps below to install the application on your Mac:
.pkg file was saved..pkg file to launch the installer.Remember that after installation, you must configure the .env file with the necessary environment variables for the
application to function correctly.
Gitai supports three AI providers for generating commit messages: OpenAI, Groq, and Anthropic.
Each has its own characteristics, costs, and usage limits.
All providers are highly capable, but your choice may depend on your specific needs and available budget.
If you need high processing power and can cover the costs, OpenAI is an excellent option. If you prefer a free service and can manage within usage limits, Groq is a viable alternative. For advanced reasoning and large context windows, Anthropic Claude offers cutting-edge capabilities.
Below is detailed information about each provider to help you choose the best one for your needs.
OpenAI is a paid service that offers advanced language models.
The most efficient available model is gpt-4o, which has a context window of 128K tokens.
Groq is a free service, but with usage limits.
The recommended model is mixtral-8x7b-32768, which offers a context window of 32,768 tokens.
Anthropic is a paid service that offers advanced AI models with excellent reasoning capabilities.
The recommended model is claude-3-5-sonnet-20241022, which has a context window of 200K tokens.
Before running the application, you need to configure the .env file in the dist folder or in the folder where Gitai
was installed. This file contains the environment variables required for the application to function correctly.
You can choose to use OpenAI, Groq, or Anthropic providers.
Open the .env file in a text editor and fill in the environment variables.
PROVIDER=openai
API_KEY=your_openai_api_key
MODEL=gpt-4o
LANGUAGE=en
PROVIDER=groq
API_KEY=your_groq_api_key
MODEL=mixtral-8x7b-32768
LANGUAGE=en
PROVIDER=anthropic
API_KEY=your_anthropic_api_key
MODEL=claude-3-5-sonnet-20241022
LANGUAGE=en
To make the application available in the terminal, you need to add the application directory to your system's PATH.
The PATH is an environment variable that specifies a list of directories where executable commands are searched for.
You can add the application's directory to the PATH by appending the following line to your .bash_profile or
.zshrc file (depending on the shell you are using) in your home directory:
export PATH="$PATH:/Applications/Gitai/"
After adding this line, you need to execute the source command to load the changes:
source ~/.bash_profile # If you are using bash
source ~/.zshrc # If you are using zsh
Now, you should be able to run the application from the terminal.
After installing and configuring Gitai, you can start using it to automatically generate commit messages for your project.
To use Gitai, open the terminal in your project's root directory. This is important because Gitai needs access to your project's files to analyze the changes and generate commit messages.
Once the terminal is open in your project's root, you can run Gitai with the following command:
gitai <project_path> '<generic_message>'
Replace <project_path> with the path to your project's directory and <generic_message> with a basic description of
the change you made in the project.
For example, if you have the terminal open in your project's root and the change was to add a new feature, you can simply type:
gitai . 'Added new feature'
If you wish to analyze only a specific folder or a project in another directory, for example, if you made a change in
your project located at /Users/username/MyProject, you can run Gitai with the following command:
gitai /Users/username/MyProject 'Added new feature'
To automatically generate the commit and push it, you can add the --push flag to the command:
gitai . 'Added new feature' --push
The releaser.py script is used to generate release notes for any Git project. It analyzes the commits made since the
last tag and generates a detailed release document.
For detailed instructions on how to use the releaser.py script, please refer to the RELEASER.md
document.
Clone the repository to your local machine using git clone.
git clone <repository-url>
Navigate to the project directory.
cd <project-name>
Install the project dependencies.
pip install -r requirements.txt
To build the project, run the build.sh script in the root of the project.
./build.sh
This script will generate an executable of the Python script using PyInstaller called gitai and will copy the
.env.example file to the dist folder.
If you want to generate an executable for a specific platform, you can use the following commands:
To generate an installer for Windows, you need to use the Inno Setup tool.
.exe file, open it..env
file..exe file that can be distributed and used to install your application on
Windows.To generate an installer for Linux, you need to use the Makeself tool.
Visit the official Makeself website at https://makeself.io/.
Click on the "Download" link on the page.
Download the latest version of Makeself.
After downloading the .run file, open it.
Follow the on-screen instructions to install Makeself.
After installation, Makeself should be available on your computer.
Open the terminal and navigate to the directory where the executable generated by PyInstaller is located.
Execute the following command to create the installer:
makeself <source_directory> <installer_name> "<installer_description>" <installation_command>
Replace <source_directory> with the directory where the executable is located, <installer_name> with the name of
the installer file, <installer_description> with a description of the installer, and <installation_command> with
an installation command.
For example:
makeself dist/ GitaiInstaller.run "Gitai Installer" "./gitai"
This will create a .run file that can be distributed and used to install your application on Linux.
To generate an installer for macOS, you need to use the Packages tool.
.dmg file, open it.Now, Packages should be installed and ready to use on your Mac.
.env file to the installation
directory.This will create a .pkg file that installs your application.
Gitai will analyze the changes made in your project, identify the programming language used, and based on that, generate a detailed commit message following the Conventional Commits standard. Then, it will add all changes to the Git staging area and commit with the generated message.
We appreciate your interest in contributing to Gitai! Here are some guidelines to help you through the process:
We ask that all contributors follow our code of conduct. Mutual respect is essential for a healthy collaborative environment. Please be professional and respectful to all contributors.
If you have any questions or issues, please open an issue. We will do our best to help you.
If you wish to contact the project maintainers, please send an email to: leandro@notyped.com
Thank you for your interest in our project. We look forward to your contributions!
Leandro Silva Ferreira
Thanks to these amazing contributors
This project is licensed under the MIT License. This means you are free to copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided that you give appropriate credit to the original author and reproduce the license in all copies or substantial portions of the software.
For more details, see the LICENSE file in the repository.
[!IMPORTANT] 📢 Este projeto foi descontinuado
Estamos animados em anunciar que o Gitai evoluiu! 🎉
A versão em Python que você está vendo foi descontinuada e substituída por uma nova versão em JavaScript que traz várias melhorias:
✨ Novidades:
- 🚀 Não precisa de instalador - Instale globalmente com um único comando usando npm
- 🌍 Verdadeiramente multiplataforma - Funciona perfeitamente no Windows, macOS e Linux
- ⚡ Desempenho mais rápido - Otimizado para velocidade e eficiência
🔗 Novo repositório: gitai-js
⚠️ Importante para migração: Antes de instalar a nova versão em JavaScript, por favor remova a configuração do PATH que aponta para esta versão em Python do seu arquivo
.bash_profileou.zshrc.Agradecemos seu apoio e esperamos vê-lo na nova versão! 💙
Gitai é um projeto Python que serve como uma ferramenta de automação para gerenciamento de commits no Git. Ele é projetado para analisar projetos escritos em várias linguagens de programação, incluindo Node.js, Python, Java, Go e PHP.
A aplicação analisa as alterações feitas em um projeto, identifica a linguagem de programação usada e, com base nisso, gera uma mensagem de commit detalhada seguindo o padrão Conventional Commits. Este padrão é amplamente adotado para tornar as mensagens de commit mais descritivas e úteis.
Além disso, Gitai automatiza o processo de commit, adicionando todas as alterações ao índice do Git, realizando o commit com a mensagem gerada e, opcionalmente, fazendo push das alterações para o repositório remoto.
Para a geração da mensagem de commit, é possível escolher entre os modelos de linguagem avançados da OpenAI ou Groq.
O projeto também utiliza as bibliotecas openai, groq, python-dotenv e pyinstaller para criar um executável que
inclui as dependências do ambiente virtual e que lê as variáveis de ambiente de um arquivo .env na mesma pasta que o
executável.


Clique na imagem abaixo para assistir ao tutorial em vídeo sobre o Gitai:
Depois de gerar o arquivo .pkg, você pode seguir os passos abaixo para instalar a aplicação no seu Mac:
.pkg foi salvo..pkg para iniciar o instalador.Lembre-se de que, após a instalação, você deve configurar o arquivo .env com as variáveis de ambiente necessárias para
a aplicação funcionar corretamente.
O Gitai oferece suporte a três provedores de IA para gerar mensagens de commit: OpenAI, Groq e Anthropic.
Cada um tem suas características, custos e limites de utilização.
Todos os provedores são altamente capazes, mas sua escolha pode depender de suas necessidades específicas e do orçamento disponível.
Se você precisa de uma grande capacidade de processamento e pode arcar com os custos, OpenAI é uma excelente opção. Se você prefere um serviço sem custo e pode gerenciar dentro dos limites de utilização, Groq é uma alternativa viável. Para raciocínio avançado e grandes janelas de contexto, Anthropic Claude oferece capacidades de ponta.
Abaixo estão as informações detalhadas sobre cada provedor para ajudá-lo a escolher o melhor para suas necessidades.
OpenAI é um serviço pago que oferece modelos de linguagem avançados.
O modelo mais eficiente disponível é o gpt-4o, que tem uma janela de contexto de 128K tokens.
Groq é um serviço gratuito, mas com limites de utilização.
O modelo recomendado é o mixtral-8x7b-32768, que oferece uma janela de contexto de 32,768 tokens.
Anthropic é um serviço pago que oferece modelos de IA avançados com excelentes capacidades de raciocínio.
O modelo recomendado é o claude-3-5-sonnet-20241022, que tem uma janela de contexto de 200K tokens.
Antes de executar o aplicativo, você precisa configurar o arquivo .env na pasta dist ou na pasta onde o GITAI foi
instalado. Este arquivo contém as variáveis de ambiente que o aplicativo precisa para funcionar corretamente.
Você pode escolher entre usar o provedor OpenAI, Groq ou Anthropic.
Abra o arquivo .env em um editor de texto e preencha as variáveis de ambiente.
PROVIDER=openai
API_KEY=your_openai_api_key
MODEL=gpt-4o
LANGUAGE=en
PROVIDER=groq
API_KEY=your_groq_api_key
MODEL=mixtral-8x7b-32768
LANGUAGE=en
PROVIDER=anthropic
API_KEY=your_anthropic_api_key
MODEL=claude-3-5-sonnet-20241022
LANGUAGE=en
Para tornar o aplicativo disponível no terminal, você precisa adicionar o diretório do aplicativo ao PATH do sistema.
O PATH é uma variável de ambiente que especifica uma lista de diretórios onde os comandos executáveis são procurados.
Você pode adicionar o diretório do aplicativo ao PATH adicionando a seguinte linha ao arquivo .bash_profile ou
.zshrc (dependendo do shell que você está usando) no diretório inicial do usuário:
export PATH="$PATH:/Applications/Gitai/"
Depois de adicionar essa linha, você precisa executar o comando source para carregar as alterações:
source ~/.bash_profile # Se você estiver usando bash
source ~/.zshrc # Se você estiver usando zsh
Agora, você deve ser capaz de executar o aplicativo a partir do terminal.
Depois de instalar e configurar o Gitai, você pode começar a usá-lo para gerar mensagens de commit automaticamente para o seu projeto.
Para usar o Gitai, você precisa abrir o terminal na raiz do seu projeto. Isso é importante porque o Gitai precisa ter acesso aos arquivos do seu projeto para analisar as alterações e gerar as mensagens de commit.
Uma vez que o terminal esteja aberto na raiz do seu projeto, você pode executar o Gitai com o seguinte comando:
gitai <caminho_do_projeto> '<mensagem_genérica>'
Substitua <caminho_do_projeto> pelo caminho do diretório do seu projeto e <mensagem_genérica> por uma descrição
básica da mudança que você fez no projeto.
Se você estiver com o terminal aberto na raiz do seu projeto e a mudança foi para adicionar uma nova funcionalidade, você pode simplesmente digitar:
gitai . 'Adicionada nova funcionalidade'
Se você deseja analisar somente uma pasta específica ou um projeto em outra pasta, por exemplo, se você fez uma
alteração no seu projeto localizado em /Users/username/MeuProjeto, você pode executar o Gitai com o seguinte comando:
gitai /Users/username/MeuProjeto 'Adicionada nova funcionalidade'
Para gerar o commit e fazer push de forma automática, você pode adicionar a flag --push ao comando:
gitai . 'Adicionada nova funcionalidade' --push
O script releaser.py é usado para gerar notas de lançamento para qualquer projeto Git. Ele analisa os commits feitos
desde a última tag e gera um documento de lançamento detalhado.
Para instruções detalhadas sobre como usar o script releaser.py, consulte o documento RELEASER.md.
git clone.git clone <url-do-repositorio>
cd <nome-do-projeto>
pip install -r requirements.txt
Para executar o build do projeto, execute o script build.sh na raiz do projeto.
./build.sh
Este script irá gerar um executável do script Python usando o PyInstaller chamado gitai e copiará o arquivo
.env.example para a pasta dist.
Caso você queira gerar um executável para uma plataforma específica, você pode usar os seguintes comandos:
Para gerar um instalador para Windows, você precisa usar a ferramenta Inno Setup.
.exe, abra-o..env de
exemplo..exe que pode ser distribuído e usado para instalar o seu aplicativo no
Windows.Para gerar um instalador para Linux, você precisa usar a ferramenta Makeself.
.run, abra-o.makeself <diretório_de_origem> <nome_do_instalador> "<descrição_do_instalador>" <comando_de_instalação>
Substitua <diretório_de_origem> pelo diretório onde o executável gerado pelo PyInstaller está localizado,
<nome_do_instalador> pelo nome do arquivo do instalador, <descrição_do_instalador> por uma descrição do instalador e
<comando_de_instalação> por um comando de instalação.
Por exemplo:
makeself dist/ GitaiInstaller.run "Instalador do Gitai" "./gitai"
Isso irá criar um arquivo .run que pode ser distribuído e usado para instalar o seu aplicativo no Linux.
Para gerar um instalador para macOS, você precisa usar a ferramenta Packages.
.dmg, abra-o.Agora, o Packages deve estar instalado e pronto para uso no seu Mac.
.env de exemplo ao diretório de
instalação.Isso irá criar um arquivo .pkg que instala o seu aplicativo.
O Gitai irá analisar as alterações feitas no seu projeto, identificar a linguagem de programação usada e, com base nisso, gerar uma mensagem de commit detalhada seguindo o padrão Conventional Commits. Em seguida, ele irá adicionar todas as alterações ao índice do Git e realizar o commit com a mensagem gerada.
Agradecemos o seu interesse em contribuir para o Gitai! Aqui estão algumas diretrizes que podem ajudá-lo no processo:
Fork o Repositório: Faça um fork do repositório Gitai para a sua conta do GitHub. Isso significa que você terá uma cópia do repositório em sua própria conta, permitindo que você faça alterações sem afetar o projeto original.
Clone o Repositório: Clone o repositório para a sua máquina local para que você possa fazer alterações.
Crie uma Branch: Crie uma nova branch em seu fork para fazer suas alterações. Isso ajuda a separar suas alterações de outras que possam estar acontecendo simultaneamente.
Faça suas Alterações: Faça as alterações que você acha que melhorariam o projeto. Isso pode ser a adição de uma nova funcionalidade, a correção de um bug ou a melhoria da documentação.
Teste suas Alterações: Certifique-se de que suas alterações não quebram nada e que o código ainda funciona como esperado.
Envie um Pull Request: Envie um pull request para o repositório original propondo suas alterações. Certifique-se de dar uma descrição detalhada de suas alterações para que os mantenedores do projeto possam entender o que você fez e por quê.
Pedimos que todos os contribuintes sigam nosso código de conduta. Respeito mútuo é fundamental para um ambiente de colaboração saudável. Por favor, seja profissional e respeitoso com os outros contribuintes.
Se você tiver alguma dúvida ou problema, por favor, abra uma issue. Faremos o nosso melhor para ajudá-lo.
Se você quiser entrar em contato com os mantenedores do projeto, por favor, envie um e-mail para: leandro@notyped.com
Obrigado por seu interesse em nosso projeto. Estamos ansiosos para ver suas contribuições!
Leandro Silva Ferreira
Obrigado a estes incríveis contribuidores
Este projeto está licenciado sob a licença MIT. Isso significa que você é livre para copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do software, desde que forneça o devido crédito ao autor original e reproduza a licença em todas as cópias ou partes substanciais do software.
Para mais detalhes, veja o arquivo LICENSE no repositório.
72 commits
1 commits
Python
99.6%
Gitai is a Python automation tool for managing commits in Git. It analyzes changes in projects written in various languages, generates detailed commit messages following the Conventional Commits standard, and automates the commit and push process.
36
stars
73
commits
Python
primary language
Jan 28, 2026
updated
Choose your language / Escolha o idioma:
[!IMPORTANT] 📢 This project has been discontinued
We're excited to announce that Gitai has evolved! 🎉
The Python version you're looking at has been discontinued and replaced by a brand new JavaScript version that brings several improvements:
✨ What's new:
- 🚀 No installer required - Install globally with a single command using npm
- 🌍 True cross-platform - Works seamlessly on Windows, macOS, and Linux
- ⚡ Faster performance - Optimized for speed and efficiency
🔗 New repository: gitai-js
⚠️ Important for migration: Before installing the new JavaScript version, please remove the PATH configuration pointing to this Python version from your
.bash_profileor.zshrcfile.We appreciate your support and look forward to seeing you in the new version! 💙
Gitai is a Python project that serves as an automation tool for managing Git commits. It is designed to analyze projects written in various programming languages, including Node.js, Python, Java, Go, and PHP.
The application analyzes the changes made in a project, identifies the programming language used, and based on that, generates a detailed commit message following the Conventional Commits standard. This standard is widely adopted to make commit messages more descriptive and useful.
Additionally, Gitai automates the commit process by adding all changes to the Git staging area, committing with the generated message, and optionally pushing the changes to the remote repository.
For generating the commit message, you can choose between the advanced language models from OpenAI or Groq.
The project also uses the libraries openai, groq, python-dotenv, and pyinstaller to create an executable that
includes the dependencies of the virtual environment and reads environment variables from a .env file located in the
same folder as the executable.


Click the image below to watch the video tutorial about Gitai:
After generating the .pkg file, you can follow the steps below to install the application on your Mac:
.pkg file was saved..pkg file to launch the installer.Remember that after installation, you must configure the .env file with the necessary environment variables for the
application to function correctly.
Gitai supports three AI providers for generating commit messages: OpenAI, Groq, and Anthropic.
Each has its own characteristics, costs, and usage limits.
All providers are highly capable, but your choice may depend on your specific needs and available budget.
If you need high processing power and can cover the costs, OpenAI is an excellent option. If you prefer a free service and can manage within usage limits, Groq is a viable alternative. For advanced reasoning and large context windows, Anthropic Claude offers cutting-edge capabilities.
Below is detailed information about each provider to help you choose the best one for your needs.
OpenAI is a paid service that offers advanced language models.
The most efficient available model is gpt-4o, which has a context window of 128K tokens.
Groq is a free service, but with usage limits.
The recommended model is mixtral-8x7b-32768, which offers a context window of 32,768 tokens.
Anthropic is a paid service that offers advanced AI models with excellent reasoning capabilities.
The recommended model is claude-3-5-sonnet-20241022, which has a context window of 200K tokens.
Before running the application, you need to configure the .env file in the dist folder or in the folder where Gitai
was installed. This file contains the environment variables required for the application to function correctly.
You can choose to use OpenAI, Groq, or Anthropic providers.
Open the .env file in a text editor and fill in the environment variables.
PROVIDER=openai
API_KEY=your_openai_api_key
MODEL=gpt-4o
LANGUAGE=en
PROVIDER=groq
API_KEY=your_groq_api_key
MODEL=mixtral-8x7b-32768
LANGUAGE=en
PROVIDER=anthropic
API_KEY=your_anthropic_api_key
MODEL=claude-3-5-sonnet-20241022
LANGUAGE=en
To make the application available in the terminal, you need to add the application directory to your system's PATH.
The PATH is an environment variable that specifies a list of directories where executable commands are searched for.
You can add the application's directory to the PATH by appending the following line to your .bash_profile or
.zshrc file (depending on the shell you are using) in your home directory:
export PATH="$PATH:/Applications/Gitai/"
After adding this line, you need to execute the source command to load the changes:
source ~/.bash_profile # If you are using bash
source ~/.zshrc # If you are using zsh
Now, you should be able to run the application from the terminal.
After installing and configuring Gitai, you can start using it to automatically generate commit messages for your project.
To use Gitai, open the terminal in your project's root directory. This is important because Gitai needs access to your project's files to analyze the changes and generate commit messages.
Once the terminal is open in your project's root, you can run Gitai with the following command:
gitai <project_path> '<generic_message>'
Replace <project_path> with the path to your project's directory and <generic_message> with a basic description of
the change you made in the project.
For example, if you have the terminal open in your project's root and the change was to add a new feature, you can simply type:
gitai . 'Added new feature'
If you wish to analyze only a specific folder or a project in another directory, for example, if you made a change in
your project located at /Users/username/MyProject, you can run Gitai with the following command:
gitai /Users/username/MyProject 'Added new feature'
To automatically generate the commit and push it, you can add the --push flag to the command:
gitai . 'Added new feature' --push
The releaser.py script is used to generate release notes for any Git project. It analyzes the commits made since the
last tag and generates a detailed release document.
For detailed instructions on how to use the releaser.py script, please refer to the RELEASER.md
document.
Clone the repository to your local machine using git clone.
git clone <repository-url>
Navigate to the project directory.
cd <project-name>
Install the project dependencies.
pip install -r requirements.txt
To build the project, run the build.sh script in the root of the project.
./build.sh
This script will generate an executable of the Python script using PyInstaller called gitai and will copy the
.env.example file to the dist folder.
If you want to generate an executable for a specific platform, you can use the following commands:
To generate an installer for Windows, you need to use the Inno Setup tool.
.exe file, open it..env
file..exe file that can be distributed and used to install your application on
Windows.To generate an installer for Linux, you need to use the Makeself tool.
Visit the official Makeself website at https://makeself.io/.
Click on the "Download" link on the page.
Download the latest version of Makeself.
After downloading the .run file, open it.
Follow the on-screen instructions to install Makeself.
After installation, Makeself should be available on your computer.
Open the terminal and navigate to the directory where the executable generated by PyInstaller is located.
Execute the following command to create the installer:
makeself <source_directory> <installer_name> "<installer_description>" <installation_command>
Replace <source_directory> with the directory where the executable is located, <installer_name> with the name of
the installer file, <installer_description> with a description of the installer, and <installation_command> with
an installation command.
For example:
makeself dist/ GitaiInstaller.run "Gitai Installer" "./gitai"
This will create a .run file that can be distributed and used to install your application on Linux.
To generate an installer for macOS, you need to use the Packages tool.
.dmg file, open it.Now, Packages should be installed and ready to use on your Mac.
.env file to the installation
directory.This will create a .pkg file that installs your application.
Gitai will analyze the changes made in your project, identify the programming language used, and based on that, generate a detailed commit message following the Conventional Commits standard. Then, it will add all changes to the Git staging area and commit with the generated message.
We appreciate your interest in contributing to Gitai! Here are some guidelines to help you through the process:
We ask that all contributors follow our code of conduct. Mutual respect is essential for a healthy collaborative environment. Please be professional and respectful to all contributors.
If you have any questions or issues, please open an issue. We will do our best to help you.
If you wish to contact the project maintainers, please send an email to: leandro@notyped.com
Thank you for your interest in our project. We look forward to your contributions!
Leandro Silva Ferreira
Thanks to these amazing contributors
This project is licensed under the MIT License. This means you are free to copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided that you give appropriate credit to the original author and reproduce the license in all copies or substantial portions of the software.
For more details, see the LICENSE file in the repository.
[!IMPORTANT] 📢 Este projeto foi descontinuado
Estamos animados em anunciar que o Gitai evoluiu! 🎉
A versão em Python que você está vendo foi descontinuada e substituída por uma nova versão em JavaScript que traz várias melhorias:
✨ Novidades:
- 🚀 Não precisa de instalador - Instale globalmente com um único comando usando npm
- 🌍 Verdadeiramente multiplataforma - Funciona perfeitamente no Windows, macOS e Linux
- ⚡ Desempenho mais rápido - Otimizado para velocidade e eficiência
🔗 Novo repositório: gitai-js
⚠️ Importante para migração: Antes de instalar a nova versão em JavaScript, por favor remova a configuração do PATH que aponta para esta versão em Python do seu arquivo
.bash_profileou.zshrc.Agradecemos seu apoio e esperamos vê-lo na nova versão! 💙
Gitai é um projeto Python que serve como uma ferramenta de automação para gerenciamento de commits no Git. Ele é projetado para analisar projetos escritos em várias linguagens de programação, incluindo Node.js, Python, Java, Go e PHP.
A aplicação analisa as alterações feitas em um projeto, identifica a linguagem de programação usada e, com base nisso, gera uma mensagem de commit detalhada seguindo o padrão Conventional Commits. Este padrão é amplamente adotado para tornar as mensagens de commit mais descritivas e úteis.
Além disso, Gitai automatiza o processo de commit, adicionando todas as alterações ao índice do Git, realizando o commit com a mensagem gerada e, opcionalmente, fazendo push das alterações para o repositório remoto.
Para a geração da mensagem de commit, é possível escolher entre os modelos de linguagem avançados da OpenAI ou Groq.
O projeto também utiliza as bibliotecas openai, groq, python-dotenv e pyinstaller para criar um executável que
inclui as dependências do ambiente virtual e que lê as variáveis de ambiente de um arquivo .env na mesma pasta que o
executável.


Clique na imagem abaixo para assistir ao tutorial em vídeo sobre o Gitai:
Depois de gerar o arquivo .pkg, você pode seguir os passos abaixo para instalar a aplicação no seu Mac:
.pkg foi salvo..pkg para iniciar o instalador.Lembre-se de que, após a instalação, você deve configurar o arquivo .env com as variáveis de ambiente necessárias para
a aplicação funcionar corretamente.
O Gitai oferece suporte a três provedores de IA para gerar mensagens de commit: OpenAI, Groq e Anthropic.
Cada um tem suas características, custos e limites de utilização.
Todos os provedores são altamente capazes, mas sua escolha pode depender de suas necessidades específicas e do orçamento disponível.
Se você precisa de uma grande capacidade de processamento e pode arcar com os custos, OpenAI é uma excelente opção. Se você prefere um serviço sem custo e pode gerenciar dentro dos limites de utilização, Groq é uma alternativa viável. Para raciocínio avançado e grandes janelas de contexto, Anthropic Claude oferece capacidades de ponta.
Abaixo estão as informações detalhadas sobre cada provedor para ajudá-lo a escolher o melhor para suas necessidades.
OpenAI é um serviço pago que oferece modelos de linguagem avançados.
O modelo mais eficiente disponível é o gpt-4o, que tem uma janela de contexto de 128K tokens.
Groq é um serviço gratuito, mas com limites de utilização.
O modelo recomendado é o mixtral-8x7b-32768, que oferece uma janela de contexto de 32,768 tokens.
Anthropic é um serviço pago que oferece modelos de IA avançados com excelentes capacidades de raciocínio.
O modelo recomendado é o claude-3-5-sonnet-20241022, que tem uma janela de contexto de 200K tokens.
Antes de executar o aplicativo, você precisa configurar o arquivo .env na pasta dist ou na pasta onde o GITAI foi
instalado. Este arquivo contém as variáveis de ambiente que o aplicativo precisa para funcionar corretamente.
Você pode escolher entre usar o provedor OpenAI, Groq ou Anthropic.
Abra o arquivo .env em um editor de texto e preencha as variáveis de ambiente.
PROVIDER=openai
API_KEY=your_openai_api_key
MODEL=gpt-4o
LANGUAGE=en
PROVIDER=groq
API_KEY=your_groq_api_key
MODEL=mixtral-8x7b-32768
LANGUAGE=en
PROVIDER=anthropic
API_KEY=your_anthropic_api_key
MODEL=claude-3-5-sonnet-20241022
LANGUAGE=en
Para tornar o aplicativo disponível no terminal, você precisa adicionar o diretório do aplicativo ao PATH do sistema.
O PATH é uma variável de ambiente que especifica uma lista de diretórios onde os comandos executáveis são procurados.
Você pode adicionar o diretório do aplicativo ao PATH adicionando a seguinte linha ao arquivo .bash_profile ou
.zshrc (dependendo do shell que você está usando) no diretório inicial do usuário:
export PATH="$PATH:/Applications/Gitai/"
Depois de adicionar essa linha, você precisa executar o comando source para carregar as alterações:
source ~/.bash_profile # Se você estiver usando bash
source ~/.zshrc # Se você estiver usando zsh
Agora, você deve ser capaz de executar o aplicativo a partir do terminal.
Depois de instalar e configurar o Gitai, você pode começar a usá-lo para gerar mensagens de commit automaticamente para o seu projeto.
Para usar o Gitai, você precisa abrir o terminal na raiz do seu projeto. Isso é importante porque o Gitai precisa ter acesso aos arquivos do seu projeto para analisar as alterações e gerar as mensagens de commit.
Uma vez que o terminal esteja aberto na raiz do seu projeto, você pode executar o Gitai com o seguinte comando:
gitai <caminho_do_projeto> '<mensagem_genérica>'
Substitua <caminho_do_projeto> pelo caminho do diretório do seu projeto e <mensagem_genérica> por uma descrição
básica da mudança que você fez no projeto.
Se você estiver com o terminal aberto na raiz do seu projeto e a mudança foi para adicionar uma nova funcionalidade, você pode simplesmente digitar:
gitai . 'Adicionada nova funcionalidade'
Se você deseja analisar somente uma pasta específica ou um projeto em outra pasta, por exemplo, se você fez uma
alteração no seu projeto localizado em /Users/username/MeuProjeto, você pode executar o Gitai com o seguinte comando:
gitai /Users/username/MeuProjeto 'Adicionada nova funcionalidade'
Para gerar o commit e fazer push de forma automática, você pode adicionar a flag --push ao comando:
gitai . 'Adicionada nova funcionalidade' --push
O script releaser.py é usado para gerar notas de lançamento para qualquer projeto Git. Ele analisa os commits feitos
desde a última tag e gera um documento de lançamento detalhado.
Para instruções detalhadas sobre como usar o script releaser.py, consulte o documento RELEASER.md.
git clone.git clone <url-do-repositorio>
cd <nome-do-projeto>
pip install -r requirements.txt
Para executar o build do projeto, execute o script build.sh na raiz do projeto.
./build.sh
Este script irá gerar um executável do script Python usando o PyInstaller chamado gitai e copiará o arquivo
.env.example para a pasta dist.
Caso você queira gerar um executável para uma plataforma específica, você pode usar os seguintes comandos:
Para gerar um instalador para Windows, você precisa usar a ferramenta Inno Setup.
.exe, abra-o..env de
exemplo..exe que pode ser distribuído e usado para instalar o seu aplicativo no
Windows.Para gerar um instalador para Linux, você precisa usar a ferramenta Makeself.
.run, abra-o.makeself <diretório_de_origem> <nome_do_instalador> "<descrição_do_instalador>" <comando_de_instalação>
Substitua <diretório_de_origem> pelo diretório onde o executável gerado pelo PyInstaller está localizado,
<nome_do_instalador> pelo nome do arquivo do instalador, <descrição_do_instalador> por uma descrição do instalador e
<comando_de_instalação> por um comando de instalação.
Por exemplo:
makeself dist/ GitaiInstaller.run "Instalador do Gitai" "./gitai"
Isso irá criar um arquivo .run que pode ser distribuído e usado para instalar o seu aplicativo no Linux.
Para gerar um instalador para macOS, você precisa usar a ferramenta Packages.
.dmg, abra-o.Agora, o Packages deve estar instalado e pronto para uso no seu Mac.
.env de exemplo ao diretório de
instalação.Isso irá criar um arquivo .pkg que instala o seu aplicativo.
O Gitai irá analisar as alterações feitas no seu projeto, identificar a linguagem de programação usada e, com base nisso, gerar uma mensagem de commit detalhada seguindo o padrão Conventional Commits. Em seguida, ele irá adicionar todas as alterações ao índice do Git e realizar o commit com a mensagem gerada.
Agradecemos o seu interesse em contribuir para o Gitai! Aqui estão algumas diretrizes que podem ajudá-lo no processo:
Fork o Repositório: Faça um fork do repositório Gitai para a sua conta do GitHub. Isso significa que você terá uma cópia do repositório em sua própria conta, permitindo que você faça alterações sem afetar o projeto original.
Clone o Repositório: Clone o repositório para a sua máquina local para que você possa fazer alterações.
Crie uma Branch: Crie uma nova branch em seu fork para fazer suas alterações. Isso ajuda a separar suas alterações de outras que possam estar acontecendo simultaneamente.
Faça suas Alterações: Faça as alterações que você acha que melhorariam o projeto. Isso pode ser a adição de uma nova funcionalidade, a correção de um bug ou a melhoria da documentação.
Teste suas Alterações: Certifique-se de que suas alterações não quebram nada e que o código ainda funciona como esperado.
Envie um Pull Request: Envie um pull request para o repositório original propondo suas alterações. Certifique-se de dar uma descrição detalhada de suas alterações para que os mantenedores do projeto possam entender o que você fez e por quê.
Pedimos que todos os contribuintes sigam nosso código de conduta. Respeito mútuo é fundamental para um ambiente de colaboração saudável. Por favor, seja profissional e respeitoso com os outros contribuintes.
Se você tiver alguma dúvida ou problema, por favor, abra uma issue. Faremos o nosso melhor para ajudá-lo.
Se você quiser entrar em contato com os mantenedores do projeto, por favor, envie um e-mail para: leandro@notyped.com
Obrigado por seu interesse em nosso projeto. Estamos ansiosos para ver suas contribuições!
Leandro Silva Ferreira
Obrigado a estes incríveis contribuidores
Este projeto está licenciado sob a licença MIT. Isso significa que você é livre para copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do software, desde que forneça o devido crédito ao autor original e reproduza a licença em todas as cópias ou partes substanciais do software.
Para mais detalhes, veja o arquivo LICENSE no repositório.
72 commits
1 commits
Python
99.6%