# Règles AGENTS.md pour une application SaaS Next.js

> Un fichier AGENTS.md prêt à l'emploi qui maintient les agents de codage IA dans la pile et les conventions d'une base de code SaaS Next.js.

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

---

Placez ce fichier à la racine de votre dépôt sous le nom `AGENTS.md`. La plupart des agents (Codex, Cursor, Claude
Code) le lisent automatiquement et le traitent comme des règles de projet.

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

## Pourquoi ces règles

- **"Server Components par défaut"** est le levier de qualité le plus important dans les projets App Router — voir le motif d'échec associé sur le code serveur-dans-client.
- **Validation centralisée des env** arrête la classe d'erreurs IA la plus courante : lire silencieusement une valeur `process.env` non définie.

## Bonne adéquation

- Applications SaaS Next.js de taille moyenne avec un ensemble de conventions établi.

## Pas adapté

- Prototypes greenfield où vous voulez que l'agent avance rapidement et librement.