Skill Deep Init
Crée une documentation hiérarchique complète AGENTS.md sur l'ensemble du codebase.
Concept central
Les fichiers AGENTS.md servent de documentation lisible par l'IA qui aide les agents à comprendre :
- Ce que contient chaque répertoire
- Comment les composants sont liés entre eux
- Instructions spéciales pour travailler dans cette zone
- Dépendances et relations
Système de balisage hiérarchique
Chaque AGENTS.md (sauf la racine) inclut une balise de référence parent :
<!-- Parent: ../AGENTS.md -->
Cela crée une hiérarchie navigable :
/AGENTS.md ← Racine (pas de balise parent)
├── src/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
│ ├── src/components/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
│ └── src/utils/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
└── docs/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
Modèle AGENTS.md
<!-- Parent: {chemin_relatif_parent}/AGENTS.md -->
<!-- Généré: {horodatage} | Mis à jour: {horodatage} -->
# {Nom du répertoire}
## Objectif
{Description d'un paragraphe de ce que contient ce répertoire et son rôle}
## Fichiers clés
{Liste chaque fichier important avec une description d'une ligne}
| Fichier | Description |
|---------|-------------|
| `file.ts` | Brève description de l'objectif |
## Sous-répertoires
{Liste chaque sous-répertoire avec un bref objectif}
| Répertoire | Objectif |
|------------|----------|
| `subdir/` | Ce qu'il contient (voir `subdir/AGENTS.md`) |
## Pour les agents IA
### Travailler dans ce répertoire
{Instructions spéciales pour les agents IA modifiant des fichiers ici}
### Exigences de test
{Comment tester les changements dans ce répertoire}
### Schémas courants
{Schémas de code ou conventions utilisés ici}
## Dépendances
### Internes
{Références à d'autres parties du codebase dont cela dépend}
### Externes
{Principaux paquets/bibliothèques externes utilisés}
<!-- MANUAL: Toute note ajoutée manuellement en dessous de cette ligne est conservée lors de la régénération -->
Flux d'exécution
Étape 1 : Cartographier la structure des répertoires
Task(subagent_type="explore", model="haiku",
prompt="Lister tous les répertoires de manière récursive. Exclure : node_modules, .git, dist, build, __pycache__, .venv, coverage, .next, .nuxt")
Étape 2 : Créer un plan de travail
Générer des éléments todo pour chaque répertoire, organisés par niveau de profondeur :
Niveau 0 : / (racine)
Niveau 1 : /src, /docs, /tests
Niveau 2 : /src/components, /src/utils, /docs/api
...
Étape 3 : Générer niveau par niveau
IMPORTANT : Générer d'abord les niveaux parents avant les niveaux enfants pour garantir que les références parent sont valides.
Pour chaque répertoire :
- Lire tous les fichiers du répertoire
- Analyser l'objectif et les relations
- Générer le contenu AGENTS.md
- Écrire le fichier avec la référence parent appropriée
Étape 4 : Comparer et mettre à jour (si existant)
Lorsque AGENTS.md existe déjà :
- Lire le contenu existant
- Identifier les sections :
- Sections générées automatiquement (peuvent être mises à jour)
- Sections manuelles (
<!-- MANUAL -->conservées)
- Comparer :
- Nouveaux fichiers ajoutés ?
- Fichiers supprimés ?
- Structure modifiée ?
- Fusionner :
- Mettre à jour le contenu généré automatiquement
- Conserver les annotations manuelles
- Mettre à jour l'horodatage
Étape 5 : Valider la hiérarchie
Après génération, exécuter des contrôles de validation :
| Vérification | Comment vérifier | Action corrective |
|---|---|---|
| Les références parent résolvent | Lire chaque AGENTS.md, vérifier que le chemin <!-- Parent: --> existe | Corriger le chemin ou supprimer l'orphelin |
| Pas de AGENTS.md orphelin | Comparer les emplacements AGENTS.md à la structure des répertoires | Supprimer les fichiers orphelins |
| Complétude | Lister tous les répertoires, vérifier la présence de AGENTS.md | Générer les fichiers manquants |
| Horodatages à jour | Vérifier les dates <!-- Généré: --> | Régénérer les fichiers obsolètes |
Script de validation type :
# Trouver tous les fichiers AGENTS.md
find . -name "AGENTS.md" -type f
# Vérifier les références parent
grep -r "<!-- Parent:" --include="AGENTS.md" .
Délégation intelligente
| Tâche | Agent |
|---|---|
| Cartographie des répertoires | explore |
| Analyse des fichiers | architect |
| Génération de contenu | writer |
| Écriture des AGENTS.md | writer |
Gestion des répertoires vides
Lors de la rencontre de répertoires vides ou presque vides :
| Condition | Action |
|---|---|
| Aucun fichier, aucun sous-répertoire | Ignorer - ne pas créer AGENTS.md |
| Aucun fichier, a des sous-répertoires | Créer un AGENTS.md minimal avec uniquement la liste des sous-répertoires |
| Uniquement des fichiers générés (*.min.js, *.map) | Ignorer ou AGENTS.md minimal |
| Uniquement des fichiers de configuration | Créer AGENTS.md décrivant l'objectif de la configuration |
Exemple de AGENTS.md minimal pour les conteneurs de répertoires uniquement :
<!-- Parent: ../AGENTS.md -->
# {Nom du répertoire}
## Objectif
Répertoire conteneur pour organiser les modules connexes.
## Sous-répertoires
| Répertoire | Objectif |
|------------|----------|
| `subdir/` | Description (voir `subdir/AGENTS.md`) |
Règles de parallélisation
- Répertoires de même niveau : Traiter en parallèle
- Niveaux différents : Séquentiel (parent d'abord)
- Gros répertoires : Lancer un agent dédié par répertoire
- Petits répertoires : Regrouper plusieurs dans un seul agent
Standards de qualité
Doit inclure
- Descriptions de fichiers précises
- Références parent correctes
- Liens vers les sous-répertoires
- Instructions pour les agents IA
Doit éviter
- Modèle générique
- Noms de fichiers incorrects
- Références parent cassées
- Fichiers importants manquants
Exemple de résultat
AGENTS.md racine
<!-- Généré: 2024-01-15 | Mis à jour: 2024-01-15 -->
# mon-projet
## Objectif
Une application web pour gérer les tâches utilisateur avec des fonctionnalités de collaboration en temps réel.
## Fichiers clés
| Fichier | Description |
|---------|-------------|
| `package.json` | Dépendances et scripts du projet |
| `tsconfig.json` | Configuration TypeScript |
| `.env.example` | Modèle de variables d'environnement |
## Sous-répertoires
| Répertoire | Objectif |
|------------|----------|
| `src/` | Code source de l'application (voir `src/AGENTS.md`) |
| `docs/` | Documentation (voir `docs/AGENTS.md`) |
| `tests/` | Suites de tests (voir `tests/AGENTS.md`) |
## Pour les agents IA
### Travailler dans ce répertoire
- Toujours installer les dépendances après avoir modifié le manifeste du projet
- Utiliser le mode strict TypeScript
- Suivre les règles ESLint
### Exigences de test
- Exécuter les tests avant de commit
- Garantir >80% de couverture
### Schémas courants
- Utiliser les exports barrel (index.ts)
- Préférer les composants fonctionnels
## Dépendances
### Externes
- React 18.x - Framework UI
- TypeScript 5.x - Sécurité des types
- Vite - Outil de build
<!-- MANUAL: Des notes personnalisées sur le projet peuvent être ajoutées ci-dessous -->
AGENTS.md imbriqué
<!-- Parent: ../AGENTS.md -->
<!-- Généré: 2024-01-15 | Mis à jour: 2024-01-15 -->
# components
## Objectif
Composants React réutilisables organisés par fonctionnalité et complexité.
## Fichiers clés
| Fichier | Description |
|---------|-------------|
| `index.ts` | Export barrel pour tous les composants |
| `Button.tsx` | Composant bouton principal |
| `Modal.tsx` | Composant boîte de dialogue modale |
## Sous-répertoires
| Répertoire | Objectif |
|------------|----------|
| `forms/` | Composants liés aux formulaires (voir `forms/AGENTS.md`) |
| `layout/` | Composants de mise en page (voir `layout/AGENTS.md`) |
## Pour les agents IA
### Travailler dans ce répertoire
- Chaque composant a son propre fichier
- Utiliser les modules CSS pour le style
- Exporter via index.ts
### Exigences de test
- Tests unitaires dans le sous-répertoire `__tests__/`
- Utiliser React Testing Library
### Schémas courants
- Interfaces de props définies au-dessus du composant
- Utiliser forwardRef pour les composants exposant le DOM
## Dépendances
### Internes
- `src/hooks/` - Hooks personnalisés utilisés par les composants
- `src/utils/` - Fonctions utilitaires
### Externes
- `clsx` - Noms de classes conditionnels
- `lucide-react` - Icônes
<!-- MANUAL: -->
Déclenchement du mode mise à jour
Lors de l'exécution sur un codebase existant avec des fichiers AGENTS.md :
- Détecter d'abord les fichiers existants
- Lire et analyser le contenu existant
- Analyser l'état actuel du répertoire
- Générer un diff entre l'existant et l'actuel
- Appliquer les mises à jour tout en préservant les sections manuelles
Considérations de performance
- Mettre en cache les listes de répertoires - Ne pas rescanner les mêmes répertoires
- Regrouper les petits répertoires - Traiter plusieurs à la fois
- Ignorer les inchangés - Si le répertoire n'a pas changé, sauter la régénération
- Écritures parallèles - Plusieurs agents écrivent différents fichiers simultanément