Maintenir AGENTS.md
AGENTS.md est la documentation canonique destinée aux agents. Gardez-la minimale—les agents sont capables et n'ont pas besoin d'être guidés à la main. Visez moins de 60 lignes ; ne dépassez jamais 100. La qualité du suivi des instructions se dégrade à mesure que la longueur du document augmente.
Configuration du fichier
- Créer
AGENTS.mdà la racine du projet - Créer un symlink :
ln -s AGENTS.md CLAUDE.md
Avant d'écrire
Analysez le projet pour comprendre ce qui appartient au fichier :
- Gestionnaire de paquets — Vérifier les fichiers de verrouillage (
pnpm-lock.yaml,yarn.lock,package-lock.json,uv.lock,poetry.lock) - Configs linter/formateur — Chercher
.eslintrc,biome.json,ruff.toml,.prettierrc, etc. (ne pas dupliquer ces éléments dans AGENTS.md) - Commandes CI/build — Vérifier
Makefile, scriptspackage.json, configs CI pour les commandes canoniques - Indicateurs monorepo — Vérifier
pnpm-workspace.yaml,nx.json, workspace Cargo, ou fichierspackage.jsondans les sous-répertoires - Conventions existantes — Vérifier
CONTRIBUTING.md,docs/, ou patterns README existants
Règles d'écriture
- En-têtes + puces — Pas de paragraphes
- Blocs de code — Pour les commandes et modèles
- Références, pas d'intégration — Pointer vers la documentation existante : « Voir
CONTRIBUTING.mdpour la configuration » ou « Suivre les patterns danssrc/api/routes/» - Pas de remplissage — Pas d'introductions, conclusions, ou formules de politesse
- Faire confiance aux capacités — Omettre le contexte évident
- Préférer les commandes à portée fichier — Commandes de test/lint/typecheck par fichier plutôt que builds à l'échelle du projet
- Ne pas dupliquer les linters — Le style de code vit dans les configs linter, pas dans AGENTS.md
Sections obligatoires
Package Manager
Quel outil et seulement les commandes clés :
## Package Manager
Utiliser **pnpm** : `pnpm install`, `pnpm dev`, `pnpm test`
File-Scoped Commands
Les commandes par fichier sont plus rapides et moins coûteuses que les builds complets du projet. Toujours inclure quand disponible :
## File-Scoped Commands
| Tâche | Commande |
|-------|----------|
| Typecheck | `pnpm tsc --noEmit path/to/file.ts` |
| Lint | `pnpm eslint path/to/file.ts` |
| Test | `pnpm jest path/to/file.test.ts` |
Commit Attribution
Toujours inclure cette section. Les agents doivent utiliser leur propre identité :
## Commit Attribution
Les commits IA DOIVENT inclure :
Co-Authored-By: (le nom de l'agent et la ligne d'attribution)
Exemple : `Co-Authored-By: Claude Sonnet 4 <noreply@example.com>`
Key Conventions
Patterns spécifiques au projet que les agents doivent suivre. Garder bref.
Sections optionnelles
Ajouter seulement si vraiment nécessaire :
- Patterns de routes API (montrer le modèle, pas l'explication)
- Commandes CLI (format tableau)
- Conventions de nommage de fichiers
- Indices de structure de projet (pointer vers fichiers critiques, signaler le code hérité à éviter)
- Surcharges monorepo (fichiers
AGENTS.mddans les sous-répertoires surchargeant la racine)
Anti-patterns
Omettre ces éléments :
- « Bienvenue dans... » ou « Ce document explique... »
- « Vous devriez... » ou « N'oubliez pas de... »
- Règles linter/formateur déjà dans les fichiers de config (
.eslintrc,biome.json,ruff.toml) - Énumération des compétences ou plugins installés (les agents les découvrent automatiquement)
- Commandes build à l'échelle du projet quand des alternatives à portée fichier existent
- Instructions évidentes (« exécuter les tests », « écrire du code propre »)
- Explications du pourquoi (juste dire quoi)
- Longs paragraphes en prose
Structure d'exemple
# Instructions pour les agents
## Package Manager
Utiliser **pnpm** : `pnpm install`, `pnpm dev`
## Commit Attribution
Les commits IA DOIVENT inclure :
Co-Authored-By: (le nom de l'agent et la ligne d'attribution)
## File-Scoped Commands
| Tâche | Commande |
|-------|----------|
| Typecheck | `pnpm tsc --noEmit path/to/file.ts` |
| Lint | `pnpm eslint path/to/file.ts` |
| Test | `pnpm jest path/to/file.test.ts` |
## API Routes
[Bloc de code modèle]
## CLI
| Commande | Description |
|----------|-------------|
| `pnpm cli sync` | Synchroniser les données |