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


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

MARKDOWN
# 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

MARKDOWN
# 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

TOML
# .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

BASH
# .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

TOML
# 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:

TEXT 📖 Somente leitura
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

TEXT 📖 Somente leitura
AGENTS.md do subdiretório > AGENTS.md do diretório pai > AGENTS.md da raiz

(2) Uso Prático

MARKDOWN
<!-- 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

TEXT 📖 Somente leitura
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-hooks para 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


📝 Exercícios

  1. Básico (⭐): Crie um AGENTS.md para seu projeto, definindo estilo de código e operações proibidas.
  2. Intermediário (⭐⭐): Configure um hook post-task para testes automáticos e formatação após conclusão da tarefa.
  3. 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.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%