Files
games/docs/rules/FILE_CONTRACTS.md

3.5 KiB
Raw Permalink Blame History

Contrats des fichiers principaux

  • README.md présente le dépôt et ses entrées principales.
  • RULES.md indexe les règles normatives.
  • ROADMAP.md conserve le planning durable et son historique de scope via ( ), (x), (d) et (c).
  • CHANGELOG.md conserve une synthèse inversement chronologique à partir des jalons RC et stables.
  • docs/000-README.md indexe la documentation détaillée.
  • docs/rules/ contient les règles durables.
  • docs/ideas/000-README.md est le point d'entrée des idées et variantes non engagées.
  • docs/studies/000-README.md est le point d'entrée des analyses comparatives non normatives préparant une décision.
  • docs/architecture/ contient les décisions et descriptions d'architecture retenues.
  • docs/objectives/ décrit les objectifs et la stratégie produit/technique.
  • docs/games/ classe les familles de jeux, leurs contrôles et leurs évolutions.
  • docs/engine/ décrit lévolution fonctionnelle des générations de moteur.
  • docs/monetization/ décrit les modèles de monétisation indépendamment des fournisseurs.
  • docs/services/ décrit leaderboards, backend, partage, anti-cheat et services communautaires.
  • docs/development/ décrit les workflows de développement non normatifs complémentaires aux règles.
  • docs/testing/ décrit larchitecture des tests, leur placement et les stratégies de sélection.
  • crates/common/ contient les bibliothèques transverses indépendantes dune génération spécifique du moteur, notamment le socle de logging.
  • deltas/ contient un document par livraison ou correctif versionné.
  • prompts/ peut contenir les prompts de reprise de session lorsqu'ils deviennent utiles.
  • scripts/ contient des audits en lecture seule et des outils du dépôt.
  • assets/ contient les ressources runtime communes et spécifiques aux jeux ; aucune ressource runtime n'est placée dans une crate Rust.
  • Android/ contient le projet Gradle multi-module et son code Java commun/spécifique.
  • crates/apps/ contient les exécutables de développement et launchers Rust, notamment les runners Desktop par jeu.

Tauri

  • crates/apps/<game>-tauri/frontend/ contient le frontend Vite/TypeScript versionné.
  • crates/apps/<game>-tauri/src/lib.rs est la façade Rust de l'app Tauri.
  • crates/apps/<game>-tauri/src/tauri.rs assemble Tauri et porte le pont Web/Rust.
  • crates/apps/<game>-wasm/ contient l'adaptation WebAssembly distincte.
  • Les bindings JavaScript et modules .wasm générés restent ignorés par Git.

Points d'entrée documentaires

  • Le README.md racine du dépôt conserve son nom.
  • Un README propre à une crate, un package ou un répertoire technique peut conserver README.md lorsque cet usage est naturel à son écosystème.
  • Un répertoire documentaire conçu pour accumuler plusieurs fichiers Markdown utilise 000-README.md comme point d'entrée.
  • history/000-README.md est le point d'entrée de l'historique validé.

Immutabilité et suppressions dans les deltas

  • Les fichiers deltas/**/*.md livrés sont immuables sur le fond.
  • Une correction de forme sans changement de sens peut modifier un delta existant uniquement en incrémentant son en-tête version.
  • Toute correction sémantique ou tout ajout produit un nouveau delta ou .fix.N.
  • Les fichiers deltas/**/*.delete.txt sont des manifests de suppression contractuels.
  • Chaque manifest contient un chemin relatif par ligne et est expliqué dans le fichier Markdown du delta qui l'introduit.