- TypeScript 89.5%
- JavaScript 9.9%
- Shell 0.6%
|
|
||
|---|---|---|
| .changeset | ||
| .claude/commands | ||
| .forgejo/workflows | ||
| .githooks | ||
| depots-lies | ||
| docs | ||
| packages | ||
| reference | ||
| scripts | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| eslint.config.mjs | ||
| ETAT.md | ||
| knip.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| ROADMAP.md | ||
| tsconfig.json | ||
EQS Platform
Le socle de développement partagé des applications d'Équilibre Structures : les
packages @eqs/*, la doctrine, le cadre de tests, et les cahiers des charges
des dépôts liés (template, workflows, flotte, image de base).
Ce dépôt ne contient encore aucun code. Il contient ce qu'il faut pour l'écrire sans rediscuter : un cahier des charges par package, conforme à ce qui a été audité et décidé. Voir ETAT.md pour ce qui est vrai aujourd'hui, ROADMAP.md pour l'ordre.
Pour qui, pour quoi
Les packages sont faits pour les dépôts neufs. Un satellite créé depuis le template les importe tous et n'écrit que son métier. Les applications existantes ne sont pas forcées : HQ est le modèle dont on extrait le code, ATLAS sera rétrofitté, Topologie est déjà proche du socle. Le jour où une application adopte un package, elle trouve ici ses défauts et son chemin.
Carte
eqs-platform/
├── README.md ← vous êtes ici
├── AGENTS.md règles de travail dans ce dépôt (30 lignes)
├── ETAT.md ce qui est vrai, mis à jour quand ça change
├── ROADMAP.md ordre d'extraction et critères de « terminé »
├── reference/decisions.md D-001… : chaque arbitrage, tranché ou ouvert
├── docs/
│ ├── doctrine.md les invariants, les règles d'extraction, la langue
│ ├── profils.md nest · next-fullstack · front : ce que chacun expose
│ ├── conformite.md comment un package exporte sa suite ; eqs-audit.json
│ ├── cadre-tests-qualite.md exemplaire canonique du cadre de tests
│ ├── glossaire.md
│ ├── plan/ le plan d'architecture d'origine
│ └── audit/ l'audit de l'existant et la note d'extraction
├── packages/ un dossier par package, chacun avec son cahier
│ ├── tooling/ tsconfig, eslint, prettier, knip, stryker, gitleaks.json
│ ├── config/ contrat d'environnement, cohérence, refus de démarrer
│ ├── errors/ enveloppe d'erreur, x-request-id, ApiError
│ ├── telemetry/ OTel, logs corrélés, eqs.operation_id
│ ├── auth/ 4 fournisseurs, permission = operationId, roles.yaml
│ ├── http/ le mutator Orval, 60 lignes
│ ├── platform-nest/ createEqsApp(), /health, /version, /openapi.json
│ ├── platform-next/ profil front et profil full-stack
│ ├── testing/ eqs check, base jetable, suites génériques, runConformance
│ └── cli/ eqs doctor · inspect · openapi export · migrate
└── depots-lies/ cahiers des dépôts qui vivent ailleurs
├── eqs-satellite-template/
├── eqs-workflows/
├── eqs-fleet/ reporté (D-030) ; la liste des satellites est dans reference/satellites.md
└── eqs-node-base/ reporté (D-029) ; le gabarit Dockerfile y est décrit
Lire dans l'ordre
- docs/doctrine.md : dix minutes, tout le reste en découle.
- reference/decisions.md : ce qui est tranché, ce qui ne l'est pas.
- Le cahier du package sur lequel on travaille.
- docs/conformite.md avant d'écrire la première assertion.
Le plan d'origine et l'audit sont là pour la traçabilité, pas pour le travail quotidien : un cahier des charges qui contredit le plan a raison, parce qu'il a été écrit après avoir lu le code.
Démarrer (quand il y aura du code)
pnpm install
pnpm check
prepare installe les hooks git (.githooks/, voir D-017). Le pre-commit
refuse un secret ; le pre-push lance pnpm check.