Codex · Instrucciones persistentes

AGENTS.md: cómo dar instrucciones permanentes a Codex

Aprende qué es AGENTS.md, cómo lo encuentra Codex y cómo utilizarlo correctamente para definir convenciones de código, arquitectura, comandos de test, reglas de seguridad, instrucciones por carpeta, monorepos, revisiones de código y workflows específicos para WordPress, PHP, JavaScript y otros proyectos.

Global Proyecto Overrides Monorepos
Respuesta rápida

¿Qué es AGENTS.md?

AGENTS.md es un archivo de instrucciones persistentes que Codex lee antes de empezar a trabajar en un proyecto. Sirve para enseñarle cómo está organizado el repositorio, qué convenciones debe respetar, cómo ejecutar tests y builds, qué archivos no debe modificar y qué reglas específicas se aplican a determinadas carpetas. Puedes tener instrucciones globales, reglas en la raíz del repositorio y archivos adicionales en subdirectorios.

Casos de uso

Qué debería contener AGENTS.md

ARCH

Arquitectura

Explica dónde vive cada parte importante del proyecto.

CODE

Convenciones

Naming, patrones, compatibilidad y estilo.

TEST

Verificación

Tests, lint, build y typecheck.

SEC

Seguridad

Reglas que deben respetarse en cada cambio.

GIT

Git

Reglas para commits, PR y alcance de cambios.

DIR

Reglas por carpeta

Instrucciones distintas para backend, frontend o servicios.

Publicidad
Jerarquía

Codex combina instrucciones desde lo general hacia lo específico

01 · GLOBAL

~/.codex/

Tus preferencias personales para todos los proyectos.

02 · ROOT

Repositorio

Reglas generales del proyecto y del equipo.

03 · NESTED

Subcarpetas

Reglas específicas de cada área.

04 · OVERRIDE

Más específico gana

Las instrucciones profundas prevalecen ante conflictos.

Publicidad
Concepto

Por qué AGENTS.md mejora el trabajo con Codex

Sin instrucciones persistentes, el agente puede tener que descubrir las mismas convenciones en cada nueva sesión.

Sin AGENTS.md

Repetición

Cada chat debe inferir cómo funciona el proyecto.

  • más exploración
  • más prompts
  • más contexto
  • más errores repetidos
Con AGENTS.md

Contexto persistente

Cada tarea comienza con las reglas esenciales.

  • convenciones conocidas
  • tests claros
  • arquitectura documentada
  • menos correcciones repetidas
Nivel global

AGENTS.md global para tus preferencias personales

Por defecto, Codex utiliza:

~/.codex/AGENTS.md

Este archivo es apropiado para preferencias que quieres aplicar en prácticamente cualquier proyecto.

# Global Codex instructions

- Explica brevemente los cambios al terminar.
- No hagas commits salvo que lo solicite.
- Prioriza soluciones simples.
- Evita modificar archivos no relacionados.
- Ejecuta las verificaciones disponibles antes de finalizar.
- Reporta limitaciones o tests que no pudiste ejecutar.
No pongas reglas específicas de un proyecto aquí.

Las instrucciones globales deberían representar principalmente cómo prefieres trabajar con Codex como desarrollador.

Override global

AGENTS.override.md tiene prioridad sobre AGENTS.md

~/.codex/

├── AGENTS.md
└── AGENTS.override.md
Prioridad

Si existe un AGENTS.override.md global no vacío, Codex utiliza ese archivo antes que el AGENTS.md global.

Proyecto

Coloca AGENTS.md en la raíz del repositorio

mi-proyecto/
├── AGENTS.md
├── src/
├── tests/
├── package.json
└── .git/

Ese archivo debería contener solamente las reglas aplicables a todo el repositorio.

Versionarlo en Git suele ser una buena idea.

De esta forma, todos los desarrolladores y agentes pueden utilizar las mismas instrucciones del proyecto.

