5.3 KiB
| type | name | description | scope | trigger | updatedAt |
|---|---|---|---|---|---|
| rule | proibido-commit-ia | Condições de commit pela IA (proibido comitar na master na aplicação; deve criar nova branch se em master); na Wiki (../wiki), commit, push e resolução de conflitos são permitidos direto na master | global | always_on | 2026-10-01 |
Regra: Diretrizes de Versionamento Git — Commit Condicional na Aplicação e Gestão Direta em Master na Wiki
Contexto
O ecossistema adota uma política de versionamento clara e segura que equilibra agilidade na documentação com proteção do código produtivo:
- Aplicação Principal (
<base_projeto>): A IA pode comitar alterações, com a salvaguarda estrita e inegociável de NUNCA comitar diretamente na branchmaster(oumain). Estando emmaster, a IA deve compulsoriamente criar e alternar para uma nova branch de trabalho antes de realizar qualquer commit. - Repositório da Wiki (
<base_projeto>/../wikiouwiki/): Hospeda a base viva de documentação (Pilares 3 e 4). Na Wiki, a IA possui autonomia total para executargit commit,git pushe resolver eventuais conflitos de sincronização diretamente na branchmaster.
Regra
1. Na Aplicação Principal (<base_projeto>) — COMMIT CONDICIONAL E SALVAGUARDA DE MASTER
A IA PODE realizar commits na aplicação principal, ESTRITAMENTE CONDICIONADA às regras:
-
NUNCA comitar diretamente na branch
master: É expressamente proibido rodargit commitquando a branch atual formaster(oumain). -
Criação obrigatória de nova branch se estiver em
master: Antes de qualquer commit, a IA deve inspecionar a branch atual:BRANCH_ATUAL=$(git branch --show-current)Se
BRANCH_ATUALformasteroumain, a IA DEVE criar e alternar para uma nova branch semântica:git checkout -b <tipo>/<descricao-curta>Padrão de nomenclatura:
feat/<slug>: novas funcionalidadesfix/<slug>: correções de bugsrefactor/<slug>: refatorações de códigodocs/<slug>: documentações técnicas no códigoia/<slug>: planos e tarefas automatizadas de IA
-
Commit em branch de trabalho: Se o repositório já estiver em uma branch que NÃO seja
master/main, a IA pode comitar diretamente nessa branch. -
Mensagens semânticas: Usar o padrão Conventional Commits (
feat:,fix:,refactor:,docs:,test:,chore:). -
Comandos PROIBIDOS na aplicação principal:
git commitdiretamente na branchmasteroumain❌git pushdireto na branchmasteroumain❌git push --forceougit push -f❌git reset --hardsem autorização explícita ❌git branch -D❌git stash drop❌
2. No Repositório da Wiki (<base_projeto>/../wiki) — COMMIT, PUSH E RESOLUÇÃO DE CONFLITOS DIRETO NA MASTER
Na Wiki, a IA possui permissão total e obrigação de manter a documentação atualizada diretamente na branch master:
-
Commit e Push Diretos na Master:
git -C <base_projeto>/../wiki add -A git -C <base_projeto>/../wiki commit -m "docs(<modulo-id>): <descrição sucinta das alterações>" git -C <base_projeto>/../wiki push origin master -
Resolução de Conflitos Direto na Master: Se ao dar push houver rejeição ou divergência com o upstream remoto:
- A IA executa
git -C <base_projeto>/../wiki pull --rebase origin master. - Havendo conflitos de merge, a IA resolve as marcações diretamente na
master, preservando a coerência da documentação dos 6 pilares. - Adiciona os arquivos resolvidos (
git -C <base_projeto>/../wiki add -A), finaliza o rebase (git -C <base_projeto>/../wiki rebase --continueou commit) e envia comgit push origin master.
- A IA executa
Exemplos
❌ Errado — comitar diretamente na branch master da aplicação
# Branch atual: master
git add src/servicos/auth.ts
git commit -m "fix: ajustar token de auth" # PROIBIDO EM MASTER!
✅ Correto — ramificar antes de comitar se estiver em master
# Branch atual: master
git checkout -b fix/ajuste-token-auth
git add src/servicos/auth.ts
git commit -m "fix(auth): ajustar renovação de token"
# Notificar o operador: "Commit realizado na branch fix/ajuste-token-auth"
✅ Correto — comitar em branch secundária já existente
# Branch atual: feat/novo-painel (diferente de master)
git add src/paginas/Painel.vue
git commit -m "feat(painel): adicionar gráfico de métricas"
✅ Correto — ciclo completo na Wiki direto na master
git -C ../wiki add -A
git -C ../wiki commit -m "docs(quipo): atualizar manual de licenciamento"
git -C ../wiki pull --rebase origin master # Se houver conflitos, resolve e prossegue
git -C ../wiki push origin master
Impacto
- Segurança da Master: A branch principal de produção fica totalmente protegida contra commits acidentais.
- Rastreabilidade e Revisão: Todas as alterações da IA na aplicação ficam isoladas em branches específicas, facilitando Pull Requests e revisões do operador.
- Agilidade na Wiki: A documentação viva nunca fica travada por divergências ou bloqueios manuais.
Referências
- Rule:
rules/autonomia-agente.md - Rule:
rules/ddd-documentacao-primeiro.md - Skill:
skills/documentacao/SKILL.md - Skill:
skills/plano.executar/SKILL.md