Codex: Regras & Hooks do Codex
Última atualização: 2026-08-31
O AGENTS.md e o mecanismo de hooks permitem controlar precisamente o comportamento do Codex no seu projeto — o que ele pode fazer, o que não pode, e que regras seguir.
📋 Pré-requisitos: Compreensão da configuração básica do Codex
1. O Que Você Vai Aprender
- Arquivo de regras AGENTS.md em detalhes
- Mecanismo de Hooks
- Prioridade de regras
- Configuração prática
2. AGENTS.md em Detalhes
O AGENTS.md é um arquivo de regras na raiz do projeto que o Codex lê automaticamente na inicialização como contexto persistente.
(1) Estrutura Básica
# AGENTS.md
## Visão Geral do Projeto
Nome do Projeto: E-Commerce API
Stack Tecnológica: FastAPI + PostgreSQL + Redis
Padrões de Código: PEP 8 + Black formatter
## Regras de Código
- Todas as funções devem ter anotações de tipo
- Todos os endpoints de API devem ter validação de entrada
- Usar injeção de dependência
- Usar classes de exceção personalizadas para tratamento de erros
## Estrutura de Arquivos
- src/api/ - Rotas de API
- src/models/ - Modelos de dados
- src/services/ - Lógica de negócios
- src/tests/ - Arquivos de teste
## Operações Proibidas
- Não modifique arquivos .env
- Não delete testes existentes
- Não instale novas dependências (requer confirmação humana)
- Não modifique migrações existentes em database/migrations/
(2) Tipos de Regras
| Tipo | Descrição | Exemplo |
|---|---|---|
| Estilo de Código | Convenções de codificação | "Use TypeScript strict mode" |
| Restrições de Arquitetura | Limitações de design | "Todas as APIs devem passar pela camada de serviço" |
| Operações Proibidas | Coisas a não fazer | "Não modifique arquivos .env" |
| Requisitos de Verificação | Padrões de conclusão | "Garanta que pytest passe" |
| Contexto do Projeto | Conhecimento de fundo | "Projeto usa arquitetura de microsserviços" |
▶ Exemplo 1: AGENTS.md de Alice
# AGENTS.md
## Visão Geral do Projeto
Site de e-commerce Next.js 14, usando App Router + TypeScript + Prisma
## Regras de Código
- Componentes usam componentes funcionais + TypeScript
- Use server actions em vez de rotas de API
- Busca de dados usa RSC (React Server Components)
- Estilização usa Tailwind CSS
- Formulários usam React Hook Form + validação Zod
## Convenções de Diretório
- app/ - Páginas e rotas
- components/ - Componentes reutilizáveis
- lib/ - Funções utilitárias e configuração
- types/ - Definições de tipos TypeScript
## Operações Proibidas
- Não use 'use client' a menos que necessário
- Não instale novas bibliotecas de UI (use shadcn/ui existente)
- Não modifique modelos existentes em prisma/schema.prisma (apenas adicione novos)
- Não modifique middleware.ts
3. Mecanismo de Hooks
Hooks são scripts que executam automaticamente quando eventos específicos são acionados.
(1) Tipos de Hooks
| Hook | Gatilho | Propósito |
|---|---|---|
| pre-task | Antes da execução da tarefa | Preparar ambiente, carregar contexto |
| post-task | Após conclusão da tarefa | Executar testes, formatar código |
| pre-commit | Antes do commit | Verificação lint, code review |
| on-error | Em caso de erro | Relatório de erro, rollback |
(2) Configurar Hooks
# .codex/config.toml
[hooks]
# Auto-executar testes após conclusão da tarefa
post-task = "npm test"
# Auto-formatar antes do commit
pre-commit = "npm run format && npm run lint"
# Enviar notificação em caso de erro
on-error = "curl -X POST https://hooks.slack.com/xxx -d 'Codex error'"
(3) Scripts de Hook
# .codex/hooks/post-task.sh
#!/bin/bash
# Executar testes
npm test
if [ $? -ne 0 ]; then
echo "Tests failed! Fixing..."
codex --full-auto "Fix all failing tests"
fi
# Formatar código
npm run format
# Verificar lint
npm run lint
▶ Exemplo 2: Hooks de Automação de Bob
# Configuração de hooks de Bob
[hooks]
post-task = "bash .codex/hooks/post-task.sh"
# .codex/hooks/post-task.sh
#!/bin/bash
npm test # Executar testes
npm run lint -- --fix # Corrigir lint
npm run format # Formatar
echo "Hook: post-task completed"
4. AGENTS.md Multi-nível
O Codex suporta AGENTS.md em múltiplos níveis, efetivo da raiz aos subdiretórios:
project/
├── AGENTS.md # Regras globais
├── src/
│ ├── AGENTS.md # Regras do diretório src
│ ├── api/
│ │ └── AGENTS.md # Regras do módulo API
│ └── auth/
│ └── AGENTS.md # Regras do módulo Auth
(1) Prioridade
AGENTS.md do subdiretório > AGENTS.md do diretório pai > AGENTS.md da raiz
(2) Uso Prático
<!-- src/api/AGENTS.md -->
# Regras do Módulo API
- Todos os endpoints devem ter documentação Swagger
- Use Pydantic para validação de request/response
- Retorne formato de resposta padrão: { data: ..., error: ... }
5. Prioridade de Regras
AGENTS.md subdiretório > AGENTS.md raiz > Skills > Arquivos de Config > Comportamento padrão
❓ Perguntas Frequentes
P: O AGENTS.md deve estar na raiz do projeto? R: O AGENTS.md da raiz é obrigatório; o AGENTS.md de subdiretórios é opcional. O Codex lê automaticamente todos os arquivos AGENTS.md do diretório de trabalho atual e seus pais.
P: Hooks podem ser pulados? R: Sim. Inicie o Codex com
--no-hookspara pular todos os hooks.
P: O AGENTS.md consome janela de contexto? R: Sim, mas muito pouco. O Codex comprime o conteúdo do AGENTS.md para reduzir o consumo de tokens.
P: E se um script de hook der erro? R: Erros de hook não afetam a tarefa principal do Codex. O Codex registra o erro e continua a execução.
P: Posso definir regras diferentes para diferentes tipos de arquivo? R: Sim. Defina regras por tipo de arquivo ou diretório no AGENTS.md. O Codex corresponde às regras apropriadas com base nos arquivos sendo operados.
📖 Resumo
- AGENTS.md é um arquivo de regras em nível de projeto, o Codex o lê automaticamente
- Tipos de regras: estilo de código, restrições de arquitetura, operações proibidas, requisitos de verificação
- Hooks: pre-task / post-task / pre-commit / on-error
- AGENTS.md multi-nível: subdiretório > pai > raiz
- Prioridade de regras: AGENTS.md > Skills > Config > Padrões
📝 Exercícios
- Básico (⭐): Crie um AGENTS.md para seu projeto, definindo estilo de código e operações proibidas.
- Intermediário (⭐⭐): Configure um hook post-task para testes automáticos e formatação após conclusão da tarefa.
- Avançado (⭐⭐⭐): Desenhe um esquema de AGENTS.md multi-nível — regras globais na raiz + regras específicas de módulo em cada diretório.