Plantilla base

Ejemplo de AGENTS.md para un proyecto real

# AGENTS.md

## Project overview

This repository contains
a web application with:

- PHP backend
- MySQL database
- JavaScript frontend


## Repository structure

- `src/` application code
- `public/` public entry points
- `tests/` automated tests
- `docs/` technical documentation


## Development rules

- Keep changes focused on the requested task.
- Reuse existing patterns before creating new abstractions.
- Do not add dependencies unless clearly necessary.
- Preserve public APIs unless the task requires a breaking change.


## PHP

- Maintain PHP 8.2+ compatibility.
- Use PDO for database access.
- Use prepared statements for SQL.
- Validate external input.
- Escape output where appropriate.


## JavaScript

- Follow existing project conventions.
- Avoid global variables.
- Do not add a framework for isolated UI changes.


## Verification

Before finishing:

1. run PHP syntax checks
2. run automated tests
3. run lint if configured
4. review `git diff`
5. report any checks that could not be executed


## Git

- Do not create commits unless explicitly requested.
- Do not modify unrelated files.
- Never include secrets in commits.
Publicidad
Discovery

Cómo encuentra Codex los archivos AGENTS.md

1

Busca instrucciones globales

Dentro de CODEX_HOME, normalmente ~/.codex.

2

Encuentra la raíz del proyecto

Normalmente mediante la raíz Git.

3

Recorre hacia el directorio actual

Comprueba cada nivel de la ruta.

4

Combina instrucciones

Desde las más generales hasta las más específicas.

Límite de búsqueda

Codex no continúa buscando por encima de la raíz del proyecto

~/development/
├── AGENTS.md
│
└── mi-proyecto/
    ├── .git/
    ├── AGENTS.md
    └── src/
El AGENTS.md situado en ~/development no sustituye al archivo global.

Si mi-proyecto es la raíz Git, la búsqueda específica del repositorio comienza allí. Para reglas personales globales, utiliza ~/.codex/AGENTS.md.

Subdirectorios

Usa archivos anidados para reglas específicas

repo/
├── AGENTS.md
│
├── backend/
│   ├── AGENTS.md
│   └── src/
│
└── frontend/
    ├── AGENTS.md
    └── src/

Root AGENTS.md

Reglas comunes a backend y frontend.

Nested AGENTS.md

Reglas exclusivas del área correspondiente.

Ejemplo

Backend y frontend con instrucciones diferentes

Raíz

# AGENTS.md

- Keep public APIs backward compatible.
- Do not commit generated files.
- Run the relevant test suite before finishing.

Backend

# backend/AGENTS.md

- Use prepared SQL statements.
- Run `composer test`.
- Run `vendor/bin/phpstan analyse`.
- Preserve PHP 8.2 compatibility.

Frontend

# frontend/AGENTS.md

- Use existing UI components.
- Run `npm test`.
- Run `npm run lint`.
- Run `npm run build`.
- Preserve responsive behavior.
Override

Cuándo usar AGENTS.override.md

Sustitución local

Dentro de un mismo nivel de directorio, AGENTS.override.md tiene prioridad sobre AGENTS.md.

repo/
├── AGENTS.md
│
└── services/
    └── payments/
        ├── AGENTS.md
        ├── AGENTS.override.md
        └── src/
En payments se utilizará primero el override de ese nivel.

Esto resulta útil cuando un servicio necesita reglas diferentes a las convenciones estándar del repositorio.

Ejemplo sensible

Reglas especiales para un servicio de pagos

# services/payments/AGENTS.override.md

## Payments rules

- Run `make test-payments`.
- Never log card data.
- Never expose payment credentials.
- Preserve idempotency behavior.
- Treat database migrations as high-risk.
- Do not rotate credentials automatically.
- Add regression tests for payment failures.
Prioridad

Qué instrucciones ganan cuando existen conflictos

