Instruções personalizadas com AGENTS.md
Dê ao Codex instruções e contexto adicionais para o seu projeto
O Codex lê os ficheiros AGENTS.md antes de realizar qualquer trabalho. Ao combinar orientações globais com substituições específicas do projeto, pode iniciar cada tarefa com expectativas consistentes, independentemente do repositório que abrir.
Como o Codex encontra orientações
O Codex cria uma cadeia de instruções quando é iniciado (uma vez por execução; na TUI, isto significa geralmente uma vez por sessão iniciada). A deteção segue esta ordem de precedência:
- Âmbito global: No diretório base do Codex (a predefinição é
~/.codex, a menos que definaCODEX_HOME), o Codex lêAGENTS.override.md, caso exista. Caso contrário, o Codex lêAGENTS.md. O Codex utiliza apenas o primeiro ficheiro não vazio neste nível. - Âmbito do projeto: A partir da raiz do projeto (normalmente, a raiz do Git), o Codex percorre os diretórios até ao diretório de trabalho atual. Se não conseguir encontrar uma raiz de projeto, verifica apenas o diretório atual. Em cada diretório do caminho, procura
AGENTS.override.md, depoisAGENTS.mde, em seguida, quaisquer nomes alternativos definidos emproject_doc_fallback_filenames. O Codex inclui, no máximo, um ficheiro por diretório. - Ordem de combinação: O Codex concatena os ficheiros a partir da raiz, separando-os com linhas em branco. Os ficheiros mais próximos do diretório atual substituem as orientações anteriores, pois aparecem mais tarde na instrução combinada.
O Codex ignora ficheiros vazios e deixa de adicionar ficheiros quando o tamanho combinado atinge o limite definido por project_doc_max_bytes (32 KiB por predefinição). Para obter detalhes sobre estas opções, consulte Deteção de instruções do projeto. Aumente o limite ou distribua as instruções por diretórios aninhados quando atingir o limite máximo.
Criar orientações globais
Crie predefinições persistentes no diretório base do Codex para que todos os repositórios herdem os seus acordos de trabalho.
Certifique-se de que o diretório existe:
mkdir -p ~/.codexCrie
~/.codex/AGENTS.mdcom preferências reutilizáveis:# ~/.codex/AGENTS.md ## Working agreements - Always run `npm test` after modifying JavaScript files. - Prefer `pnpm` when installing dependencies. - Ask for confirmation before adding new production dependencies.Execute o Codex em qualquer local para confirmar que o ficheiro é carregado:
codex --ask-for-approval never "Summarize the current instructions."Resultado esperado: o Codex cita os itens de
~/.codex/AGENTS.mdantes de propor trabalho.
Utilize ~/.codex/AGENTS.override.md quando precisar de uma substituição global temporária sem eliminar o ficheiro base. Remova a substituição para repor as orientações partilhadas.
Organizar instruções do projeto em camadas
Os ficheiros ao nível do repositório mantêm o Codex informado sobre as normas do projeto, continuando a herdar as predefinições globais.
Na raiz do repositório, adicione um
AGENTS.mdque abranja a configuração básica:# AGENTS.md ## Repository expectations - Run `npm run lint` before opening a pull request. - Document public utilities in `docs/` when you change behavior.Adicione substituições em diretórios aninhados quando equipas específicas precisarem de regras diferentes. Por exemplo, dentro de
services/payments/, crieAGENTS.override.md:# services/payments/AGENTS.override.md ## Payments service rules - Use `make test-payments` instead of `npm test`. - Never rotate API keys without notifying the security channel.Inicie o Codex a partir do diretório de pagamentos:
codex --cd services/payments --ask-for-approval never "List the instruction sources you loaded."Resultado esperado: o Codex apresenta primeiro o ficheiro global, depois o
AGENTS.mdda raiz do repositório e, por último, a substituição de pagamentos.
O Codex deixa de procurar quando chega ao diretório atual, por isso coloque as substituições tão perto quanto possível do trabalho especializado.
Este é um exemplo de repositório depois de adicionar um ficheiro global e uma substituição específica para pagamentos:
<FileTree class="mt-4" tree={[ { name: "AGENTS.md", comment: "Expectativas do repositório", highlight: true, }, { name: "services/", open: true, children: [ { name: "payments/", open: true, children: [ { name: "AGENTS.md", comment: "Ignorado porque existe uma substituição", }, { name: "AGENTS.override.md", comment: "Regras do serviço de pagamentos", highlight: true, }, { name: "README.md" }, ], }, { name: "search/", children: [{ name: "AGENTS.md" }, { name: "…", placeholder: true }], }, ], }, ]} />
Adicionar regras de revisão de código
Para a revisão de código do Codex no GitHub,
adicione uma secção ## Code Review Rules ao AGENTS.md mais próximo do código ao qual
as regras se aplicam. Coloque as verificações de todo o repositório na raiz e as verificações
específicas de cada serviço num ficheiro aninhado.
## Code Review Rules
### Experiment cohorts
- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
Safe path: build cohorts from assignment or exposure; report conversion as an outcome.Mantenha as regras concisas, explique o comportamento a assinalar e qualquer procedimento seguro ou exceção, e reserve as verificações de formatação e lint para a CI. Consulte Personalizar o que o Codex revê para obter orientações sobre a configuração e a redação de regras.
Personalizar nomes de ficheiros alternativos
Se o seu repositório já utilizar um nome de ficheiro diferente (por exemplo, TEAM_GUIDE.md), adicione-o à lista de nomes alternativos para que o Codex o trate como um ficheiro de instruções.
Edite a configuração do Codex:
# ~/.codex/config.toml project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"] project_doc_max_bytes = 65536Reinicie o Codex ou execute um novo comando para carregar a configuração atualizada.
Agora, o Codex verifica cada diretório por esta ordem: AGENTS.override.md, AGENTS.md, TEAM_GUIDE.md, .agents.md. Os nomes de ficheiros que não constem desta lista são ignorados durante a deteção de instruções. O limite de bytes superior permite combinar mais orientações antes de ocorrer o truncamento.
Com a lista de nomes alternativos definida, o Codex trata os ficheiros alternativos como instruções:
<FileTree class="mt-4" tree={[ { name: "TEAM_GUIDE.md", comment: "Detetado através da lista de nomes alternativos", highlight: true, }, { name: ".agents.md", comment: "Ficheiro alternativo na raiz", }, { name: "support/", open: true, children: [ { name: "AGENTS.override.md", comment: "Substitui as orientações alternativas", highlight: true, }, { name: "playbooks/", children: [{ name: "…", placeholder: true }], }, ], }, ]} />
Defina a variável de ambiente CODEX_HOME quando pretender utilizar um perfil diferente, como um utilizador de automatização específico do projeto:
CODEX_HOME=$(pwd)/.codex codex exec "List active instruction sources"Resultado esperado: a saída apresenta ficheiros relativos ao diretório .codex personalizado.
Verificar a configuração
- Execute
codex --ask-for-approval never "Summarize the current instructions."a partir da raiz de um repositório. O Codex deverá reproduzir as orientações dos ficheiros globais e do projeto pela ordem de precedência. - Utilize
codex --cd subdir --ask-for-approval never "Show which instruction files are active."para confirmar que as substituições aninhadas substituem regras mais abrangentes. - Para auditar os ficheiros de instruções carregados pelo Codex, ative um registo da TUI em texto simples com
codex -c log_dir=./.codex-loge consulte./.codex-log/codex-tui.log, ou inspecione o ficheirosession-*.jsonlmais recente, caso tenha ativado o registo de sessões. - Se as instruções parecerem desatualizadas, reinicie o Codex no diretório de destino. O Codex recria a cadeia de instruções em cada execução (e no início de cada sessão da TUI), pelo que não existe nenhuma cache para limpar manualmente.
Resolver problemas de deteção
- Nada é carregado: Confirme que se encontra no repositório pretendido e que
codex statusapresenta a raiz esperada da área de trabalho. Certifique-se de que os ficheiros de instruções têm conteúdo; o Codex ignora ficheiros vazios. - São apresentadas orientações incorretas: Procure um
AGENTS.override.mdnum nível superior da árvore de diretórios ou no diretório base do Codex. Mude o nome ou remova a substituição para voltar ao ficheiro normal. - O Codex ignora nomes alternativos: Confirme que incluiu os nomes em
project_doc_fallback_filenamessem erros ortográficos e, em seguida, reinicie o Codex para que a configuração atualizada entre em vigor. - As instruções são truncadas: Aumente
project_doc_max_bytesou distribua ficheiros grandes por diretórios aninhados para manter intactas as orientações essenciais. - Confusão de perfis: Execute
echo $CODEX_HOMEantes de iniciar o Codex. Um valor diferente do predefinido direciona o Codex para um diretório base diferente daquele que editou.
Próximos passos
- Visite o site oficial de AGENTS.md para obter mais informações.
- Consulte Criar instruções para o Codex para conhecer padrões de conversação que funcionam bem com orientações persistentes.