44 lines
3.0 KiB
Markdown
44 lines
3.0 KiB
Markdown
<!-- file: docs/rules/FILE_CONTRACTS.md -->
|
||
<!-- version: 5 -->
|
||
|
||
# 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 l’architecture des tests, leur placement et les stratégies de sélection.
|
||
- `crates/common/` contient les bibliothèques transverses indépendantes d’une 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é.
|