Repository: iuricode/padroes-de-commits
Branch: main
Commit: 7844cd0b3f0a
Files: 6
Total size: 22.9 KB
Directory structure:
gitextract_stifzxze/
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── commit-msg.sh
├── prepare-commit-msg.sh
└── push.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: CONTRIBUTING.md
================================================
# Como contribuir?
Este é um projeto totalmente livre que aceita contribuições via pull requests no GitHub. Este documento tem a responsabilidade de alinhar as contribuições de acordo com os padrões estabelecidos no mesmo. Em caso de dúvidas, [abra uma issue](https://github.com/iuricode/padroes-de-commits/issues/new).
## Passos
1. Crie um fork deste repositório.
2. Envie seus commits em português.
3. Insira um pequeno resumo sobre o que foi adicionado.
4. Solicite um pull request.
## Recomendação (opcional)
Para uma melhor semântica nos commits, recomendamos utilizar os commits mencionados neste projeto open source. Assim ficará mais fácil para avaliar seu pull request.
================================================
FILE: LICENSE.md
================================================
#### Copyright © 2021 / [Iuri Silva](https://github.com/iuricode)
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste arquivo, sem restrição nos direitos de usar, copiar, modificar e mesclar.
================================================
FILE: README.md
================================================
# Padrões de commits 📜
De acordo com a documentação do **[Conventional Commits](https://www.conventionalcommits.org/pt-br)**, commits semânticos são uma convenção simples para ser utilizada nas mensagens de commit. Essa convenção define um conjunto de regras para criar um histórico de commit explícito, o que facilita a criação de ferramentas automatizadas.
Esses commits auxiliarão você e sua equipe a entenderem de forma facilitada quais alterações foram realizadas no trecho de código que foi commitado.
Essa identificação ocorre por meio de uma palavra e emoji que identifica se aquele commit realizado se trata de uma alteração de código, atualização de pacotes, documentação, alteração de visual, teste...
## Tipo e descrição 🦄
O commit semântico possui os elementos estruturais abaixo (tipos), que informam a intenção do seu commit ao utilizador(a) de seu código.
- `feat`- Commits do tipo feat indicam que seu trecho de código está incluindo um **novo recurso** (se relaciona com o MINOR do versionamento semântico).
- `fix` - Commits do tipo fix indicam que seu trecho de código commitado está **solucionando um problema** (bug fix), (se relaciona com o PATCH do versionamento semântico).
- `docs` - Commits do tipo docs indicam que houveram **mudanças na documentação**, como por exemplo no Readme do seu repositório. (Não inclui alterações em código).
- `test` - Commits do tipo test são utilizados quando são realizadas **alterações em testes**, seja criando, alterando ou excluindo testes unitários. (Não inclui alterações em código)
- `build` - Commits do tipo build são utilizados quando são realizadas modificações em **arquivos de build e dependências**.
- `perf` - Commits do tipo perf servem para identificar quaisquer alterações de código que estejam relacionadas a **performance**.
- `style` - Commits do tipo style indicam que houveram alterações referentes a **formatações de código**, semicolons, trailing spaces, lint... (Não inclui alterações em código).
- `refactor` - Commits do tipo refactor referem-se a mudanças devido a **refatorações que não alterem sua funcionalidade**, como por exemplo, uma alteração no formato como é processada determinada parte da tela, mas que manteve a mesma funcionalidade, ou melhorias de performance devido a um code review.
- `chore` - Commits do tipo chore indicam **atualizações de tarefas** de build, configurações de administrador, pacotes... como por exemplo adicionar um pacote no gitignore. (Não inclui alterações em código)
- `ci` - Commits do tipo ci indicam mudanças relacionadas a **integração contínua** (_continuous integration_).
- `raw` - Commits do tipo raw indicam mudanças relacionadas a arquivos de configurações, dados, features, parâmetros.
- `cleanup` - Commits do tipo cleanup são utilizados para remover código comentado, trechos desnecessários ou qualquer outra forma de limpeza do código-fonte, visando aprimorar sua legibilidade e manutenibilidade.
- `remove` - Commits do tipo remove indicam a exclusão de arquivos, diretórios ou funcionalidades obsoletas ou não utilizadas, reduzindo o tamanho e a complexidade do projeto e mantendo-o mais organizado.
## 🛠️ Como instalar o arquivo `commit-msg.sh` para validar mensagens de commits com conventional commits
### Passo 1: Certifique-se de que o Git está instalado 🌟
Antes de tudo, verifique se o Git está instalado na sua máquina. Abra o terminal e execute:
```bash
git --version
```
Se você receber uma versão do Git como resposta, está tudo certo! Caso contrário, baixe e instale o Git aqui: [Git Downloads](https://git-scm.com/downloads).
### Passo 2: Localize o arquivo `commit-msg.sh` 📂
O arquivo `commit-msg.sh` deve estar disponível no repositório do seu projeto ou em um diretório específico. Certifique-se de que ele está acessível. Se não estiver, faça o download ou clone o repositório onde ele está localizado.
Por exemplo:
```bash
git clone https://github.com/seu-repositorio/projeto.git
cd projeto
```
### Passo 3: Crie o diretório `.git/hooks` (se ainda não existir) 📁
Os hooks do Git ficam no diretório `.git/hooks`. Verifique se ele existe no seu projeto:
```bash
ls -la .git/hooks
```
Se o diretório não existir, crie-o:
```bash
mkdir -p .git/hooks
```
### Passo 4: Copie o arquivo `commit-msg.sh` para o diretório `.git/hooks` 📋
Copie o arquivo `commit-msg.sh` para o diretório `.git/hooks` e renomeie-o para `commit-msg` (sem extensão):
```bash
cp caminho/para/commit-msg.sh .git/hooks/commit-msg
```
> **Nota:** Substitua `caminho/para/commit-msg.sh` pelo caminho real do arquivo.
### Passo 5: Dê permissão de execução ao script ✅
Para que o Git possa executar o script, você precisa dar permissão de execução:
```bash
chmod +x .git/hooks/commit-msg
```
### Passo 6: Teste o hook de commit 💻
Agora, tente fazer um commit no seu projeto. Por exemplo:
```bash
git add .
git commit -m "feat: adicionar funcionalidade xyz"
```
Se a mensagem de commit seguir o padrão **Conventional Commits**, o commit será aceito. Caso contrário, o hook irá bloquear o commit e exibir uma mensagem de erro.
### Passo 7: Personalize o script (opcional) 🎨
Se necessário, abra o arquivo `.git/hooks/commit-msg` em um editor de texto e personalize as regras de validação para atender às necessidades do seu projeto.
## Recomendações 🎉
- Adicione um tipo consistente com o título do conteúdo.
- Recomendamos que na primeira linha deve ter no máximo 4 palavras.
- Para descrever com detalhes, usar a descrição do commit.
- Usar um emoji no início da mensagem de commit representando sobre o commit.
- Os links precisam ser adicionados em sua forma mais autêntica, ou seja: sem encurtadores de link e links afiliados.
## Complementos de commits 💻
- **Rodapé:** informação sobre o revisor e número do card no Trello ou Jira. Exemplo: Reviewed-by: Elisandro Mello Refs #133
- **Corpo:** descrições mais precisas do que está contido no commit, apresentando impactos e os motivos pelos quais foram empregadas as alterações no código, como também instruções essenciais para intervenções futuras. Exemplo: see the issue for details on typos fixed.
- **Descrições:** uma descrição sucinta da mudança. Exemplo: correct minor typos in code
## Padrões de emojis 💈
<table>
<thead>
<tr>
<th>Tipo do commit</th>
<th>Emoji</th>
<th>Palavra-chave</th>
</tr>
</thead>
<tbody>
<tr>
<td>Acessibilidade</td>
<td>♿ <code>:wheelchair:</code></td>
<td></td>
</tr>
<tr>
<td>Adicionando um teste</td>
<td>✅ <code>:white_check_mark:</code></td>
<td><code>test</code></td>
</tr>
<tr>
<td>Atualizando a versão de um submódulo</td>
<td>⬆️ <code>:arrow_up:</code></td>
<td></td>
</tr>
<tr>
<td>Retrocedendo a versão de um submódulo</td>
<td>⬇️ <code>:arrow_down:</code></td>
<td></td>
</tr>
<tr>
<td>Adicionando uma dependência</td>
<td>➕ <code>:heavy_plus_sign:</code></td>
<td><code>build</code></td>
</tr>
<tr>
<td>Alterações de revisão de código</td>
<td>👌 <code>:ok_hand:</code></td>
<td><code>style</code></td>
</tr>
<tr>
<td>Animações e transições</td>
<td>💫 <code>:dizzy:</code></td>
<td></td>
</tr>
<tr>
<td>Bugfix</td>
<td>🐛 <code>:bug:</code></td>
<td><code>fix</code></td>
</tr>
<tr>
<td>Comentários</td>
<td>💡 <code>:bulb:</code></td>
<td><code>docs</code></td>
</tr>
<tr>
<td>Commit inicial</td>
<td>🎉 <code>:tada:</code></td>
<td><code>init</code></td>
</tr>
<tr>
<td>Configuração</td>
<td>🔧 <code>:wrench:</code></td>
<td><code>chore</code></td>
</tr>
<tr>
<td>Deploy</td>
<td>🚀 <code>:rocket:</code></td>
<td></td>
</tr>
<tr>
<td>Documentação</td>
<td>📚 <code>:books:</code></td>
<td><code>docs</code></td>
</tr>
<tr>
<td>Em progresso</td>
<td>🚧 <code>:construction:</code></td>
<td></td>
</tr>
<tr>
<td>Estilização de interface</td>
<td>💄 <code>:lipstick:</code></td>
<td><code>feat</code></td>
</tr>
<tr>
<td>Infraestrutura</td>
<td>🧱 <code>:bricks:</code></td>
<td><code>ci</code></td>
</tr>
<tr>
<td>Lista de ideias (tasks)</td>
<td>🔜 <code> :soon: </code></td>
<td></td>
</tr>
<tr>
<td>Mover/Renomear</td>
<td>🚚 <code>:truck:</code></td>
<td><code>chore</code></td>
</tr>
<tr>
<td>Novo recurso</td>
<td>✨ <code>:sparkles:</code></td>
<td><code>feat</code></td>
</tr>
<tr>
<td>Package.json em JS</td>
<td>📦 <code>:package:</code></td>
<td><code>build</code></td>
</tr>
<tr>
<td>Performance</td>
<td>⚡ <code>:zap:</code></td>
<td><code>perf</code></td>
</tr>
<tr>
<td>Refatoração</td>
<td>♻️ <code>:recycle:</code></td>
<td><code>refactor</code></td>
</tr>
<tr>
<td>Limpeza de Código</td>
<td>🧹 <code>:broom:</code></td>
<td><code>cleanup</code></td>
</tr>
<tr>
<td>Removendo um arquivo</td>
<td>🗑️ <code>:wastebasket:</code></td>
<td><code>remove</code></td>
</tr>
<tr>
<td>Removendo uma dependência</td>
<td>➖ <code>:heavy_minus_sign:</code></td>
<td><code>build</code></td>
</tr>
<tr>
<td>Responsividade</td>
<td>📱 <code>:iphone:</code></td>
<td></td>
</tr>
<tr>
<td>Revertendo mudanças</td>
<td>💥 <code>:boom:</code></td>
<td><code>fix</code></td>
</tr>
<tr>
<td>Segurança</td>
<td>🔒️ <code>:lock:</code></td>
<td></td>
</tr>
<tr>
<td>SEO</td>
<td>🔍️ <code>:mag:</code></td>
<td></td>
</tr>
<tr>
<td>Tag de versão</td>
<td>🔖 <code>:bookmark:</code></td>
<td></td>
</tr>
<tr>
<td>Teste de aprovação</td>
<td>✔️ <code>:heavy_check_mark:</code></td>
<td><code>test</code></td>
</tr>
<tr>
<td>Testes</td>
<td>🧪 <code>:test_tube:</code></td>
<td><code>test</code></td>
</tr>
<tr>
<td>Texto</td>
<td>📝 <code>:pencil:</code></td>
<td></td>
</tr>
<tr>
<td>Tipagem</td>
<td>🏷️ <code>:label:</code></td>
<td></td>
</tr>
<tr>
<td>Tratamento de erros</td>
<td>🥅 <code>:goal_net:</code></td>
<td></td>
</tr>
<tr>
<td>Dados</td>
<td>🗃️ <code>:card_file_box:</code></td>
<td><code>raw</code></td>
</tr>
</tbody>
</table>
## 💻 Exemplos
<table>
<thead>
<tr>
<th>Comando Git</th>
<th>Resultado no GitHub</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>git commit -m ":tada: Commit inicial"</code>
</td>
<td>🎉 Commit inicial</td>
</tr>
<tr>
<td>
<code>git commit -m ":books: docs: Atualização do README"</code>
</td>
<td>📚 docs: Atualização do README</td>
</tr>
<tr>
<td>
<code>git commit -m ":bug: fix: Loop infinito na linha 50"</code>
</td>
<td>🐛 fix: Loop infinito na linha 50</td>
</tr>
<tr>
<td>
<code>git commit -m ":sparkles: feat: Página de login"</code>
</td>
<td>✨ feat: Página de login</td>
</tr>
<tr>
<td>
<code>git commit -m ":bricks: ci: Modificação no Dockerfile"</code>
</td>
<td>🧱 ci: Modificação no Dockerfile</td>
</tr>
<tr>
<td>
<code>git commit -m ":recycle: refactor: Passando para arrow functions"</code>
</td>
<td>♻️ refactor: Passando para arrow functions</td>
</tr>
<tr>
<td>
<code>git commit -m ":zap: perf: Melhoria no tempo de resposta"</code>
</td>
<td>⚡ perf: Melhoria no tempo de resposta</td>
</tr>
<tr>
<td>
<code>git commit -m ":boom: fix: Revertendo mudanças ineficientes"</code>
</td>
<td>💥 fix: Revertendo mudanças ineficientes</td>
</tr>
<tr>
<td>
<code>git commit -m ":lipstick: feat: Estilização CSS do formulário"</code>
</td>
<td>💄 feat: Estilização CSS do formulário</td>
</tr>
<tr>
<td>
<code>git commit -m ":test_tube: test: Criando novo teste"</code>
</td>
<td>🧪 test: Criando novo teste</td>
</tr>
<tr>
<td>
<code>git commit -m ":bulb: docs: Comentários sobre a função LoremIpsum( )"</code>
</td>
<td>💡 docs: Comentários sobre a função LoremIpsum( )</td>
</tr>
<tr>
<td>
<code>git commit -m ":card_file_box: raw: RAW Data do ano aaaa"</code>
</td>
<td>🗃️ raw: RAW Data do ano aaaa</td>
</tr>
<tr>
<td>
<code>git commit -m ":broom: cleanup: Eliminando blocos de código comentados e variáveis não utilizadas na função de validação de formulário"</code>
</td>
<td>🧹 cleanup: Eliminando blocos de código comentados e variáveis não utilizadas na função de validação de formulário</td>
</tr>
<tr>
<td>
<code>git commit -m ":wastebasket: remove: Removendo arquivos não utilizados do projeto para manter a organização e atualização contínua"</code>
</td>
<td>🗑️ remove: Removendo arquivos não utilizados do projeto para manter a organização e atualização contínua</td>
</tr>
</tbody>
</table>
# Principais comandos do Git 📜
- `git clone url-do-repositorio-no-github` - Clona um repositório remoto existente no GitHub para o seu ambiente local.
- `git init` - Inicializa um novo repositório Git no diretório atual.
- `git add .` - Adiciona todos os arquivos e alterações no diretório atual para a área de stage (preparando-os para o commit).
- `git commit -m "mensagem do commit"` - Registra as alterações adicionadas na área de stage com uma mensagem descritiva sobre o que foi modificado.
- `git branch -M main` - Renomeia a branch atual (master) para main. O -M é usado para forçar a renomeação, movendo a branch se necessário.
- `git remote add origin https://github.com/usuario/nome-do-repositorio.git` - Adiciona um repositório remoto chamado origin ao repositório local. Use `https://github.com/usuario` para configurar o repositório remoto com HTTPS ou `git@github.com:usuario` para configurar com SSH.
- `git push -u origin main` - Envia os commits da branch main do repositório local para o repositório remoto origin e define main como a branch padrão para futuros push e pull. O -u (ou --set-upstream) configura a branch upstream para facilitar os próximos comandos git push e git pull e eliminar a necessidade de especificar a branch.
- `git remote add origin git@github.com:usuario/projeto.git` `git branch -M main` `git push -u origin main` - Quando você já tem um repositório local e quer conectá-lo a um repositório remoto no GitHub, adiciona o repositório remoto, renomeia a branch principal para main e envia os commits iniciais.
- `git fetch` - Busca todas as atualizações do repositório remoto sem integrá-las à branch atual. Isso atualiza as referências remotas.
- `git pull origin main` - Atualiza a branch local main com as mudanças do repositório remoto origin. Combina git fetch e git merge.
- `git push --force-with-lease` - Forma mais segura de forçar o envio de alterações locais para o repositório remoto. Verifica se não houve alterações feitas por outros colaboradores desde sua última atualização local, evitando sobrescrever acidentalmente o trabalho de outros.
- `git revert id_do_commit_que_vai_ser_revertido` - Cria um novo commit que desfaz as alterações feitas pelo commit especificado, preservando o histórico. Útil para desfazer mudanças de forma segura sem reescrever o histórico.
- `git reset --hard id_do_commit_anterior_ao_que_vai_ser_apagado` - Redefine o repositório para o estado do commit especificado, apagando todas as mudanças feitas após esse commit. Ideal para uso local. Para sincronizar remotamente, use `git push --force-with-lease` posteriormente.
- `git commit --amend -m "mensagem_reescrita"` - Altera a mensagem do último commit. Após usar este comando, sincronize remotamente com `git push --force-with-lease`.
- `git cherry-pick HASH_DO_COMMIT` - Utilizado para obter um commit específico. Exemplo de uso: Imagine que você tenha duas branchs (main) e (develop) e na segunda você tem 3 commits mas deseja apenas pegar o primeiro commit dela, com o uso de cherry-pick você pode.
- `git switch <branch>` - Alterna para uma branch diferente no repositório local. Use `git switch -c <branch>` para criar e alternar para uma nova branch.
# Glossário 📖
- `fork` - Cópia de um repositório para a sua própria conta no GitHub. Isso cria um novo repositório em sua conta que é independente do original, permitindo que você faça alterações sem afetar o repositório original.
- `issues` - Ferramenta usada para gerenciar tarefas, pedidos de novos recursos e correções de bugs em projetos de código aberto. As issues devem ser descritas e listadas, permitindo aos colaboradores discutirem e rastrearem o progresso das mesmas.
- `pull request` - Mecanismo usado para submeter alterações propostas ao repositório original. Um pull request é uma solicitação para que os mantenedores do projeto revisem e potencialmente incorporem as alterações. O pull request passará por um processo de avaliação e pode ser aceito ou rejeitado.
- `gist` - Ferramenta que permite o compartilhamento de trechos de código sem a necessidade de criar um repositório completo. Gists podem ser compartilhados publicamente ou de forma privada.
# Contribuição ✨
Ajude a comunidade tornando este projeto ainda mais incrível. Leia como contribuir clicando **[aqui](https://github.com/iuricode/padroes-de-commits/blob/main/CONTRIBUTING.md)** e a **[licença](https://github.com/iuricode/padroes-de-commits/blob/main/LICENSE.md)**. Estou convencido de que juntos alcançaremos coisas incríveis!
## Disponível para freelas - #OpenToWork 🚀
Atualmente estou aberto para oportunidades como Desenvolvedor Frontend e UI/UX Designer. Se você precisa de alguém para transformar ideias em interfaces bonitas, responsivas e funcionais, podemos trabalhar juntos!
📬 Entre em contato:
📧 iuricold99@gmail.com
💼 [Linkedin](https://www.linkedin.com/in/iuricode/)
================================================
FILE: commit-msg.sh
================================================
#!/usr/bin/env bash
# Path to the commit message file (provided by Git).
COMMIT_MSG_FILE=$1
# Read the commit message from the file.
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")
CONVENTIONAL_COMMIT_REGEX='^(feat|fix|docs|style|refactor|test|chore|build|ci|perf|revert)(\([a-zA-Z0-9_.-]+\))?(!)?:\s.*$'
# Check if the commit message matches the regex
if ! [[ $COMMIT_MSG =~ $CONVENTIONAL_COMMIT_REGEX ]]; then
echo "ERRO: A mensagem de commit não segue o formato do Conventional Commits."
echo
echo "O formato correto da mensagem de commit é obrigatório:"
echo " <tipo>(<escopo opcional>): <descrição>"
echo
echo "Os tipos válidos são:"
echo " feat: Uma nova funcionalidade."
echo " fix: Correção de um bug."
echo " docs: Alterações na documentação."
echo " style: Alterações de estilo de código (formatação, ponto-e-vírgula ausente, etc.)."
echo " refactor: Refatoração de código (nem corrige bug nem adiciona funcionalidade)."
echo " test: Adicionar ou atualizar testes."
echo " chore: Tarefas rotineiras como atualização de dependências ou ferramentas de build."
echo " build: Alterações que afetam o sistema de build ou dependências externas."
echo " ci: Alterações nos arquivos de configuração de CI ou scripts."
echo " perf: Melhorias de desempenho."
echo " revert: Reverter um commit anterior."
echo
echo "Exemplos:"
echo " feat(auth): adicionar funcionalidade de login"
echo " fix(api)!: resolver problema de timeout"
echo " docs(readme): atualizar instruções de instalação"
echo
exit 1
fi
exit 0
================================================
FILE: prepare-commit-msg.sh
================================================
#!/bin/sh
# Implemente o serviço em https://github.com/tiagolofi/ai-commit-hooks-api
# Mais detalhes em: https://github.com/tiagolofi/ai-commit-hooks
COMMIT_MSG_FILE=$1
GIT_DIFF=$(git diff --staged)
API_RESPONSE=$(
curl -X 'POST' \
'http://localhost:8080/commit/gpt-4o-mini' \
-H 'Token-Consumo: SEU_TOKEN_GERADO_NA_APLICACAO' \
-H 'Content-Type: text/plain' \
-d "$GIT_DIFF"
)
COMMIT=$(echo $API_RESPONSE | grep -oP '(?<="respostaGPT4oMini":")[^"]*')
echo "$COMMIT" > temp_msg
cat "$COMMIT_MSG_FILE" >> temp_msg # dê um " " na mensagem de commit
mv temp_msg "$COMMIT_MSG_FILE"
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")
if [[ -z "$COMMIT_MSG" || "$COMMIT_MSG" =~ ^[[:space:]]*$ ]]; then
exit 1 # erro: mensagem vazia
fi
================================================
FILE: push.sh
================================================
#!/bin/bash
# Script shell para facilitar a criacao de commits semanticos
echo "Selecione o tipo de commit:"
echo "1. feat: Novo recurso ✨"
echo "2. fix: Correção de bug 🐛"
echo "3. docs: Documentação 📚"
echo "4. test: Testes 🧪"
echo "5. build: Build ➕"
echo "6. perf: Performance ⚡"
echo "7. style: Estilo de código 🎨"
echo "8. refactor: Refatoração ♻️"
echo "9. chore: Tarefas 🔧"
echo "10. ci: Integração contínua 🧱"
echo "11. raw: Dados RAW 🗃️"
echo "12. cleanup: Limpeza de código 🧹"
echo "13. remove: Remoção de arquivos 🗑️"
echo ""
read -p "Digite o número correspondente ao tipo de commit: " commit_type
case $commit_type in
1) type="feat"; emoji="✨";;
2) type="fix"; emoji="🐛";;
3) type="docs"; emoji="📚";;
4) type="test"; emoji="🧪";;
5) type="build"; emoji="➕";;
6) type="perf"; emoji="⚡";;
7) type="style"; emoji="🎨";;
8) type="refactor"; emoji="♻️";;
9) type="chore"; emoji="🔧";;
10) type="ci"; emoji="🧱";;
11) type="raw"; emoji="🗃️";;
12) type="cleanup"; emoji="🧹";;
13) type="remove"; emoji="🗑️";;
*) echo "Tipo de commit inválido"; exit 1;;
esac
read -p "Digite a mensagem do commit: " message
commit_message="[$type] $emoji: $message"
git commit -a -m "$commit_message"
echo "Commit criado com sucesso: $commit_message"
gitextract_stifzxze/ ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── commit-msg.sh ├── prepare-commit-msg.sh └── push.sh
Condensed preview — 6 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (25K chars).
[
{
"path": "CONTRIBUTING.md",
"chars": 684,
"preview": "# Como contribuir?\n\nEste é um projeto totalmente livre que aceita contribuições via pull requests no GitHub. Este docume"
},
{
"path": "LICENSE.md",
"chars": 227,
"preview": "#### Copyright © 2021 / [Iuri Silva](https://github.com/iuricode)\n\nA permissão é concedida, gratuitamente, a qualquer pe"
},
{
"path": "README.md",
"chars": 18833,
"preview": "# Padrões de commits 📜\r\n\r\nDe acordo com a documentação do **[Conventional Commits](https://www.conventionalcommits.org/p"
},
{
"path": "commit-msg.sh",
"chars": 1650,
"preview": "#!/usr/bin/env bash\n\n# Path to the commit message file (provided by Git).\nCOMMIT_MSG_FILE=$1\n\n# Read the commit message "
},
{
"path": "prepare-commit-msg.sh",
"chars": 745,
"preview": "#!/bin/sh\n\n# Implemente o serviço em https://github.com/tiagolofi/ai-commit-hooks-api\n# Mais detalhes em: https://github"
},
{
"path": "push.sh",
"chars": 1274,
"preview": "#!/bin/bash\n\n# Script shell para facilitar a criacao de commits semanticos\n\necho \"Selecione o tipo de commit:\"\necho \"1. "
}
]
About this extraction
This page contains the full source code of the iuricode/padroes-de-commits GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6 files (22.9 KB), approximately 6.7k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.