5.3 KiB
5.3 KiB
| type | name | description | scope | trigger | updatedAt |
|---|---|---|---|---|---|
| rule | proibido-commit-ia | Proíbe a IA de executar git commit ou git push na aplicação principal e na Wiki (commit exclusivo por humano; IA apenas sugere o texto do commit). Apenas o submódulo .agent pode receber commit/push automático. | global | always_on | 2026-10-14 |
Regra: Diretrizes de Versionamento Git — Commit Exclusivo por Humano (IA Apenas Sugere Texto) e Push Automático Apenas no .agent
Contexto
O ecossistema adota uma política de versionamento estrita onde o controle de histórico dos projetos pertence exclusivamente ao operador humano:
- Aplicação Principal (
<base_projeto>) e Repositório da Wiki (<modulo-wiki>, padrão../wiki/): É terminantemente proibido à IA executargit commit,git pushou criar branches para comitar. O commit deve ser realizado apenas por um humano, cabendo à IA apenas sugerir o texto da mensagem de commit (no padrão Conventional Commits) ao concluir suas alterações. - Submódulo
.agent(<base_projeto>/.agent): É o único repositório onde a IA possui permissão para executargit add,git commit,git pull --rebase origin masteregit push origin masterde forma automática quando artefatos de IA são atualizados.
Regra
1. Na Aplicação Principal (<base_projeto>) e na Wiki (<modulo-wiki>) — COMMIT EXCLUSIVO POR HUMANO (IA APENAS SUGERE TEXTO)
A IA NUNCA deve executar commits ou pushes na aplicação principal ou na Wiki:
- Proibição Absoluta de Commit e Push pela IA:
- É expressamente proibido rodar
git commitougit pushem qualquer branch da aplicação principal (<base_projeto>) ou do repositório da Wiki (<modulo-wiki>). - A IA não deve criar branches (
git checkout -b) com a finalidade de comitar alterações automaticamente.
- É expressamente proibido rodar
- Obrigação de Sugerir o Texto do Commit:
- Ao finalizar qualquer implementação, correção, refatoração ou documentação, a IA DEVE apresentar ao operador humano uma Sugestão de Mensagem de Commit seguindo o padrão Conventional Commits:
feat(<escopo>): <descrição sucinta>— novas funcionalidadesfix(<escopo>): <descrição sucinta>— correções de bugsrefactor(<escopo>): <descrição sucinta>— refatorações de códigodocs(<modulo-id>): <descrição sucinta>— criações ou atualizações de documentação (código ou Wiki)test(<escopo>): <descrição sucinta>— adição ou ajuste de testeschore(<escopo>): <descrição sucinta>— manutenção e configurações
- Ao finalizar qualquer implementação, correção, refatoração ou documentação, a IA DEVE apresentar ao operador humano uma Sugestão de Mensagem de Commit seguindo o padrão Conventional Commits:
- Proibição de Binários Pesados no Git da Wiki (Usar MinIO Paiol):
- É expressamente proibido versionar no Git da Wiki arquivos binários ou mídias pesadas (manuais em
.pdf, vídeos.mp4/.webm, imagens pesadas, pacotes.zip). - Todo arquivo estático da Wiki DEVE ser enviado ao MinIO Paiol:
ou via./.agent/scripts/upload-paiol-wiki.sh <arquivo> <funcionalidade/pagina>curl -X PUT --upload-file ... https://paiol.idz.one/wiki/{modulo}/{slug}-{aleatorio}.{ext}. - Apenas o arquivo Markdown contendo a URL pública gerada deve permanecer no repositório para que o humano realize o commit.
- É expressamente proibido versionar no Git da Wiki arquivos binários ou mídias pesadas (manuais em
- Comandos PROIBIDOS na aplicação principal e na Wiki:
git commit(em qualquer branch) ❌git push(em qualquer branch) ❌git push --forceougit push -f❌git reset --hardsem autorização explícita ❌git branch -D❌git stash drop❌
2. No Submódulo .agent (<base_projeto>/.agent) — ÚNICO COM COMMIT E PUSH AUTOMÁTICO PERMITIDO
Exclusivamente quando houver evolução de regras, skills, workflows, scripts ou personas dentro do submódulo .agent, a IA está autorizada a versionar e publicar automaticamente na branch master do .agent:
git -C .agent add -A
git -C .agent commit -m "chore(agent): <descrição sucinta da evolução>"
git -C .agent pull --rebase origin master
git -C .agent push origin master
Exemplos
❌ Errado — IA executando commit na aplicação ou na Wiki
git add src/servicos/auth.ts
git commit -m "fix(auth): ajustar renovação de token" # PROIBIDO! Apenas humano faz commit.
✅ Correto — IA finaliza a alteração e apenas sugere o texto do commit ao humano
Alterações concluídas e validadas.
💬 **Sugestão de Commit (Aplicação):**
`fix(auth): ajustar renovação de token expirado`
✅ Correto — IA atualiza a Wiki e sugere o texto do commit ao humano
Documentação atualizada em `<modulo-wiki>/dev/<modulo-id>/`.
💬 **Sugestão de Commit (Wiki):**
`docs(<modulo-id>): atualizar manual operacional e regras de negócio`
Impacto
- Controle Humano Total: Nenhum commit ou push entra no histórico da aplicação ou da Wiki sem revisão e ação direta do operador humano.
- Padronização Semântica: O operador recebe sempre uma sugestão de mensagem clara e pronta para uso no formato Conventional Commits.
- Evolução Contínua do
.agent: O submódulo.agentpermanece sincronizado namasterquando aprimorado.
Referências
- Rule:
rules/autonomia-agente.md - Rule:
rules/ddd-documentacao-primeiro.md - Rule:
rules/identidade-modulo.md - Skill:
skills/documentacao/SKILL.md - Skill:
skills/plano.executar/SKILL.md