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 au fur et à mesure que la longueur du document augmente.
Configuration du fichier
- Créez
AGENTS.mdà la racine du projet - Créez un symlink :
ln -s AGENTS.md CLAUDE.md
Avant d'écrire
Analysez le projet pour comprendre ce qui doit figurer dans le fichier :
- Gestionnaire de paquets — Cherchez les fichiers de verrouillage (
pnpm-lock.yaml,yarn.lock,package-lock.json,uv.lock,poetry.lock) - Configs linter/formateur — Cherchez
.eslintrc,biome.json,ruff.toml,.prettierrc, etc. (ne les dupliquez pas dans AGENTS.md) - Commandes CI/build — Cherchez
Makefile, scriptspackage.json, configs CI pour les commandes canoniques - Indicateurs de monorepo — Cherchez
pnpm-workspace.yaml,nx.json, workspace Cargo, ou fichierspackage.jsondans les sous-répertoires - Conventions existantes — Cherchez 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 les modèles
- Référencer, ne pas intégrer — Pointez vers la documentation existante : « Voir
CONTRIBUTING.mdpour la configuration » ou « Suivez les patterns danssrc/api/routes/» - Pas de remplissage — Pas d'introductions, conclusions ou formules de politesse
- Faites confiance aux capacités — Omettez le contexte évident
- Préférez les commandes spécifiques à un fichier — Les commandes test/lint/typecheck par fichier plutôt que les builds au niveau du projet
- Ne dupliquez pas les linters — Le style de code vit dans les configs linter, pas dans AGENTS.md
Sections obligatoires
Gestionnaire de paquets
Quel outil et commandes clés seulement :
## Package Manager
Use **pnpm**: `pnpm install`, `pnpm dev`, `pnpm test`
Commandes spécifiques à un fichier
Les commandes par fichier sont plus rapides et moins chères que les builds complets du projet. Incluez-les toujours quand elles sont disponibles :
## File-Scoped Commands
| Task | Command |
|------|---------|
| Typecheck | `pnpm tsc --noEmit path/to/file.ts` |
| Lint | `pnpm eslint path/to/file.ts` |
| Test | `pnpm jest path/to/file.test.ts` |
Attribution des commits
Incluez toujours cette section. Les agents doivent utiliser leur propre identité :
## Commit Attribution
AI commits MUST include:
Co-Authored-By: (the agent's name and attribution byline)
Example: `Co-Authored-By: Claude Sonnet 4 <noreply@example.com>`
Conventions clés
Patterns spécifiques au projet que les agents doivent suivre. Gardez-le bref.
Sections optionnelles
Ajoutez uniquement si vraiment nécessaire :
- Patterns de route API (montrez un modèle, pas une explication)
- Commandes CLI (format tableau)
- Conventions de nommage de fichiers
- Indices sur la structure du projet (pointez les fichiers critiques, signalez le code hérité à éviter)
- Overrides de monorepo (les fichiers
AGENTS.mddans les sous-répertoires remplacent la racine)
Anti-patterns
Omettez :
- « Bienvenue à... » ou « Ce document explique... »
- « Vous devriez... » ou « N'oubliez pas de... »
- Règles de linter/formateur déjà dans les fichiers de config (
.eslintrc,biome.json,ruff.toml) - Énumération des skills ou plugins installés (les agents les découvrent automatiquement)
- Commandes complètes de build au niveau du projet quand des alternatives spécifiques à un fichier existent
- Instructions évidentes (« lancer les tests », « écrire du code propre »)
- Explications du pourquoi (dites simplement quoi)
- Longs paragraphes en prose
Structure d'exemple
# Agent Instructions
## Package Manager
Use **pnpm**: `pnpm install`, `pnpm dev`
## Commit Attribution
AI commits MUST include:
Co-Authored-By: (the agent's name and attribution byline)
## File-Scoped Commands
| Task | Command |
|------|---------|
| 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
[Template code block]
## CLI
| Command | Description |
|---------|-------------|
| `pnpm cli sync` | Sync data |