For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/web/agents.md (or send Accept: text/markdown).
Construye con un agente de código
Encarga tareas a un agente de código: los archivos que lee, la biblioteca de prompts lista para pegar, la configuración desatendida y la revisión que te mantiene en control.
Guía paso a paso para principiantes
Requisitos previos: lee las dos guías para principiantes de abajo, termina la configuración local de Web y abre este repositorio en su raíz en tu editor. Un agente de código es una herramienta de IA — Cursor, Claude Code, Devin o un asistente similar — que lee tu proyecto, edita archivos y ejecuta comandos. Todo lo de esta página sirve para la herramienta que uses.
Términos rápidos: un prompt es el texto de instrucciones que pegas en el agente. Un diff es la lista de cambios de archivos que propone. La raíz del repositorio es la carpeta superior que contiene package.json — el agente siempre debe empezar ahí.
1. Abre la carpeta prompts/ en la raíz del repositorio y copia el prompt más cercano a tu tarea. new-landing-page.md es un buen primer intento.
2. Pégalo en tu agente y rellena los <placeholders>: la ruta que quieres, qué debe hacer la página o pantalla, quién puede usarla y cómo se ve el éxito. Después añade una línea: «Lee llms.txt, luego AGENTS.md, luego .ai/PROJECT_CONTEXT.md antes de tocar código».
3. Deja que el agente liste los archivos que cambiará y las comprobaciones que ejecutará antes de editar. Cuando termine, revisa el diff — estás aprobando cambios reales en tu producto.
4. Publicar, desplegar y las llamadas a proveedores de pago nunca forman parte de un prompt de tarea. Manténlos como pasos separados que apruebas explícitamente.
Los archivos que lee tu agente
El repositorio incluye un pequeño conjunto de archivos escritos para agentes, no solo para personas. Nunca pegas este contexto a mano — apunta al agente a llms.txt y él lee el resto por sí solo.
El orden de lectura importa: llms.txt es el mapa, AGENTS.md fija los límites y .ai/PROJECT_CONTEXT.md guarda lo que aprendieron las sesiones anteriores. Un agente que se salta los límites produce código que no puedes lanzar.
| Archivo | Qué le da al agente |
|---|---|
| `llms.txt` | El mapa de entrada del repositorio — cada documento que vale la pena leer más los protocolos de seguridad, en orden de lectura |
| `AGENTS.md` | Los límites innegociables: solo trabajo local hasta que apruebes más, ámbito por workspaceId, secretos solo en el servidor |
| `.ai/PROJECT_CONTEXT.md` | Memoria entre sesiones — qué cambió recientemente y por qué; se lee antes de modificar código |
| documentos espejo `.ai/` | Una nota `.ai/<ruta>.md` junto a los archivos importantes, que registra decisiones por archivo e hilos abiertos |
| `docs/agent-setup.md` | El manual desatendido — fases de instalación, migración y despliegue con un punto de verificación después de cada una |
| `prompts/` | Prompts de tareas listos para pegar para los trabajos que los propietarios más piden |
| `docs/agent-security.md` | La checklist de aceptación — comprobaciones de autenticación, espacio de trabajo y RLS, registros redactados, evidencia de despliegue |
| `.env.example` | El inventario completo del entorno — el agente nunca inventa un nombre de variable ausente de este archivo |
La biblioteca de prompts
prompts/README.md es el índice. Cada archivo es un brief completo: pégalo, rellena los <placeholders> y las reglas del kit — tokens de diseño en lugar de colores fijos, bloques del kit en lugar de patrones inventados — viajan con él.
Para la ruta de cero a en ejecución, pega prompts/agent-setup.md en su lugar — dirige la configuración desatendida descrita a continuación.
agent-setup.md— pone el kit en marcha y lo despliega con un agentepick-a-style.md— aplica un estilo de diseño a todo el productonew-landing-page.md— genera una página de marketing a partir de bloques del kitnew-app-screen.md— añade una pantalla dentro del shell de la app del espacio de trabajorestyle-product.md— reaplica el tema de una página existente con tokens del kitui-audit.md— ejecuta la auditoría visual y de accesibilidad sobre una ruta
Dejar que el agente instale y despliegue
El kit puede configurarse en gran parte por sí mismo. Pegar prompts/agent-setup.md hace que el agente ejecute docs/agent-setup.md — el manual incluido — fase por fase: comprobaciones previas, archivos de entorno, instalación, arranque de la base de datos, migraciones, arranque de la app y, opcionalmente, un despliegue en VPS. Después de cada fase ejecuta el punto de verificación de esa fase e informa de la salida real, no de una afirmación.
Dos helpers lo mantienen seguro. scripts/setup-env.mjs genera los archivos de entorno desde .env.example: solo crea archivos que falten, solo genera secretos que falten o sean marcadores, y su modo --check valida sin escribir. docker-compose.dev.yml es un entorno de desarrollo totalmente en contenedores — Postgres más un contenedor de desarrollo con Node 22 — así que el agente no necesita Node.js instalado en tu computadora.
Qué repositorio recibiste importa aquí. El repositorio web y el monorepo All Platforms incluyen el manual, los archivos compose, scripts/setup-env.mjs y prompts/. Los repositorios independientes de Mobile y Desktop incluyen un llms.txt acotado, AGENTS.md, los documentos espejo .ai/ y documentación seleccionada como docs/agent-security.md — pero no el manual de configuración ni los archivos compose, porque el backend con el que hablan esas apps vive en el repositorio web.
Cómo recuerda el agente entre sesiones
Los agentes no tienen memoria entre sesiones — la carpeta .ai/ es la memoria. .ai/PROJECT_CONTEXT.md registra qué cambió recientemente y por qué. Junto a él, un documento espejo como .ai/apps/web/src/reports.md explica las decisiones detrás de apps/web/src/reports.ts que el código por sí solo no muestra.
El contrato es simple: lee el espejo de un archivo antes de editarlo y actualiza el espejo cuando el cambio aterrice. Las entradas de «Open Threads» registran trabajo sin terminar para que la próxima sesión retome en lugar de empezar de cero. Un espejo desactualizado es peor que ninguno — cuando revises el diff del agente, comprueba que los espejos de los archivos cambiados se movieron con él.
La propia superficie para agentes de la app en ejecución
Tu producto desplegado también responde a agentes — estos endpoints existen en la app en ejecución, no solo en el repositorio.
GET /llms.txt— la app sirve su propio índice de llmstxt.org: las guías, las páginas públicas y los endpoints públicos, con URLs absolutas.POST /api/mcp— un endpoint MCP sin estado que expone las herramientas de la app. Acepta claves de APIsk_solo como bearer tokens — las sesiones de cookie del navegador nunca aplican. Crea las claves en Settings → Developers.GET /api/v1/openapi— la especificación OpenAPI de la API REST pública, para generadores de clientes y herramientas de agentes.GET /api/health— la sonda de vida y dependencias que llaman los balanceadores de carga y las comprobaciones de uptime; informa de los tipos de configuración de proveedores, nunca de secretos./status— una página legible que informa de la salud de cada subsistema.
Revisa el trabajo del agente con honestidad
Una tarea terminada es evidencia, no un resumen. Antes de quedarte con el trabajo del agente, compruébalo como docs/agent-security.md comprueba un despliegue:
Cuando algo está mal, devuelve el diff — el agente corrige su propio trabajo más rápido cuando nombras la comprobación que falla. Para cualquier cosa que nunca debió intentar solo, dilo explícitamente una vez; el límite se mantiene el resto de la sesión.
- Ejecutó las pruebas que afirma — pide el comando y su salida, no una conclusión.
- Los secretos quedaron solo en el servidor — nada nuevo lleva el prefijo
NEXT_PUBLIC_oEXPO_PUBLIC_, y ninguna clave se imprimió en un informe o commit. - Cada lectura y escritura de datos de usuarios quedó acotada por
workspaceId— ninguna consulta confía en un id enviado por el navegador. - El espejo
.ai/de cada archivo cambiado se movió junto con el código. - Publicar, desplegar y las llamadas a proveedores de pago siguieron siendo pasos separados que aprobaste — el agente nunca fusionó, empujó ni desplegó por su cuenta.
- Si un paso falló dos veces, se detuvo e informó del comando fallido en lugar de improvisar para rodearlo.