# Reglas de AGENTS.md para una aplicación SaaS de Next.js

> Un AGENTS.md listo para usar que mantiene a los agentes de codificación de IA dentro de la pila y las convenciones en un código base SaaS de Next.js.

**Type:** Rule  
**Tools:** Cursor, Claude Code, Codex  
**Stack:** Next.js, TypeScript, Tailwind  
**Updated:** 2026-06-08

---

Coloca esto en la raíz de tu repositorio como `AGENTS.md`. La mayoría de los agentes (Codex, Cursor, Claude Code) lo leen automáticamente y lo tratan como reglas del proyecto.

## AGENTS.md

```md title="AGENTS.md"
# Project Rules

## Stack
- Next.js (App Router) + TypeScript (strict).
- Tailwind CSS v4. No CSS-in-JS.
- PostgreSQL via the existing db client in `src/lib/db.ts`.

## Hard rules
- Never add a dependency without listing it and why first.
- Server Components by default. Only add `"use client"` when you need state,
  effects, or browser APIs — and keep those components small.
- All env vars go through `src/lib/env.ts` (zod-validated). Never read
  `process.env` directly in app code.
- Never put secrets or server-only code in a Client Component.

## Conventions
- Co-locate route code under `app/`. Shared logic lives in `src/lib/`.
- Use the existing UI primitives in `src/components/ui/` before adding new ones.
- Write the diff and wait for approval before editing more than 3 files.

## Definition of done
- `bun run typecheck` and `bun run lint` pass.
- No new `any`. No unused exports.
```

## Por qué estas reglas

- **"Componentes del servidor por defecto"** es la mayor palanca de calidad en proyectos de App Router — consulta el patrón de error relacionado en el código de servidor dentro del cliente.
- **Validación centralizada de env** detiene la clase más común de errores de IA: leer silenciosamente un valor `process.env` indefinido.

## Buen ajuste

- Aplicaciones SaaS de Next.js de tamaño mediano con un conjunto de convenciones establecido.

## No es adecuado

- Prototipos desde cero donde quieres que el agente actúe rápido y sin restricciones.