Files
games/docs/rules/PROMPT_STRUCTURE.md

7.4 KiB

Structure des prompts de reprise

Objet

Un prompt de démarrage est un contrat opératoire autonome pour la version suivante. Il doit permettre de reprendre le travail sans dépendre de la mémoire conversationnelle, tout en évitant de recopier intégralement les règles du dépôt.

Le prompt rappelle les invariants qui évitent les erreurs de workflow et renvoie aux documents normatifs pour leur détail exact.

Contenu minimal

  • PROMPT-STR-001 — Le prompt identifie la baseline exacte, la version cible et l'autorité de la base fournie. Une archive annoncée comme téléchargement d'un tag est traitée selon CMD-GIT-003/CMD-GIT-004 sans exiger .git.
  • PROMPT-STR-002 — Le prompt fournit un ordre de lecture court des sources de vérité : RULES.md, ROADMAP.md, CHANGELOG.md, docs/000-README.md, règles directement pertinentes, plan/historique de la version précédente et documents d'architecture concernés.
  • PROMPT-STR-003 — Le prompt distingue explicitement l'état déjà validé hérité de la baseline des validations qui devront être exécutées dans la nouvelle version.
  • PROMPT-STR-004 — Le prompt décrit la mission, le résultat attendu, le scope inclus, le hors-périmètre et les invariants architecturaux gelés.
  • PROMPT-STR-005 — Le prompt rappelle que 0-pre.1 est le gate de cadrage : audit, requirements, sizing, risques, validations prévues et création/révision du plan sous docs/plans/ avant développement lourd.
  • PROMPT-STR-006 — Le prompt contient un forecast souple jusqu'à la stable. Il réserve les responsabilités de développement, validation large, consolidation documentaire, préparation de publication/RC et release mécanique sans rendre les numéros immuables.
  • PROMPT-STR-007 — Le prompt rappelle où se trouve la définition des commandes : docs/rules/RULES_COMMANDS.md pour la politique d'exécution et docs/rules/RULES_VALIDATION_MATRIX.md pour les IDs, dépendances et déclencheurs. Il ne recopie que les commandes indispensables à la reprise ou au premier gate.
  • PROMPT-STR-008 — Le prompt rappelle la séparation utilisateur/générateur : les audits statiques peuvent être exécutés par le générateur, mais les builds, tests et smokes finaux restent côté utilisateur conformément à CMD-BUILD-005 et ne sont jamais déclarés réussis sans sortie réelle.
  • PROMPT-STR-009 — Le prompt rappelle la cadence de validation sans recopier toute la matrice : audits Python sélectionnés selon les fichiers touchés ; cargo fmt --all, cargo fmt --all -- --check, cargo check --workspace et Clippy workspace strict obligatoires dès que du Rust ou une dépendance Cargo change ; tests cargo test -p ... ciblés par défaut ; test workspace complet réservé aux rares jalons planifiés ou aux changements transverses incertains ; cargo tree seulement lors d'un changement/diagnostic de dépendances.

Commandes avec répertoire et Tauri

  • PROMPT-STR-016 — Le prompt rappelle que toute commande nécessitant un cd est englobée dans un sous-shell, par exemple (cd <dir> && <commande>), afin de ne pas modifier le répertoire courant pour les commandes suivantes.
  • PROMPT-STR-017 — Lorsqu'une version touche Tauri, le prompt rappelle que npm sert à gérer les dépendances frontend mais que les builds/smokes passent par Tauri : (cd <tauri-app> && cargo tauri dev) pour le smoke courant et (cd <tauri-app> && cargo tauri build) aux phases finales de packaging prévues. Les hooks Tauri possèdent Vite/TypeScript/WASM ; npm run dev/npm run build ne deviennent pas des gates manuelles Tauri.

Documentation et traçabilité à rappeler

  • PROMPT-STR-010 — Le prompt rappelle que deltas/ décrit la livraison candidate et ses validations attendues, alors que history/ enregistre uniquement le résultat d'un jalon effectivement accepté.
  • PROMPT-STR-011 — Le prompt rappelle qu'une entrée history/<X.Y.Z>/<jalon>.md est créée par le delta suivant ou le fix suivant après validation, jamais avant la validation qu'elle décrit.
  • PROMPT-STR-012 — Le prompt rappelle que CHANGELOG.md n'est normalement mis à jour qu'à partir de la RC puis à la stable ; les détails pre/beta restent dans deltas/ et history/.
  • PROMPT-STR-013 — Le prompt rappelle que ROADMAP.md reste macroscopique et n'est modifié que lorsque le scope, son ordre ou son statut évolue réellement ; le plan de version porte le découpage fin.
  • PROMPT-STR-014 — Le prompt rappelle que la documentation propre à une fonctionnalité évolue avec la tranche qui l'introduit ; la consolidation finale réconcilie l'ensemble mais ne sert pas à repousser toute documentation à la fin.
  • PROMPT-STR-015 — Le prompt mentionne explicitement la politique README.md/USAGE.md lorsque la version crée ou finalise une crate, une application ou un package : appliquer DOC-CRATE-* et décider dans le plan quels fichiers ont une valeur durable réelle.

README et USAGE dans une version

Le prompt ne doit pas imposer mécaniquement des fichiers vides. Il doit en revanche forcer la question au cadrage puis à la consolidation :

nouvelle crate/package durable ?
    -> README utile pour responsabilité/frontières/points d'entrée ?

API ou workflow de consommation non trivial ?
    -> USAGE utile pour préconditions/commandes/exemples ?

simple adapter/POC déjà documenté durablement ailleurs ?
    -> document supplémentaire non obligatoire s'il n'apporte rien

Timing du prompt suivant

  • PROMPT-STR-020 — Le prompt de la version suivante est rédigé pendant la consolidation finale lorsque la cible suivante est suffisamment connue ; il n'est pas reporté à une future session.
  • PROMPT-STR-021 — La première RC gelée vérifie et complète ce prompt à partir de l'état réellement candidat à publication ; elle ne lui attribue pas de validations futures.
  • PROMPT-STR-022 — La stable ne doit normalement effectuer qu'une mise à jour mécanique de la base de départ ou des références devenues certaines depuis la RC.

Versionnement, deltas et fixes

  • PROMPT-STR-030 — Le prompt rappelle le format SemVer applicable et le rôle des .fix.N lorsqu'une erreur est découverte dans une tranche déjà livrée.
  • PROMPT-STR-031 — Le prompt rappelle que chaque delta indique sa base requise, son scope, les fichiers touchés, les validations attendues et l'état connu du jalon précédent.
  • PROMPT-STR-032 — Une validation propre permet de poursuivre automatiquement vers la tranche planifiée suivante ; un échec reste dans un .fix.N de la tranche courante sauf décision explicite contraire.
  • PROMPT-STR-033 — Le prompt rappelle qu'une session est dimensionnée pour fermer au minimum une version concrète jusqu'à sa stable, pas pour s'arrêter volontairement sur une prerelease.

Niveau de détail attendu

Le prompt doit être assez complet pour éviter les rappels conversationnels récurrents, mais il ne devient pas une duplication exhaustive de docs/rules/.

Une taille de quelques centaines de lignes est acceptable lorsqu'elle porte du contexte opérationnel réel. Les listes de toutes les règles Rust ou de toutes les commandes du dépôt restent dans leurs documents normatifs ; le prompt cite les règles et reproduit seulement les garde-fous susceptibles d'être oubliés dans la version ciblée.