Nivel Ejemplo Prioridad
Global ~/.codex/AGENTS.md Base
Raíz proyecto /repo/AGENTS.md Mayor
Subdirectorio /repo/backend/AGENTS.md Más específica
Override AGENTS.override.md Preferido en ese nivel
Prompt actual Instrucción directa del usuario Puede prevalecer sobre AGENTS.md
Importante

AGENTS.md no convierte una regla en una barrera técnica

Es una capa de instrucciones para el agente.

Si una regla necesita enforcement real, complétala con herramientas como linters, tests, hooks, typecheck, políticas CI, permisos o sandbox.

AGENTS.md

Orientación

“No uses consultas SQL sin preparar”.

Enforcement

Herramienta

Static analysis, tests o CI que detecten el incumplimiento.

Monorepos

AGENTS.md funciona especialmente bien en repositorios grandes

monorepo/
├── AGENTS.md
│
├── apps/
│   ├── web/
│   │   ├── AGENTS.md
│   │   └── src/
│   │
│   └── admin/
│       ├── AGENTS.md
│       └── src/
│
├── services/
│   ├── api/
│   │   ├── AGENTS.md
│   │   └── src/
│   │
│   └── billing/
│       ├── AGENTS.override.md
│       └── src/
│
└── packages/
    └── ui/
        ├── AGENTS.md
        └── src/
No copies todas las reglas en cada archivo.

Coloca las reglas comunes en la raíz y añade solamente las diferencias en niveles más específicos.

Publicidad
WordPress

AGENTS.md para proyectos WordPress

# AGENTS.md

## WordPress project

This is a WordPress project.

Custom development lives in:

- `wp-content/plugins/`
- `wp-content/themes/`
- `wp-content/mu-plugins/`


## Important restrictions

- Never modify WordPress core.
- Do not edit files inside `vendor/`.
- Do not modify `wp-config.php` unless explicitly requested.
- Do not modify uploaded media.
- Never expose credentials or salts.


## WordPress conventions

- Prefer WordPress APIs over custom replacements.
- Sanitize and validate input.
- Escape output.
- Use nonces for state-changing requests.
- Check capabilities for privileged operations.
- Use `$wpdb->prepare()` for dynamic SQL.
- Prefix global functions and hooks.
- Preserve backward compatibility where possible.


## Verification

Before finishing:

- run `php -l` on modified PHP files
- run PHPCS if configured
- run PHPUnit if configured
- review AJAX and REST permissions
- review database queries
- review `git diff`
Ideal para plugins propios.

Puedes colocar otro AGENTS.md directamente dentro del plugin cuando tenga arquitectura o reglas específicas.

Plugin WordPress

Reglas específicas para un plugin

# wp-content/plugins/mi-plugin/AGENTS.md

## Plugin architecture

- `mi-plugin.php` is the bootstrap file.
- `includes/` contains PHP classes.
- `assets/js/` contains JavaScript.
- `assets/css/` contains styles.
- `templates/` contains frontend templates.


## AJAX

For every authenticated AJAX handler:

- verify nonce
- verify capabilities when required
- sanitize request data
- return `wp_send_json_success()` or `wp_send_json_error()`


## Database

Custom tables use the prefix:

`{$wpdb->prefix}mi_plugin_`

All dynamic SQL must use `$wpdb->prepare()`.


## WooCommerce

- Prefer official WooCommerce hooks.
- Do not modify WooCommerce core files.
- Avoid template overrides unless a hook cannot solve the requirement.


## Tests

Run:

`php -l`
`vendor/bin/phpcs`
`vendor/bin/phpunit`

when available.
PHP

Plantilla AGENTS.md para proyectos PHP

# AGENTS.md

## PHP

- Support PHP 8.2+.
- Use strict typing where the project already does.
- Follow the project's namespace structure.
- Use existing dependency injection patterns.
- Avoid static state unless already established.


## Database

