Higiene do GitHub
Aplique estas regras para toda operação no GitHub ou Git, independentemente do repositório, branch ou contexto da tarefa.
Quando usar
Aplique quando a tarefa envolver qualquer um dos seguintes:
- Criar ou modificar repositórios do GitHub
- Clonar ou trabalhar com repositórios Git
- Criar, alterar ou enviar (push) commits
- Criar ou atualizar pull requests
- Gerenciar branches, workflows, colaboradores ou configurações de repositório
- Qualquer outra operação que altere ou interaja com um repositório do GitHub
1. Restrições de contribuidor para agentes de código
Nunca adicione o agente de código como contribuidor ou colaborador do GitHub.
Não faça:
- Convidar uma conta de IA/agente de código como colaborador do repositório
- Adicionar uma conta de IA/agente de código a uma organização ou repositório do GitHub
- Conceder permissões de repositório a uma conta de IA/agente de código
- Alterar permissões de repositório para tornar uma conta de IA/agente de código um contribuidor
- Criar ou usar uma conta GitHub dedicada de IA/agente como identidade do contribuidor
Isso se aplica a todas as identidades de IA/agente de código, incluindo Cursor, Codex, ChatGPT, outros agentes de codificação de IA, bots de codificação automatizados e qualquer conta cujo propósito seja representar o agente de codificação.
Opere usando a identidade Git/GitHub existente do usuário, a menos que o usuário solicite explicitamente uma identidade humana diferente.
2. Restrições de autor e identidade do commit
Commits não devem identificar o agente de código como autor, coautor ou gerador.
Não adicione atribuição de agente de IA no assunto, corpo, trailers (rodapés), metadados do autor Git ou metadados do committer Git.
Proibido a menos que seja explicitamente exigido pela configuração de repositório existente do usuário e não possa ser alterado com segurança:
Co-authored-by: Cursor
Co-authored-by: Codex
Co-authored-by: ChatGPT
Generated-by: AI
Generated-by: Codex
Generated-by: Cursor
AI-generated
Generated with Cursor
Generated with Codex
Generated with ChatGPT
Não configure intencionalmente a identidade Git para representar o agente de código.
3. Formato da mensagem de commit
A menos que o usuário especifique explicitamente outro formato, toda mensagem de commit deve seguir:
[xx]xxxxx
Onde:
xxé um prefixo predefinido de duas letras maiúsculas- O prefixo está entre colchetes
- O prefixo é imediatamente seguido por uma descrição concisa do commit
- A descrição explica o propósito principal da mudança
- Não adicione nome de agente de IA, atribuição ou metadados não relacionados
Permitido
[FT]add user authentication
[FX]fix token expiration
[FE]update login page
[BE]add user service
[AP]add auth endpoint
[DB]add user table
[TS]add authentication tests
[RF]simplify auth middleware
[CI]update github workflow
[DC]update api documentation
Proibido
update login page
AI: update login page
[AI]add authentication
[Cursor]fix login bug
[Codex]add api endpoint
[FT] Generated with Codex
Co-authored-by: Codex
4. Prefixos de commit predefinidos
Lista autoritativa de prefixos padrão:
[FE] Frontend
[BE] Backend
[AP] API
[DB] Database
[UI] UI
[CF] Config
[CI] CI/CD
[TS] Test
[DC] Docs
[RF] Refactor
[FX] Fix
[FT] Feature
[OP] Optimize
[SC] Security
[DP] Dependency
[CH] Chore
Regras de seleção
A menos que o usuário especifique explicitamente outro prefixo:
- Use um prefixo predefinido sempre que possível
- Nunca invente um novo prefixo
- Nunca modifique a grafia ou capitalização de um prefixo predefinido
- Use exatamente duas letras maiúsculas dentro dos colchetes
- Selecione o prefixo com base no propósito principal da mudança
- Quando vários prefixos puderem ser aplicados, escolha aquele que melhor representa o propósito principal
| Tipo de mudança | Prefixo |
|---|---|
| Nova funcionalidade | [FT] |
| Correção de bug | [FX] |
| Implementação de frontend | [FE] |
| Implementação de backend | [BE] |
| Mudanças na API | [AP] |
| Mudanças no banco de dados | [DB] |
| Mudanças apenas de UI | [UI] |
| Mudanças de configuração | [CF] |
| Mudanças de CI/CD | [CI] |
| Testes | [TS] |
| Documentação | [DC] |
| Refatoração sem mudança de comportamento | [RF] |
| Otimização de desempenho | [OP] |
| Mudanças relacionadas à segurança | [SC] |
| Mudanças de dependências | [DP] |
| Manutenção geral | [CH] |
5. Prefixo especificado pelo usuário tem prioridade
A lista de prefixos predefinidos é o padrão, não uma restrição absoluta.
Se o usuário especificar explicitamente um prefixo ou formato de commit diferente, siga a instrução explícita do usuário.
Exemplo: usuário diz Use [HOT] para este commit. → use [HOT]fix production issue.
- Não substitua o prefixo solicitado explicitamente pelo usuário por um prefixo predefinido
- Se o usuário não especificar um prefixo, use a lista predefinida
- Se o usuário especificar apenas a descrição, selecione o prefixo predefinido apropriado
6. Descrição do commit
A descrição após o prefixo deve ser:
- Concisa e específica
- Escrita em inglês, a menos que o usuário solicite explicitamente outro idioma
- Focada na mudança real
- Livre de atribuição de agente de IA
Preferido:
[FX]fix expired access token handling
[FT]add password reset endpoint
[FE]update account settings page
[RF]simplify request validation
Evite:
[FX]fix stuff
[FT]changes
[RF]update code
[BE]AI generated backend changes
7. Escopo do commit
Prefira uma mudança lógica por commit quando for prático.
Quando uma tarefa contém várias mudanças não relacionadas:
- Não invente uma única descrição de commit enganosa
- Prefira commits separados quando for prático
- Selecione o prefixo independentemente para cada commit
- Mantenha cada mensagem de commit representativa de seu conteúdo real
Se o usuário solicitar explicitamente um único commit, siga essa instrução e escolha o prefixo que melhor representa o propósito principal da mudança combinada.
8. Validação pré-commit
Antes de criar um commit, verifique:
Identidade
- O autor Git é a identidade configurada do usuário
- O committer Git não é uma identidade de IA/agente de código
- Nenhuma atribuição de agente de IA será adicionada
Mensagem
- Começa com um prefixo válido
- Usa um prefixo predefinido, a menos que o usuário tenha especificado explicitamente outro
- Usa exatamente duas letras maiúsculas para um prefixo padrão
- O prefixo está entre
[] - Contém uma descrição concisa após o prefixo
- Não menciona Cursor, Codex, ChatGPT, agente de IA ou identidade de agente similar
- Não contém trailers de atribuição proibidos
Permissões do GitHub
Antes de alterar permissões de repositório ou colaboradores:
- Verifique se o destino não é uma identidade de IA/agente de código
- Nunca conceda acesso de contribuidor ou colaborador ao agente de código
9. Push e operações do GitHub
Antes de enviar commits:
- Garanta que as mensagens de commit estejam em conformidade com esta skill
- Garanta que os commits não contenham atribuição de IA proibida
- Garanta que o agente de código não foi adicionado como contribuidor do GitHub
- Não modifique permissões do GitHub meramente para facilitar a operação do agente
Se um commit existente violar estas regras e o usuário solicitar o envio, corrija a violação antes de enviar quando isso for seguro e consistente com o fluxo de trabalho solicitado pelo usuário.
Para commits já enviados a um branch compartilhado/público, não reescreva o histórico automaticamente. Pergunte ao usuário antes de:
git commit --amend
git rebase
git reset --hard
git push --force
git push --force-with-lease
10. Pull requests
Ao criar ou atualizar um pull request:
- Não identifique o agente de código como contribuidor
- Não adicione atribuição de agente de IA a menos que solicitado explicitamente pelo usuário
- Mantenha o título e a descrição do PR focados nas mudanças reais
- Siga o template de PR do repositório quando existir
- Não modifique permissões de repositório para criar ou atualizar um PR
11. Resolução de conflitos
Se outra instrução de nível de repositório, regra de projeto ou instrução do usuário conflitar com esta skill:
- Siga a instrução de maior prioridade
- Se o usuário especificar explicitamente um prefixo ou formato de commit, siga a solicitação explícita do usuário
- Caso contrário, use a lista de prefixos predefinidos e o formato de commit desta skill
- Nunca adicione o agente de código como contribuidor do GitHub
Não invente silenciosamente uma regra alternativa.
12. Lista de verificação final de aplicação
Antes de concluir qualquer tarefa relacionada ao GitHub:
[ ] O agente de código não foi adicionado como contribuidor do GitHub.
[ ] O agente de código não foi adicionado como colaborador do GitHub.
[ ] O autor Git não é uma identidade de agente de IA.
[ ] O committer Git não é uma identidade de agente de IA.
[ ] A mensagem de commit segue [xx]xxxxx por padrão.
[ ] O prefixo padrão vem da lista predefinida.
[ ] O prefixo especificado pelo usuário tem prioridade sobre a lista predefinida.
[ ] A mensagem de commit não contém atribuição de agente de IA.
[ ] Os trailers do commit não contêm atribuição de agente de IA.
[ ] As operações do GitHub não modificam desnecessariamente as permissões do repositório.