0.1.1-alpha.2
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# Plan 0.1.1 — fondation frontend Web contrôlée
|
||||
|
||||
@@ -235,6 +235,46 @@ Cette répétition confirme que les owners TypeScript/Vite/Sass/CSS sont bien tr
|
||||
|
||||
Aucune autre règle KSP n'est importée dans `0.1.1-alpha.1`.
|
||||
|
||||
## Décisions de revue après `alpha.1`
|
||||
|
||||
La gate opérateur de `alpha.1` est `PASS` : `48/48` tests, audits Markdown propres et scope Git conforme. Aucun fix de cadrage n'est nécessaire.
|
||||
|
||||
La revue ajoute trois préférences explicites à traduire avec la force normative `SHOULD` :
|
||||
|
||||
- **TypeScript** : fortement recommandé pour les frontends contrôlés, mais non obligatoire. Sa valeur attendue est le type-check statique avant exécution/génération du JavaScript et la possibilité de partager des contrats typés avec d'autres écosystèmes ; lorsqu'une frontière Rust existe, des générateurs comme TS-RS peuvent éviter la duplication manuelle des DTO.
|
||||
- **Vite** : fortement recommandé comme build tool/dev server des frontends contrôlés lorsque ses capacités correspondent au besoin, mais non obligatoire. Une alternative justifiée reste valide.
|
||||
- **Sass** : fortement recommandé pour les chaînes de styles non triviales, en particulier lorsqu'une dépendance installée via l'écosystème de packages expose un entrypoint Sass/SCSS, des variables, maps, mixins ou autres points de configuration permettant d'adapter la bibliothèque sans modifier ses sources. Sass reste optionnel pour un frontend simple.
|
||||
|
||||
Bootstrap constitue un exemple réel de dépendance offrant une chaîne Sass personnalisable ; il ne devient pas pour autant une dépendance PGR universelle. Pour du nouveau code Sass, `@use` / `@forward` est préféré lorsque compatible ; `@import` reste toléré pour les bibliothèques existantes qui l'exigent encore.
|
||||
|
||||
`alpha.2` matérialise donc quatre owners séparés dans la famille `500` :
|
||||
|
||||
```text
|
||||
530 TypeScript
|
||||
540 JavaScript package ecosystem
|
||||
550 Vite
|
||||
560 CSS / Sass
|
||||
```
|
||||
|
||||
Cette granularité conserve l'indépendance d'applicabilité : un projet peut utiliser TypeScript sans Vite, Vite avec JavaScript, CSS sans Sass, ou un package manager sans aucune des trois autres briques.
|
||||
|
||||
### Classification initiale des choix Games
|
||||
|
||||
| Choix Games | Classification pour l'adoption future | Motif |
|
||||
|--------------------------------------------|-------------------------------------------------|----------------------------------------------------------------|
|
||||
| TypeScript pour les frontends durables | `ADOPT` | déjà exercé et conforme à la préférence PGR `SHOULD` |
|
||||
| Vite comme build tool/dev server | `ADOPT` | déjà exercé ; reste remplaçable par une alternative justifiée |
|
||||
| `package.json` comme manifest frontend | `ADOPT` | owner générique nécessaire |
|
||||
| npm comme package manager concret | `KEEP-LOCAL` | PGR ne rend pas npm universel |
|
||||
| absence/versionnement des lockfiles Games | `KEEP-LOCAL` en attente de `alpha.3` | ne pas généraliser le corpus historique |
|
||||
| Sass dans `game-snake-poc` | `ADOPT` lorsque la chaîne de styles le justifie | capacité recommandée, applicabilité conditionnelle |
|
||||
| Bootstrap | `KEEP-LOCAL` | choix de présentation/skeleton, pas règle Web universelle |
|
||||
| `frontend/` comme layout | `KEEP-LOCAL` / candidat skeleton | ne pas transformer un layout observé en règle de langage/build |
|
||||
| ports, aliases et plugins Vite | `KEEP-LOCAL` | valeurs propres au host/projet |
|
||||
| commandes/génération WASM dans les scripts | `DEFER` | futur owner WASM séparé |
|
||||
|
||||
Aucun `OVERRIDE` n'est nécessaire à ce stade : Games n'est pas encore gouverné par ces nouveaux profils et sera réellement mappé pendant `0.1.5`.
|
||||
|
||||
## Mission de `0.1.1`
|
||||
|
||||
`0.1.1` doit produire la première fondation frontend Web contrôlée de PGR à partir des responsabilités réellement exercées, sans créer un catalogue théorique de technologies Web.
|
||||
@@ -296,9 +336,9 @@ Auditer `v0.1.0`, `publish.001`, Games `0.3.6`, les décisions Tauri/horizon, pu
|
||||
|
||||
### alpha.2 — frontières d'ownership Web
|
||||
|
||||
Décider la composition minimale des owners nécessaires à TypeScript, package manager/manifest, Vite et styles. Matérialiser uniquement les familles/profils dont l'ownership est suffisamment prouvé.
|
||||
Décider et matérialiser la composition minimale des owners nécessaires à TypeScript, package manager/manifest, Vite et styles. La décision retenue est `530 / 540 / 550 / 560`, quatre profils indépendants de la famille `500`.
|
||||
|
||||
Cette tranche doit aussi classifier explicitement les choix Games selon `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER` sans migrer Games.
|
||||
La tranche inscrit les recommandations `SHOULD` TypeScript/Vite/Sass sans les transformer en `MUST`, puis classifie explicitement les choix Games selon `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER` sans migrer Games. Les détails de configuration restent dans les tranches spécialisées suivantes.
|
||||
|
||||
### alpha.3 — TypeScript et écosystème de package
|
||||
|
||||
|
||||
Reference in New Issue
Block a user