- Use PDO.
- Use prepared statements.
- Wrap related writes in transactions.
- Do not perform destructive migrations automatically.


## Security

- Validate external input.
- Escape output where appropriate.
- Never expose credentials.
- Do not weaken authentication checks.


## Tests

Run:

composer test
vendor/bin/phpstan analyse
vendor/bin/phpcs
JavaScript

Plantilla para proyectos JavaScript o TypeScript

# AGENTS.md

## JavaScript / TypeScript

- Follow the existing TypeScript configuration.
- Do not introduce `any` unless justified.
- Reuse existing utilities and components.
- Preserve public interfaces.
- Avoid adding dependencies for trivial utilities.


## Frontend

- Preserve accessibility.
- Preserve responsive behavior.
- Reuse design-system components.
- Do not introduce inline styles unless the project already uses them.


## Verification

Run:

npm test
npm run lint
npm run typecheck
npm run build
Tests

Indica exactamente cómo verificar el proyecto

Mejor instrucción

En lugar de escribir solamente “ejecuta tests”, entrega los comandos concretos que funcionan en el repositorio.

## Verification

For PHP changes:

php -l path/to/file.php
vendor/bin/phpunit


For frontend changes:

npm test
npm run lint
npm run build


For full verification:

composer test
npm test
npm run build
Code Review

AGENTS.md también puede definir qué debe revisar Codex

## Code Review Rules

Flag:

- correctness bugs
- security vulnerabilities
- data-loss risks
- backwards-incompatible changes
- race conditions
- missing authorization checks
- missing regression tests for fixed bugs

Do not report:

- formatting handled by automated tools
- subjective naming preferences
- style comments without behavioral impact
Las reglas deberían centrarse en señales accionables.

Formato, lint y comprobaciones puramente mecánicas suelen funcionar mejor como herramientas automatizadas que como instrucciones largas para el modelo.

Longitud

Mantén AGENTS.md breve y relevante

Evita

Manual completo

Miles de líneas de documentación genérica.

Mejor

Reglas accionables

Solamente lo necesario para trabajar correctamente.

Comandos reales.

Restricciones importantes.

Arquitectura difícil de inferir.

Errores que se repiten.

×

Documentación que Codex puede descubrir fácilmente.

×

Consejos genéricos de programación.

Tamaño

Codex limita cuánto contenido de instrucciones incorpora

32 KiB

La configuración predeterminada limita el conjunto de instrucciones del proyecto mediante project_doc_max_bytes, cuyo valor predeterminado es 32 KiB.

No uses aumentar el límite como primera solución.

Normalmente es mejor eliminar ruido y distribuir instrucciones en archivos más específicos por directorio.

Configuración avanzada

Aumentar el límite de instrucciones

En:

~/.codex/config.toml

puedes establecer:

project_doc_max_bytes = 65536
Nombres alternativos

Codex puede reconocer otros archivos de instrucciones

Si tu equipo ya utiliza otro nombre, puedes configurarlo como fallback.

project_doc_fallback_filenames = [
  "TEAM_GUIDE.md",
  ".agents.md"
]
Orden de búsqueda por directorio

Codex intenta primero AGENTS.override.md, después AGENTS.md y finalmente los nombres alternativos configurados.

Ejemplo fallback

Repositorio que ya utiliza TEAM_GUIDE.md

repo/
├── TEAM_GUIDE.md
│
└── support/
    ├── AGENTS.override.md
    └── src/

Con el fallback configurado, Codex puede combinar las reglas de TEAM_GUIDE.md con el override específico de support/.

Publicidad
No confundas conceptos

AGENTS.md vs Skills

AGENTS.md Codex Skills
Reglas persistentes Workflow reutilizable
Se carga al iniciar Se carga cuando se necesita
Debe ser breve Puede contener instrucciones más extensas
Convenciones del proyecto Procedimientos especializados
Ej.: “usa PHPUnit” Ej.: “ejecuta auditoría de seguridad completa”
AGENTS.md vs MCP

