# AGENTS.md — contrat du repo `quartier` > Lu par toute session (humaine ou agent) avant de toucher ce repo. Squelette commun aux repos de Jules (décision du 26/09/2026), rempli ici pour le démonstrateur « Quelque part en 2035 ». ## Ce que c'est Le quartier type de TMIP en mouvement : une scène Three.js générée depuis le plan du concours 2020, en deux régimes (ambiance en fond de la page d'accueil de la plateforme REinNOVER, démo plein écran sur `quartier.trans-former.fr`). Site statique, aucun serveur, aucune donnée collectée. ## Sources de vérité (dans cet ordre) 1. Vault, `1 PROJETS/TMIP/REinNOVER/Quartier 3D/` : `PILOTE - Quartier 3D TMIP.md` (état, lots, gates) → `ARCHITECTURE - Quartier 3D.md` (prescriptif) → `CONTENU - couches, dispositifs, ramifications.md` (matrice) → `CONCEPT - Quelque part en 2035 (démonstrateur).md` (pourquoi). 2. `docs/RUNBOOK.md` (ici) pour déployer, revenir en arrière, régénérer la géométrie. 3. Le plan Rhino source ne vit pas ici (Dropbox, `Archives TMIP/`) ; `sources/` en garde une copie locale ignorée par git. ## Les trois étages, et la règle - `content/` : ce que Jules écrit (markdown + frontmatter). **Le moteur ne connaît aucun dispositif.** - `data/quartier.geo.json` : géométrie générée par `pipeline/`, jamais dessinée à la main hors `overrides/`. - `src/` : le moteur. Frontières vérifiées par `npm run lint:frontieres` : `ui/` ↔ `gen/`, `fx/`, `horscamp/` ne s'importent jamais ; tout passe par `core/state`. ## Commandes ``` npm install # deps : three, zod, vite, typescript npm run dev # http://localhost:5173 (?mode=ambiance pour le régime ambiance) npm run check # frontières + types + tests ./deploy.sh # build local → VPS → /opt/quartier/current (voir RUNBOOK) ``` ## Ce qu'on ne fait jamais - Coder un dispositif, un chiffre ou un texte dans `src/` : c'est du contenu. - Multiplier un chiffre par le quartier tant que le livret de calculs n'est pas rouvert (pilote §Lignes fermées). - Un score, un badge, un tracker, un script tiers. - Une bibliothèque UI ou CSS hors `@transformer/ui`. - Travailler dans une copie du repo sous Dropbox, ou commiter un secret, un `.3dm`, un `dist/`. - Ouvrir un port : le site est servi par Caddy en `file_server`, point. ## Fin de session `npm run check` vert · `git push` · `RECAP-LOT-Q.md` dans le dossier du pilote (vault) · §État du pilote écrasé.