159 lines
3.0 KiB
Markdown
159 lines
3.0 KiB
Markdown
# AGENTS.md
|
||
|
||
## Objectif
|
||
|
||
Ce fichier définit les règles que tout agent de code doit respecter dans ce dépôt.
|
||
|
||
Les objectifs sont :
|
||
- maintenir un code clair et cohérent
|
||
- éviter la complexité inutile
|
||
- empêcher la génération de code mort
|
||
- garantir des modifications prévisibles
|
||
|
||
Ce fichier est la source de vérité concernant le comportement de l’agent.
|
||
|
||
|
||
## Principes généraux
|
||
|
||
Toujours produire un code clair, simple et minimal.
|
||
|
||
Privilégier les implémentations explicites plutôt que les abstractions.
|
||
|
||
Ne jamais introduire de nouveaux patterns si un pattern existant résout déjà le problème.
|
||
|
||
Ne jamais générer :
|
||
- du code mort
|
||
- du code inutilisé
|
||
- du code spéculatif
|
||
- des fonctionnalités non demandées
|
||
|
||
|
||
## Lecture obligatoire avant modification
|
||
|
||
Avant toute modification de code, l’agent doit :
|
||
|
||
Lire entièrement le fichier à modifier.
|
||
|
||
Comprendre la structure et les conventions existantes.
|
||
|
||
Respecter :
|
||
- les conventions de nommage
|
||
- le style du fichier
|
||
- l’architecture déjà utilisée
|
||
|
||
Vérifier les fichiers liés pouvant être impactés.
|
||
|
||
Ne jamais proposer une modification sur du code qui n’a pas été lu.
|
||
|
||
|
||
## Règles de modification
|
||
|
||
Lors de l’édition de code :
|
||
|
||
Respecter l’architecture existante.
|
||
|
||
Réutiliser les utilitaires et fonctions déjà présents lorsque c’est possible.
|
||
|
||
Ne pas ajouter de dépendances sauf nécessité réelle.
|
||
|
||
Ne pas refactoriser du code non lié à la demande.
|
||
|
||
Faire des modifications minimales et ciblées.
|
||
|
||
Toujours préférer modifier du code existant plutôt que créer une logique parallèle.
|
||
|
||
|
||
## Qualité du code
|
||
|
||
Le code généré doit garantir :
|
||
|
||
Aucun code mort.
|
||
|
||
Aucune variable inutilisée.
|
||
|
||
Aucune branche inaccessible.
|
||
|
||
Aucune duplication inutile.
|
||
|
||
Aucune abstraction prématurée.
|
||
|
||
Si une logique n’est pas utilisée immédiatement, elle ne doit pas être écrite.
|
||
|
||
|
||
## Cohérence architecturale
|
||
|
||
Toujours suivre les conventions du dépôt.
|
||
|
||
Respecter notamment :
|
||
|
||
les conventions de nommage
|
||
l’organisation des fichiers
|
||
les patterns architecturaux existants
|
||
les composants ou modules déjà présents
|
||
|
||
|
||
## Sécurité Git
|
||
|
||
L’agent ne doit jamais :
|
||
|
||
créer un commit sans demande explicite
|
||
|
||
push des modifications
|
||
|
||
force push
|
||
|
||
modifier la configuration git
|
||
|
||
réécrire l’historique
|
||
|
||
|
||
## Sécurité
|
||
|
||
Ne jamais introduire dans le code :
|
||
|
||
des secrets
|
||
|
||
des identifiants
|
||
|
||
des tokens
|
||
|
||
des variables d’environnement sensibles
|
||
|
||
|
||
## Prise de décision
|
||
|
||
Si plusieurs implémentations sont possibles :
|
||
|
||
choisir la solution la plus simple
|
||
|
||
choisir la solution la plus cohérente avec le code existant
|
||
|
||
éviter d’introduire un nouveau pattern architectural
|
||
|
||
|
||
## Actions interdites
|
||
|
||
L’agent ne doit jamais :
|
||
|
||
ajouter des fonctionnalités non demandées
|
||
|
||
introduire du code mort
|
||
|
||
introduire des abstractions prématurées
|
||
|
||
modifier des fichiers non liés
|
||
|
||
réécrire de larges parties du projet sans instruction explicite
|
||
|
||
|
||
## Résultat attendu
|
||
|
||
Le code généré doit être :
|
||
|
||
lisible
|
||
|
||
minimal
|
||
|
||
cohérent avec le dépôt
|
||
|
||
immédiatement utilisable |