Instrucciones y herramientas cumplen funciones distintas

AGENTS.md

Cómo trabajar

Convenciones, restricciones y expectativas.

MCP

Con qué trabajar

Datos, servicios y herramientas externas.

Mejora continua

Actualiza AGENTS.md cuando Codex repita el mismo error

1

Codex comete un error

Corriges el comportamiento.

2

El error vuelve a aparecer

Ya existe un patrón.

3

Formaliza la regla

Añádela al AGENTS.md más cercano.

4

Automatiza si es posible

Añade lint, test o hook.

Calidad

Reglas débiles vs reglas útiles

Débil Mejor
Escribe buen código Usa los patrones existentes antes de crear nuevas abstracciones
Haz tests Ejecuta vendor/bin/phpunit después de cambios PHP
Hazlo seguro Valida input, verifica autorización y usa consultas preparadas
No rompas nada Preserva las APIs públicas salvo autorización explícita
Revisa el proyecto Consulta primero src/Auth/ para cambios de autenticación
Seguridad

No pongas secretos dentro de AGENTS.md

AGENTS.md debería poder versionarse sin exponer información sensible.

Evita incluir contraseñas, tokens, API keys, claves privadas, credenciales de bases de datos o secretos de producción.

# Correcto

- Database credentials are stored in environment variables.
- Never print secrets.
- Do not commit `.env` files.


# Incorrecto

DB_PASSWORD=my-real-password
OPENAI_API_KEY=sk-...
Recarga

Reinicia la sesión después de cambiar instrucciones importantes

Nueva sesión

Codex construye la cadena de instrucciones al iniciar una ejecución o sesión. Si acabas de modificar AGENTS.md y quieres asegurarte de que las nuevas reglas se apliquen, inicia una nueva sesión.

Diagnóstico

Pregunta a Codex qué instrucciones cargó

Lista las fuentes
de instrucciones
AGENTS.md
que cargaste
para esta sesión.

Indica:

- ruta
- ámbito
- prioridad
- reglas principales.
Útil para monorepos.

Si una regla parece no aplicarse, primero confirma qué archivo está realmente dentro del ámbito del directorio donde trabaja Codex.

CODEX_HOME

Cambiar el directorio global de Codex

Para workflows avanzados puedes establecer otro directorio como CODEX_HOME.

CODEX_HOME=$(pwd)/.codex codex
Uso avanzado.

Puede resultar útil para perfiles aislados, automatizaciones o entornos con configuración específica.

Caso real

El propio repositorio de Codex utiliza AGENTS.md

El repositorio oficial de OpenAI Codex utiliza un archivo AGENTS.md con reglas concretas sobre:

RS

Convenciones Rust.

TEST

Cómo escribir y ejecutar tests.

SIZE

Orientación sobre tamaño de cambios.

API

Revisión de breaking changes.

SEC

Restricciones de sandbox.

TOOL

Herramientas requeridas.

Eso resume bien el propósito de AGENTS.md.

No explicar todo el código, sino documentar aquello que un agente necesita conocer antes de modificarlo.

Publicidad
Plantilla completa

AGENTS.md listo para adaptar a tu proyecto

# AGENTS.md

## Project overview

Briefly explain what this project does.


## Architecture

Important directories:

- `src/`
- `tests/`
- `docs/`


## Development principles

- Keep changes focused.
- Prefer existing patterns.
- Avoid unnecessary abstractions.
- Do not fix unrelated issues.
- Do not add dependencies without a clear reason.


## Compatibility

- Runtime:
- Database:
- Browser support:
- API compatibility:


## Security

- Validate external input.
- Escape output where required.
- Never expose credentials.
- Preserve authentication and authorization checks.
- Use prepared database queries.


## Database

- Document the database layer.
- Use transactions for related writes.
- Do not run destructive migrations automatically.


## Testing

Before finishing:

