--- type: rule name: proibido-commit-ia description: 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. scope: global trigger: always_on updatedAt: "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: 1. **Aplicação Principal (``) e Repositório da Wiki (``, padrão `../wiki/`)**: É **terminantemente proibido** à IA executar `git commit`, `git push` ou 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. 2. **Submódulo `.agent` (`/.agent`)**: É o **único** repositório onde a IA possui permissão para executar `git add`, `git commit`, `git pull --rebase origin master` e `git push origin master` de forma automática quando artefatos de IA são atualizados. --- ## Regra ### 1. Na Aplicação Principal (``) e na Wiki (``) — COMMIT EXCLUSIVO POR HUMANO (IA APENAS SUGERE TEXTO) A IA **NUNCA** deve executar commits ou pushes na aplicação principal ou na Wiki: 1. **Proibição Absoluta de Commit e Push pela IA**: - É expressamente proibido rodar `git commit` ou `git push` em qualquer branch da aplicação principal (``) ou do repositório da Wiki (``). - A IA não deve criar branches (`git checkout -b`) com a finalidade de comitar alterações automaticamente. 2. **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(): ` — novas funcionalidades - `fix(): ` — correções de bugs - `refactor(): ` — refatorações de código - `docs(): ` — criações ou atualizações de documentação (código ou Wiki) - `test(): ` — adição ou ajuste de testes - `chore(): ` — manutenção e configurações 3. **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: ```bash ./.agent/scripts/upload-paiol-wiki.sh ``` ou via `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. 4. **Comandos PROIBIDOS na aplicação principal e na Wiki**: - `git commit` (em qualquer branch) ❌ - `git push` (em qualquer branch) ❌ - `git push --force` ou `git push -f` ❌ - `git reset --hard` sem autorização explícita ❌ - `git branch -D` ❌ - `git stash drop` ❌ --- ### 2. No Submódulo `.agent` (`/.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`: ```bash git -C .agent add -A git -C .agent commit -m "chore(agent): " git -C .agent pull --rebase origin master git -C .agent push origin master ``` --- ## Exemplos ### ❌ Errado — IA executando commit na aplicação ou na Wiki ```bash 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 ```markdown 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 ```markdown Documentação atualizada em `/dev//`. 💬 **Sugestão de Commit (Wiki):** `docs(): 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 `.agent` permanece sincronizado na `master` quando 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`