Recherche/Modifier un dépôt sur toute la pile sans casser la compatibilité

Modifier un dépôt sur toute la pile sans casser la compatibilité

À utiliser quand une IA modifie un dépôt sur toute la pile applicative. Elle lit d’abord les consignes, garde compatibles les clés de base de données, les migrations et les champs d’API, réutilise les composants partagés et les traductions, et ne signale que ce qu’elle a exécuté.

Pour utiliser ces règles d'IA
## Lire les consignes du dépôt et limiter la modification avant d’éditer Agissez comme un assistant de programmation qui connaît le dépôt. Respectez les instructions du dépôt et son architecture existante avant d’introduire de nouvelles conventions. Appliquez trois principes de gouvernance : 1. Faites passer les modifications par les chemins de référence du projet pour la mise en œuvre, la révision et le suivi. 2. Traitez les règles importantes de comportement, d’accès et de modification des données comme du code qui peut être révisé et testé. 3. Rendez le chemin sûr facile à suivre afin que les contributeurs n’aient pas besoin de solutions de contournement. Avant de modifier : - lisez les consignes destinées aux agents, les notes d’architecture et la liste de contrôle pertinente avant modification ; - repérez les emplacements de référence pour le schéma, les migrations, le code généré, les ressources linguistiques, les composants partagés, l’état et les tests ; - consultez le système de suivi des problèmes et les étiquettes de tri désignés lorsque le traitement d’un problème entre dans le périmètre ; n’inventez pas un dispositif de suivi parallèle ; - examinez les modèles voisins et limitez la modification au comportement demandé et au code directement concerné ; - énoncez vos hypothèses lorsque les consignes du dépôt sont incomplètes. Poursuivez la mise en œuvre locale ordinaire et les vérifications pertinentes. Arrêtez-vous pour obtenir une autorisation explicite avant toute opération destructive, modification en production ou publication externe. Ne sacrifiez pas la sécurité ou la cohérence pour réduire le nombre d’étapes de mise en œuvre. ## Mettre à jour ensemble le schéma et les migrations, et utiliser toutes les colonnes de la clé composite Pour les modifications côté serveur, utilisez l’outil de formatage, l’analyseur de code, les tests ciblés et la commande de compilation définis par le dépôt. Corrigez les résultats de l’analyse jusqu’à ce que l’exécution concernée soit exempte de problèmes. N’utilisez les corrections automatiques que si leurs différences restent dans le périmètre. Ne nettoyez les dépendances qu’après avoir modifié une dépendance. Respectez les conventions actuelles du langage. Gardez le traitement des erreurs explicite et concis, libérez les ressources de manière fiable, évitez un nettoyage différé dans les boucles longues lorsqu’il entraîne une accumulation de ressources, organisez les importations et n’exportez que ce dont les autres paquets ont besoin. Pour les modifications du schéma : - mettez à jour à la fois la représentation de référence du schéma le plus récent et la migration ordonnée lorsque le dépôt exige les deux ; - mettez à jour les tests ou contrôles de version de migration qui vérifient la version la plus récente ; - retracez les correspondances de stockage et les représentations générées touchées par la modification du schéma ; - vérifiez le comportement futur et toutes les hypothèses de compatibilité ; ne modifiez pas manuellement les résultats générés. Pour une table dotée d’une clé primaire composite, chaque condition de lecture, de jointure, de mise à jour et de retrait doit inclure toutes les colonnes de la clé. Ne ciblez jamais la ligne avec une clé partielle. Ajoutez un test de collision avec des identifiants locaux identiques sous des clés parentes différentes, utilisez l’interface publique et démontrez que le parent non ciblé reste inchangé. ## Réutiliser les composants d’interface partagés et placer les textes dans les ressources linguistiques Utilisez la pile d’interface et les éléments de base partagés établis dans le dépôt. Avant de créer un contrôle interactif, vérifiez si la couche d’interface partagée fournit déjà le comportement requis pour un bouton, un champ de saisie, un sélecteur, une boîte de dialogue, un menu, une infobulle, un onglet, un tableau ou un formulaire. Privilégiez le composant partagé lorsqu’il satisfait les besoins de comportement du navigateur, d’accessibilité et d’intégration. N’utilisez un contrôle natif que si la couche partagée ne peut pas répondre à une exigence concrète, et consignez brièvement cette raison. Placez le texte visible par l’utilisateur dans les ressources linguistiques plutôt que dans le code source. Ajoutez des entrées linguistiques complètes, évitez les objets vides et préservez les conventions de clés du projet. Utilisez le mécanisme de traduction et les modèles de gestion d’état existants. Respectez le système de conception : - utilisez les outils existants de gestion des variantes et de fusion des classes ; - utilisez les variables du thème et les propriétés personnalisées plutôt que des couleurs isolées codées en dur ; - respectez les règles du dépôt relatives à l’espacement et à la composition des composants ; - maintenez le mode strict de TypeScript et ne relâchez pas les types pour contourner une erreur. Après les modifications, exécutez l’outil de formatage ou de correction du dépôt, le contrôle sans modification, le contrôle des types et les tests ciblés. Examinez les modifications de formatage automatiques avant de les accepter. ## Garder l’API compatible avec les clients existants et vérifier les vraies clés JSON Pour modifier une API ou un protocole, lisez les directives contractuelles du dépôt avant toute modification. Lorsqu’une directive générale d’API entre en conflit avec une règle de protocole propre au dépôt, suivez la priorité documentée au lieu de deviner. Utilisez les conventions imposées pour nommer les énumérations et les champs. Formatez et analysez les définitions de protocole, régénérez les résultats à l’aide de la commande du dépôt et examinez les différences générées pour repérer toute modification involontaire de l’interface externe. Vérifiez explicitement la compatibilité : - les clients existants peuvent toujours interpréter les champs et les valeurs inchangés ; - les changements de nom, les retraits, les valeurs par défaut et le comportement obligatoire sont traités intentionnellement ; - le serveur, le client, le stockage et les types générés concordent ; - les tests couvrent le contrat public, et pas seulement les utilitaires internes. Lorsqu’une infrastructure logicielle sérialise des données structurées, vérifiez les véritables clés de transmission plutôt que de présumer l’orthographe des champs source. Par exemple, un sérialiseur peut produire des clés JSON en casse chameau à partir de noms de schéma contenant des traits de soulignement. Fondez les requêtes, migrations, données fixes de test et assertions sur la représentation réellement stockée ou transmise. ## Relire les différences finales et ne signaler que les commandes réellement lancées Utilisez la liste de contrôle du dépôt préalable à la révision avant d’ouvrir ou de mettre à jour une demande de modification externe. Incluez les contrôles que l’automatisation peut manquer, notamment la compatibilité, la sécurité des clés composites, l’exhaustivité des migrations, les modifications générées, la localisation et la configuration du service d’analyse. La vérification doit correspondre à la modification : 1. Formatez les fichiers modifiés avec la commande du dépôt. 2. Exécutez l’analyse du code ou les contrôles statiques pour la pile concernée. 3. Exécutez les plus petits tests pertinents, y compris les tests de régression et de collision lorsque cela est nécessaire. 4. Exécutez la compilation ou le contrôle des types approprié. 5. Examinez les différences finales pour repérer les modifications sans rapport, le bruit généré et tout élargissement accidentel du périmètre. Ne prétendez pas avoir réussi sur la base d’une commande qui n’a pas été exécutée ou qui a échoué. Indiquez les commandes exécutées, leurs résultats et tout ce qui n’a volontairement pas été exécuté. Ne créez ou ne mettez à jour un problème ou une demande de modification externe que si cela est demandé ou fait déjà partie du processus attribué. Utilisez le système de suivi, les étiquettes de référence, la politique de révision et les conventions de liaison désignés par le dépôt. Lors de la transmission, expliquez ce qui a changé, pourquoi, comment cela a été vérifié, quels risques demeurent et quelle est la prochaine décision humaine.