1. run targeted tests
2. run lint
3. run typecheck if applicable
4. run build if applicable
5. review `git diff`


## Code review

Prioritize:

- correctness
- regressions
- security
- data loss
- race conditions
- backwards compatibility
- missing tests


## Git

- Do not commit unless requested.
- Do not modify unrelated files.
- Never commit secrets.
- Keep changes reviewable.


## Documentation

Update documentation when
public behavior changes.


## Final response

Summarize:

- what changed
- files modified
- tests executed
- unresolved risks
Checklist

Qué revisar antes de dar por terminado tu AGENTS.md

Explica la estructura difícil de inferir.

Incluye comandos reales de verificación.

Define restricciones importantes.

Tiene instrucciones por directorio cuando corresponde.

No contiene secretos.

No duplica documentación innecesariamente.

Las reglas son accionables.

Los checks deterministas están automatizados cuando es posible.

Fuentes oficiales

Documentación de AGENTS.md

Publicidad
Publicidad
Preguntas frecuentes

FAQ sobre AGENTS.md y Codex

AGENTS.md es un archivo de instrucciones persistentes que Codex puede leer antes de comenzar una tarea. Permite definir convenciones, arquitectura, comandos, tests y reglas específicas de un repositorio.

Puedes tener un AGENTS.md global dentro de ~/.codex y otro en la raíz del repositorio. También puedes añadir archivos en subdirectorios para reglas más específicas.

Cuando ambos existen en el mismo nivel, Codex prioriza AGENTS.override.md. Esto permite sustituir las instrucciones normales de ese directorio por reglas especiales.

Sí. Codex combina las instrucciones globales y los archivos aplicables desde la raíz del proyecto hasta el directorio de trabajo actual. Las instrucciones más específicas tienen prioridad ante conflictos.

Sí. Puedes mantener reglas generales en la raíz del monorepo y añadir AGENTS.md o AGENTS.override.md dentro de aplicaciones, paquetes o servicios que necesiten instrucciones diferentes.

Codex limita la cantidad de instrucciones del proyecto que incorpora. El valor predeterminado de project_doc_max_bytes es 32 KiB. Puede modificarse mediante config.toml, aunque normalmente conviene mantener las instrucciones breves.

Sí. Puedes configurar nombres alternativos mediante project_doc_fallback_filenames en config.toml. Codex seguirá priorizando AGENTS.override.md y AGENTS.md antes de consultar esos nombres adicionales.

No. AGENTS.md define reglas persistentes que acompañan al proyecto. Las Skills encapsulan workflows o conocimientos especializados que Codex carga cuando son necesarios.

Sí. Es especialmente útil para indicar que Codex no debe modificar WordPress core, que debe utilizar nonces, capabilities, sanitización, escaping, APIs oficiales y consultas preparadas, además de definir comandos de PHPCS, PHPUnit o WP-CLI.

No. AGENTS.md debería contener instrucciones, no secretos. Utiliza variables de entorno, gestores de secretos u otros mecanismos apropiados para credenciales.

Codex construye la cadena de instrucciones cuando comienza una ejecución o sesión. Después de realizar cambios importantes en AGENTS.md, iniciar una nueva sesión garantiza que las instrucciones actualizadas se carguen desde el comienzo.

No. AGENTS.md es una capa de instrucciones para el agente, no un mecanismo técnico de enforcement. Las reglas críticas deberían complementarse con tests, linters, hooks, permisos, sandbox y CI.

Publicidad
Siguiente guía

Codex Worktrees: ejecuta agentes en paralelo sin mezclar cambios

Ya sabes cómo enseñar a Codex las reglas de tu proyecto. Ahora veremos cómo utilizar Git worktrees para ejecutar varias tareas simultáneamente, aislar cambios, transferir trabajo entre Worktree y Local y administrar agentes paralelos de forma segura.

Aprender Codex Worktrees →
Carrito de compra
Scroll al inicio