Forráskód Böngészése

feat(archetypes): add project archetype library + detection algorithm

Introduce ~/.claude/lib/project-archetypes/ with 25 archetype files
(web, mobile, APIs, CMS, infra, firmware, etc.) and the detection
algorithm in lib/archetype-detector.md. Consumed by /onboard STEP 1
to drive archetype-specific audit stacks and plugin recommendations.

Co-Authored-By: Claude <noreply@anthropic.com>
bastien 3 hete
szülő
commit
b45563da62

+ 139 - 0
lib/archetype-detector.md

@@ -0,0 +1,139 @@
+# ARCHETYPE DETECTOR
+
+Logique de détection d'archétype projet consommée par `/onboard` STEP 1.
+Aucune exécution autonome — ce fichier documente l'algorithme que le skill applique.
+
+---
+
+## Inputs
+
+1. Répertoire projet (cwd)
+2. Résultat filesystem scan (manifests, structure, deps)
+3. Liste des archétypes disponibles : `~/.claude/lib/project-archetypes/*.md` (hors `_TEMPLATE.md`)
+
+## Algorithme
+
+### PHASE A — Collect signals
+
+Lire chaque archétype. Pour chaque archétype, charger les blocs :
+- Strong signals (weight=3)
+- Medium signals (weight=2)
+- Weak signals (weight=1)
+
+Types de signaux (syntaxe à matcher) :
+
+| Syntaxe | Vérification |
+|---|---|
+| `FILE: <path>` | `test -f <path>` (relatif au projet root) |
+| `DIR: <path>/` | `test -d <path>` |
+| `STRING_IN_FILE: <path> contient "<pattern>"` | `grep -q "<pattern>" <path>` (fichier existe requis) |
+| `DEP: <manifest> contient "<pkg>"` | parse manifest, vérifie clé `dependencies` OU `devDependencies` contient pkg |
+| `EXT: N fichiers .<ext>` | `find . -name "*.<ext>" -not -path "*/node_modules/*" -not -path "*/.git/*" \| wc -l` → >= N |
+| `TOOL: <cmd>` | `command -v <cmd>` existe |
+| `REGEX: <path> matches "/<pattern>/"` | grep regex sur fichier |
+
+### PHASE B — Score each archetype
+
+Pour chaque archétype :
+
+```
+score_raw = Σ (signal_matched ? signal_weight : 0)
+score_max = Σ signal_weight_total
+score_pct = score_raw / score_max  (si score_max > 0, sinon 0)
+```
+
+Aussi compter `strong_hits` : nombre de strong signals matchés.
+
+### PHASE C — Rank + select
+
+Classer archétypes par `score_raw` décroissant.
+
+**Règles de sélection** (dans l'ordre) :
+
+1. **Un seul archétype avec score_raw ≥ 6 ET strong_hits ≥ 1** → SELECTED, confiance HAUTE.
+2. **Top archétype dépasse le 2ème de ≥ 50% ET strong_hits ≥ 1** → SELECTED, confiance MOYENNE.
+3. **2-3 archétypes avec scores proches (delta < 30%)** → AMBIGUOUS → demander à l'utilisateur.
+4. **Aucun archétype avec score_raw ≥ 3** → UNKNOWN → demander manuellement ou partir d'un gabarit "generic".
+
+### PHASE D — Composition
+
+Certains projets sont combinés. Cas de composition détectés AUTOMATIQUEMENT :
+
+- **WordPress + WooCommerce** : archétype `wordpress` + overlay `woocommerce` (si détecté)
+- **Next.js + backend séparé dans monorepo** : plugin-advisor détecte déjà `monorepo`, on applique l'archétype par package
+- **Astro + React islands** : archétype principal `astro-static`, noter la présence d'islands React dans les signaux
+- **Drupal multi-site** : archétype `drupal` avec flag multisite
+
+Ne pas inventer de compositions non listées.
+
+---
+
+## Output format
+
+```
+ARCHETYPE DETECTION
+─────────────────────
+Scores (top 5) :
+  1. <name>  score: XX/YY (zz%) — strong: N, medium: N, weak: N  [SELECTED | CANDIDATE | REJECTED]
+  2. ...
+
+SELECTED     : <name>  (confiance : HAUTE | MOYENNE | BASSE | AMBIGU)
+COMPOSITION  : <overlay si applicable, sinon "none">
+
+JUSTIFICATION (signaux déterminants) :
+  ✓ [strong] <signal>
+  ✓ [medium] <signal>
+  ✗ [strong] <signal> (attendu pour cet archétype, absent)
+
+IMPLICATIONS AUTO-APPLIQUÉES :
+  - public     : true | false
+  - database   : required | optional | none
+  - audit_stack: [liste]
+  - plugins    : [recommandations]
+```
+
+Si AMBIGUOUS :
+
+```
+⚠️  ARCHÉTYPE AMBIGU — plusieurs candidats proches :
+  A) <name>  score: XX (signaux: ...)
+  B) <name>  score: XX (signaux: ...)
+  C) <name>  score: XX (signaux: ...)
+  D) None of the above — I'll describe it manually
+
+Which one? (A / B / C / D)
+```
+
+Si UNKNOWN :
+
+```
+⚠️  AUCUN ARCHÉTYPE RECONNU
+Je vois : <signaux détectés, ex : PHP files, no manifest, custom Makefile>
+Questions manuelles :
+  1. Quel type de projet ? (web / API / CLI / lib / desktop / mobile / game / firmware / autre)
+  2. Public-facing (visible en recherche) ? (yes / no)
+  3. Utilise une base de données ? (yes / no / depends)
+  4. Stack principale ? (libre)
+```
+
+---
+
+## Règles de robustesse
+
+- **Ne jamais inventer un archétype** non présent dans `~/.claude/lib/project-archetypes/`.
+- **Exclure** les dossiers `node_modules`, `.git`, `vendor`, `target`, `dist`, `build`, `.next`, `__pycache__` de tous les scans.
+- **Timeout** : si un grep prend > 2s, l'abandonner et marquer le signal non-testé (ne compte pas dans le score).
+- **Archétype non-monorepo** : si `monorepo` est détecté par plugin-advisor, passer la détection par package (un archetype par sous-package, pas un archetype global).
+
+---
+
+## Extension
+
+Ajouter un nouvel archétype :
+1. Créer `~/.claude/lib/project-archetypes/<name>.md` en respectant `_TEMPLATE.md`.
+2. Tester avec `/onboard` en dry-run sur un projet connu de ce type.
+3. Ajuster les weights si un signal s'avère trop discriminant/pas assez.
+
+Retirer un archétype :
+1. Supprimer le fichier.
+2. Si des projets existants s'y référaient, migrer leur `CLAUDE.md` manuellement.

+ 75 - 0
lib/project-archetypes/_TEMPLATE.md

@@ -0,0 +1,75 @@
+---
+name: <archetype-id>
+category: <cms | static | framework | api | cli | library | mobile | desktop | game | embedded | monorepo>
+public: <true | false>  # public-facing website (SEO/GEO relevant)
+database: <required | optional | none>
+hosting_hints:
+  - <shared | vps | managed | vercel | netlify | cloudflare-pages | docker | k8s | app-store>
+audit_stack:
+  - analyze        # dette technique (toujours)
+  - code-clean     # style/dead code (toujours)
+  - seo            # uniquement si public: true
+  - design-review  # uniquement si UI présente (frontend / frontend-in-CMS)
+  - perf           # lighthouse + bundle analyzer
+  - cso            # sécurité — toujours recommandé si DB, auth, deps externes
+  - a11y           # accessibilité — uniquement si UI
+  - doc            # drift docs
+plugins:
+  context7: <yes | no | optional>        # utile si fast-libs dans l'archétype
+  ui-ux-pro-max: <yes | no | optional>   # si frontend
+  gstack: <yes | no | optional>          # si site déployable navigable
+---
+
+# <Archetype Name>
+
+## Detection signals
+
+**Logique OR — toute combinaison ci-dessous = CANDIDAT.**
+Le score final pour cet archétype = `matches / total_signals`. Plus un signal est rare/spécifique, plus il est discriminant.
+
+### Strong signals (score × 3) — quasi-unique à cet archétype
+- `FILE: <chemin exact>` — description
+- `STRING_IN_FILE: <fichier> contient "<pattern>"`
+- `DEP: <manifest> contient "<package>"`
+
+### Medium signals (score × 2)
+- `FILE: <chemin>` — description
+- `DIR: <dossier>/`
+
+### Weak signals (score × 1) — non discriminants seuls
+- `EXT: N fichiers .<ext>`
+- `TOOL: <commande> disponible`
+
+## Implications
+
+Liste ce que cet archétype implique automatiquement, sans questionner l'utilisateur :
+- Hébergement probable : ...
+- Base de données : requise / optionnelle / aucune
+- SEO/GEO : critique / important / N/A
+- Surface sécurité : large / moyenne / petite
+- UI/UX : critique / important / aucune
+
+## Typical pain points
+
+Problèmes typiques que l'audit DOIT chercher pour cet archétype :
+- ...
+- ...
+
+## Interview questions (adaptive)
+
+Questions à poser EN PLUS du set minimum business (users, stade, deadlines, équipe, légal, perfs).
+Chaque question a un hint `[if: <condition>]` si elle ne s'applique que conditionnellement.
+
+- Question 1 ?
+- Question 2 ? `[if: public=true]`
+- Question 3 ?
+
+## Plugin recommendations
+
+Rationale court pour chaque plugin recommandé ou désactivé pour cet archétype.
+
+## Example project layout
+
+```
+<tree minimal pour reconnaître l'archétype à l'œil>
+```

+ 102 - 0
lib/project-archetypes/astro-static.md

@@ -0,0 +1,102 @@
+---
+name: astro-static
+category: framework
+public: true
+database: optional
+hosting_hints:
+  - netlify
+  - cloudflare-pages
+  - vercel
+  - github-pages
+  - shared
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Astro (static / islands)
+
+Framework statique avec islands (React/Vue/Svelte). Zéro JS par défaut. Idéal portfolio, docs, blog, landing.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `astro.config.mjs` OR `astro.config.ts` OR `astro.config.js`
+- DEP: `package.json` contient "astro"
+
+### Medium signals (×2)
+- DIR: `src/pages/` AVEC FILE `.astro`
+- EXT: 3+ fichiers .astro
+- DIR: `src/components/`
+- DIR: `src/layouts/`
+
+### Weak signals (×1)
+- DIR: `src/content/` (Content Collections)
+- DEP: `@astrojs/*` (integrations : react, tailwind, mdx, sitemap)
+- FILE: `tsconfig.json` avec "extends": "astro/tsconfigs/*"
+
+### Composition overlays
+- Islands framework : DEP `@astrojs/react`, `@astrojs/vue`, `@astrojs/svelte` → noter
+- SSR activé : `astro.config.*` contient `output: 'server'` → change implications (pas 100% static)
+
+## Implications
+- **Hébergement** : Netlify, Cloudflare Pages, Vercel, GitHub Pages, shared (static)
+- **Base de données** : OPTIONNELLE — rare en mode statique, possible via Astro DB ou backend externe
+- **SEO/GEO** : EXCELLENT — HTML statique au build, parfait pour AI crawlers
+- **Surface sécurité** : PETITE (pas de backend en mode static) / MOYENNE (mode SSR)
+- **UI/UX** : CRITIQUE
+
+## Typical pain points
+- `@astrojs/sitemap` non installé/configuré
+- `@astrojs/mdx` mal configuré (pas de frontmatter type-safe)
+- Content Collections sans schéma Zod
+- Images non optimisées (pas `<Image>` d'Astro)
+- `client:load` utilisé partout (défait l'intérêt des islands)
+- Pas de `robots.txt`
+- Pas de JSON-LD / Schema.org
+- View Transitions non utilisées alors que pertinentes
+- RSS feed manquant (blog)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Type de site : portfolio / blog / docs / landing / e-commerce / autre ?
+- Islands framework si besoin d'interactivité : React / Vue / Svelte / Solid / aucun ?
+- Content Collections utilisées ? (articles / projets / autre)
+- Mode : static (par défaut) ou SSR (output: 'server') ?
+- Déploiement : Netlify / Cloudflare / Vercel / GitHub Pages / autre ?
+- i18n prévu ? (oui + quelles langues / non) `[if: public=true]`
+- CMS headless couplé ? (Sanity / Contentful / Notion / aucun)
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON si Astro version récente + integrations nombreuses
+- **ui-ux-pro-max** : ON — Astro est souvent choisi pour sites "beaux"
+- **gstack** : OPTIONAL — utile pour Lighthouse
+
+## Example project layout
+```
+astro.config.mjs
+src/
+  pages/
+    index.astro
+    about.astro
+    blog/[slug].astro
+  layouts/
+    Base.astro
+  components/
+    Header.astro
+    Card.tsx  (React island)
+  content/
+    blog/*.md
+public/
+  favicon.svg
+```

+ 102 - 0
lib/project-archetypes/cli-tool.md

@@ -0,0 +1,102 @@
+---
+name: cli-tool
+category: cli
+public: false
+database: none
+hosting_hints:
+  - npm-registry
+  - pypi
+  - crates-io
+  - homebrew
+  - github-releases
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# CLI Tool
+
+Outil en ligne de commande — distribué via un registry (npm, PyPI, crates.io, Homebrew) ou binaire.
+
+## Detection signals
+
+### Strong signals (×3)
+- STRING_IN_FILE: `package.json` contient "\"bin\":" (entry point CLI)
+- STRING_IN_FILE: `setup.py` OR `pyproject.toml` contient "console_scripts" OR "[project.scripts]"
+- STRING_IN_FILE: `Cargo.toml` contient "[[bin]]"
+- FILE: `cmd/*/main.go` (convention Go CLI)
+
+### Medium signals (×2)
+- DEP: "commander", "yargs", "clap" (Rust), "click" (Python), "typer", "cobra" (Go), "argparse"
+- FILE: `bin/*` executable
+- FILE: `src/cli.ts` OR `src/cli.py` OR `src/cli.rs` OR `src/main.rs`
+
+### Weak signals (×1)
+- DEP: "chalk", "kleur", "colorama", "termcolor" (output coloré)
+- DEP: "inquirer", "prompts", "questionary" (prompts interactifs)
+- FILE: `README.md` AVEC STRING "Usage:" OR "Installation:"
+- FILE: `CHANGELOG.md`
+
+### Counter-signals (exclusion)
+- DEP: `react`, `next`, `vue`, `fastapi`, `express` → web, pas CLI
+- FILE: `index.html` → web
+
+## Implications
+- **Distribution** : npm / PyPI / crates.io / Homebrew / binaires GitHub Releases
+- **Base de données** : aucune (sauf outil qui manipule une DB externe)
+- **SEO/GEO** : N/A
+- **Surface sécurité** : MOYENNE — deps externes, exécution locale, parfois privilèges élevés
+- **UI/UX** : N/A (interface texte)
+
+## Typical pain points
+- Pas de versioning semver strict (breaking changes silencieux)
+- CHANGELOG absent ou pas à jour
+- Tests des commandes absents (pytest-click, oclif-test, etc.)
+- Pas de help text cohérent (`--help` incomplet)
+- Exit codes incohérents (0 toujours, même en erreur)
+- Output pas parseable (pas de `--json`)
+- Pas de shell completion (bash/zsh/fish)
+- Deps avec failles (npm audit / cargo audit / pip-audit non exécuté)
+- Pas de cross-platform test (Win/macOS/Linux)
+- Logs vers stdout au lieu de stderr (casse les pipes)
+- Pas de gestion des signaux (SIGINT → cleanup ?)
+- Installation instructions incomplètes dans README
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Langage : Node.js / Python / Rust / Go / autre ?
+- Framework CLI : Commander / Clap / Click / Cobra / argparse / autre ?
+- Distribution : npm / PyPI / crates.io / Homebrew / binaires GitHub / multiple ?
+- OS cibles : Linux / macOS / Windows / WSL ?
+- Interactivité : prompts interactifs / pure arguments CLI ?
+- Output : texte formaté / JSON / les deux (`--json`) ?
+- Shell completion fournie ? (oui / non / souhaité)
+- Tests : couverture actuelle / cible ?
+- Releases : manuelles / CI (goreleaser, semantic-release, release-please) ?
+- Deps externes binaires requis ? (git, docker, ffmpeg, etc.)
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON si framework CLI récent
+- **ui-ux-pro-max** : OFF (pas d'UI graphique)
+- **gstack** : OFF
+
+## Example project layout
+```
+package.json          OR   pyproject.toml       OR   Cargo.toml
+src/
+  cli.ts              OR   cli.py               OR   main.rs
+  commands/
+    init.ts
+    build.ts
+bin/
+  my-tool
+tests/
+README.md (Usage + Installation)
+CHANGELOG.md
+```

+ 121 - 0
lib/project-archetypes/data-notebook.md

@@ -0,0 +1,121 @@
+---
+name: data-notebook
+category: meta
+public: false
+database: optional
+hosting_hints:
+  - local
+  - jupyterhub
+  - colab
+  - kaggle
+  - databricks
+  - sagemaker
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Data / Jupyter Notebook
+
+Projet data science / ML axé sur notebooks Jupyter. Exploration, analyse, modèles. Pas d'application déployée au sens applicatif.
+
+## Detection signals
+
+### Strong signals (×3)
+- EXT: 5+ fichiers `.ipynb`
+- DEP: `requirements.txt` OR `pyproject.toml` OR `environment.yml` contient "jupyter" OR "jupyterlab" OR "notebook"
+- FILE: `environment.yml` (Conda)
+
+### Medium signals (×2)
+- DIR: `notebooks/` OR `nb/` avec `.ipynb`
+- DIR: `data/` OR `datasets/` (souvent gitignored)
+- DEP: "pandas", "numpy", "matplotlib", "seaborn", "scikit-learn", "torch", "tensorflow", "jax"
+- FILE: `Makefile` avec cibles data (download-data/, preprocess/, train/)
+- FILE: `dvc.yaml` (DVC pipeline)
+
+### Weak signals (×1)
+- DIR: `models/` (trained artifacts)
+- FILE: `.gitattributes` avec LFS rules
+- DEP: "mlflow", "wandb", "tensorboard"
+- DIR: `figures/` OR `plots/` (outputs)
+
+### Counter-signals (exclusion)
+- DEP: "streamlit" OR "gradio" OR "dash" + main entry point → data app UI (archétype à créer)
+- DEP: "fastapi" / "flask" / "django" comme dep principale → API, pas notebook
+- FILE: `setup.py` OR `pyproject.toml` AVEC `[project.scripts]` → package, pas notebook
+
+## Implications
+- **Exécution** : local / Google Colab / Kaggle / JupyterHub / Databricks / SageMaker
+- **Base de données** : variable (souvent CSV/Parquet/DuckDB locaux, parfois DB externe)
+- **SEO/GEO** : N/A
+- **Surface sécurité** : SOUS-ESTIMÉE — notebooks souvent commités avec credentials, outputs, PII
+- **UI/UX** : N/A (sauf si app Streamlit/Dash ajoutée)
+
+## Typical pain points
+- `.ipynb` committés avec **outputs** = fuite potentielle (données clients affichées)
+- Credentials en dur dans cellules (API keys AWS, tokens Kaggle, mots de passe DB)
+- PII dans outputs cellules (noms clients, emails, numéros carte)
+- Datasets volumineux committés (pas de LFS / DVC / gitignore)
+- `requirements.txt` non pinned → résultats non reproductibles
+- Pas de seed random → runs non déterministes
+- Notebooks monolithiques (10000+ lignes, cells non documentées)
+- Logique dupliquée entre notebooks (pas de `src/lib.py`)
+- Variables d'état entre cells (exécution non idempotente)
+- Modèles trainés commités dans git (bloat repo)
+- Pas de versioning data (DVC / lakeFS / Pachyderm absents)
+- Expériences non trackées (MLflow / W&B absent)
+- Pas de tests (pytest sur fonctions extraites)
+- Conversion prod : notebook → script Python sans refactor (code non modulaire)
+- GPU / environnement non documenté (CUDA version, cuDNN)
+- Shared secrets dans environment.yml / requirements.txt
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Plateforme d'exécution : local / Colab / Kaggle / JupyterHub / Databricks / autre ?
+- Python + libs stack principale ?
+- Package manager : pip / poetry / uv / conda / mamba / pdm ?
+- Datasets : taille moyenne ? où sont-ils stockés ? versionnés ?
+- DVC / lakeFS / Git LFS pour data ?
+- Tracking expériences : MLflow / W&B / TensorBoard / aucun ?
+- Tests automatiques sur fonctions extraites ?
+- Convention commit notebooks : nbstripout (outputs strippés) ou outputs inclus ?
+- GPU requis ? CUDA version ?
+- But final : exploration ponctuelle / modèle en prod / rapport reproductible / papier / autre ?
+- Si prod : comment le modèle sort du notebook (export pickle/ONNX/API) ?
+- RGPD / données sensibles dans les datasets ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON pour libs modernes (Pytorch, JAX, Transformers qui évoluent)
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+environment.yml            OR  requirements.txt    OR  pyproject.toml
+notebooks/
+  01-exploration.ipynb
+  02-preprocessing.ipynb
+  03-modeling.ipynb
+  04-evaluation.ipynb
+src/
+  features.py              (fonctions extraites, testables)
+  models.py
+  utils.py
+data/                       (GITIGNORED ou DVC-tracked)
+  raw/
+  interim/
+  processed/
+models/                     (artifacts — GITIGNORED ou LFS)
+figures/
+tests/
+  test_features.py
+dvc.yaml                    (optional)
+.pre-commit-config.yaml     (nbstripout idéal)
+Makefile
+```

+ 132 - 0
lib/project-archetypes/desktop-electron.md

@@ -0,0 +1,132 @@
+---
+name: desktop-electron
+category: desktop
+public: false
+database: optional
+hosting_hints:
+  - github-releases
+  - autoupdate-servers
+  - mac-app-store
+  - microsoft-store
+  - snap-store
+  - aur
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - design-review
+  - perf
+  - a11y
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Desktop Electron
+
+Application desktop basée sur Electron (Chromium + Node.js). Distribution binaires pour macOS / Windows / Linux.
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient "electron"
+- STRING_IN_FILE: tout .js/.ts du projet contient "app.whenReady()" OR "new BrowserWindow(" OR "require('electron')" OR "import .* from 'electron'"
+- FILE: `electron-builder.json` OR `electron-builder.yml` OR `forge.config.js` OR `forge.config.ts`
+
+### Medium signals (×2)
+- DEP: "electron-builder" OR "@electron-forge/cli"
+- DIR: `src/main/` (main process) AND `src/renderer/` (renderer)
+- FILE: `main.js` OR `main.ts` OR `src/main/index.ts` (main process entry)
+- FILE: `preload.js` OR `src/preload/index.ts`
+
+### Weak signals (×1)
+- DIR: `build/` avec icons (icon.icns, icon.ico, icon.png)
+- DEP: "electron-updater"
+- DEP: "electron-store"
+- FILE: `.env.production` avec vars Electron
+
+### Composition overlays
+- **Tauri** (NOT Electron but similar archetype) : DEP `@tauri-apps/*` ET `src-tauri/` — à traiter avec archétype `desktop-tauri` (à créer plus tard)
+- **Frontend framework inside renderer** : React / Vue / Svelte detected → noter
+
+## Implications
+- **Distribution** : GitHub Releases, autoupdate servers, Mac App Store, Microsoft Store, Snap Store, AUR
+- **Base de données** : OPTIONNELLE — souvent SQLite via better-sqlite3 ou electron-store (JSON)
+- **SEO/GEO** : N/A (app native desktop)
+- **Surface sécurité** : **CRITIQUE** — accès file system, shell, nodeIntegration si mal config = RCE
+- **UI/UX** : CRITIQUE — conventions desktop par OS
+
+## Typical pain points
+- `nodeIntegration: true` et `contextIsolation: false` dans BrowserWindow → XSS = exécution code natif arbitraire
+- `contextBridge` non utilisé (preload expose Node API brut au renderer)
+- `webSecurity: false` (CORS désactivé dans renderer — risque énorme)
+- Secrets / API keys dans le bundle (déchiffrable par n'importe quel user — asar non chiffré)
+- URL chargée remote dans BrowserWindow → MITM sur un site compromis = RCE
+- Pas de code signing (macOS Gatekeeper / Windows SmartScreen avertissements)
+- Pas d'autoupdate (`electron-updater`) → users bloqués sur vieilles versions faillibles
+- Electron version obsolète (updates mensuelles critiques)
+- Shell IPC non validé (renderer peut exécuter commandes shell via ipcMain mal filtré)
+- `navigator.userAgent` leak (app detectable, fingerprint)
+- Menu context / clipboard : permissions non gérées
+- Deep links (`app://`) non validés → phishing
+- Accessibilité OS : ARIA ignoré, screen readers non testés
+- Taille du bundle énorme (Chromium = 150-200MB)
+- Performances : main process bloqué par ops synchrones (fs sync dans main)
+- Memory leaks : BrowserWindows non fermés, event listeners non cleanup
+- Pas de crash reporting natif (`electron-log`, Sentry Electron)
+- Pas de tests E2E (Spectron déprécié, Playwright Electron recommandé)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Framework build : electron-builder / electron-forge / autre ?
+- Frontend dans renderer : React / Vue / Svelte / vanilla / autre ?
+- IPC : `ipcMain`+`ipcRenderer` directs / `contextBridge` secure / `@electron/remote` (déprécié) ?
+- BrowserWindow config : nodeIntegration / contextIsolation / sandbox / webSecurity ?
+- Auth : OAuth desktop / tokens locaux / SSO entreprise ?
+- Stockage : electron-store / SQLite (better-sqlite3) / IndexedDB / file system direct / cloud ?
+- Code signing : macOS (Developer ID + notarization) / Windows (EV Cert) / aucun ?
+- Autoupdate : electron-updater / custom / aucun ?
+- Distribution : GitHub Releases / Homebrew Cask / MS Store / Mac App Store / autre ?
+- OS cibles : macOS min / Windows min / Linux distros ?
+- Architecture : x64 / arm64 / universal2 (macOS) ?
+- Electron version + cycle d'upgrade ?
+- Crash reporting : Sentry Electron / electron-log / aucun ?
+- Analytics : respecte RGPD (opt-in, désactivable) ?
+- Tests : unit + Playwright Electron ?
+- CI/CD : builds multi-OS (GitHub Actions matrix / CircleCI) ?
+- Deep links / protocol handlers registered ?
+- App menu + accelerators ?
+- Accessibilité OS native testée ?
+
+## Plugin recommendations
+- **context7** : ON — Electron évolue vite (mensuel), breaking changes fréquents
+- **ui-ux-pro-max** : ON
+- **gstack** : OPTIONAL — Playwright peut tester le renderer
+
+## Example project layout
+```
+package.json
+forge.config.ts           OR   electron-builder.json
+src/
+  main/
+    index.ts              (main process)
+    window.ts
+    menu.ts
+    ipc-handlers.ts
+  preload/
+    index.ts              (contextBridge)
+  renderer/
+    index.html
+    main.tsx              (React/Vue/Svelte app)
+    components/
+resources/
+  icon.icns
+  icon.ico
+  icon.png
+build/
+  entitlements.mac.plist
+  background.png
+.env.example
+```

+ 113 - 0
lib/project-archetypes/docker-compose-infra.md

@@ -0,0 +1,113 @@
+---
+name: docker-compose-infra
+category: meta
+public: false
+database: optional
+hosting_hints:
+  - vps
+  - bare-metal
+  - homelab
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Docker Compose Infrastructure
+
+Stack docker-compose orchestrant services externes (DB, cache, reverse proxy, monitoring, apps déployables) — pas de code applicatif au root. Exemple : stack homelab / VPS / environnement local partagé.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `docker-compose.yml` OR `docker-compose.yaml`
+- FILE: `compose.yml` OR `compose.yaml` (syntaxe moderne)
+- FILE: plusieurs `docker-compose.*.yml` (override, prod, dev)
+
+### Medium signals (×2)
+- FILE: `.env.example` avec vars de services (POSTGRES_PASSWORD, REDIS_PASSWORD, etc.)
+- DIR: `configs/` OR `conf/` OR `volumes/` avec configs de services (nginx.conf, redis.conf, postgresql.conf)
+- FILE: `Makefile` avec cibles docker (`up:`, `down:`, `restart:`, `logs:`)
+- DIR: `traefik/` OR `nginx/` OR `caddy/` (reverse proxy configs)
+- FILE: `.dockerignore`
+
+### Weak signals (×1)
+- DIR: `scripts/` avec scripts d'init DB / backup
+- FILE: `backup.sh` OR `restore.sh`
+- DIR: `data/` (gitignored, volumes montés)
+
+### Counter-signals (exclusion)
+- FILE: `package.json` AVEC deps applicatives (react/next/express/...) → c'est une app, pas de l'infra-only
+- FILE: `pyproject.toml` AVEC `[project.scripts]` → app Python
+- FILE: `Cargo.toml` → app Rust
+- DIR: `src/` significatif avec code métier → c'est une app, pas du pur infra
+
+## Implications
+- **Hébergement** : VPS / bare-metal / homelab (Raspberry Pi, NAS)
+- **Base de données** : souvent incluse dans la stack (Postgres/MySQL/Redis/Mongo)
+- **SEO/GEO** : N/A
+- **Surface sécurité** : GRANDE — secrets, ports exposés, privilèges containers
+- **UI/UX** : N/A
+
+## Typical pain points
+- `.env` committé avec credentials
+- Images `:latest` (pas de versions pinnées) → upgrades casse-stack
+- `privileged: true` abusif
+- Ports exposés sur 0.0.0.0 sans firewall (DB accessible Internet !)
+- Pas de healthchecks
+- Pas de restart policy
+- Volumes non nommés (data perdue à la recréation)
+- Pas de backup automatique (cron, restic, borg)
+- Logs non centralisés ni rotés
+- Reverse proxy sans TLS (Let's Encrypt absent)
+- Network default bridge avec tous services (pas d'isolation)
+- User `root` dans containers (privilege escalation)
+- Resources limits absents (un service OOM-kill les autres)
+- Secrets en environment (visibles `docker inspect`)
+- Images Dockerfile non custom : `postgres:15` nu sans hardening
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- OS host : Ubuntu / Debian / CoreOS / autre ?
+- Services principaux dans la stack (DB / cache / reverse proxy / monitoring / apps) ?
+- Reverse proxy : Traefik / Caddy / nginx / aucun ?
+- TLS : Let's Encrypt / certs custom / aucun ?
+- Secrets management : .env / Docker secrets / Vault / autre ?
+- Backup strategy : aucun / manuel / automatisé (quoi ?) ?
+- Monitoring / logs : Portainer / Grafana / Loki / ELK / aucun ?
+- Uptime monitoring externe : UptimeRobot / BetterStack / aucun ?
+- Mise à jour des images : manuelle / Watchtower / Renovate / aucune ?
+- Restrictions réseau (firewall, fail2ban) ?
+- Multi-env : dev + prod séparés ?
+
+## Plugin recommendations
+- **context7** : OFF (Docker/Compose stable)
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+docker-compose.yml
+docker-compose.prod.yml    (override prod)
+.env.example
+.dockerignore
+Makefile                    (up:/down:/logs:/backup:)
+configs/
+  nginx/
+    default.conf
+  traefik/
+    traefik.yml
+    dynamic.yml
+  postgres/
+    init.sql
+scripts/
+  backup.sh
+  restore.sh
+volumes/                    (gitignored data)
+README.md
+```

+ 115 - 0
lib/project-archetypes/dotfiles-meta.md

@@ -0,0 +1,115 @@
+---
+name: dotfiles-meta
+category: meta
+public: false
+database: none
+hosting_hints:
+  - git-repo-personal
+  - github
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Dotfiles / Meta-tooling / Config framework
+
+Repo qui ne produit pas d'application mais du **configuration / scripts / conventions** — dotfiles personnels, framework de config partagée, collection de scripts de provisionning, hooks, templates.
+
+Exemple : un repo `claude-config` avec scripts shell + settings JSON + templates + agents, sans langage applicatif compilé.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `install.sh` OR `install-*.sh`
+- FILE: `Makefile` AVEC STRING "install:" OR "link:" OR "setup:"
+- DIR: `hooks/` (PAS git/.git/hooks — hooks custom projet)
+- DIR: `templates/` AVEC contenu de config (non-code applicatif)
+- FILE: `settings.json` à la racine (hors dossier d'app type .vscode/)
+- STRING_IN_FILE: `README.md` contient "dotfiles" OR "config framework" OR "provisioning"
+
+### Medium signals (×2)
+- EXT: 5+ fichiers .sh
+- EXT: 10+ fichiers .md
+- FILE: `link.sh` OR `symlink.sh` OR `bootstrap.sh`
+- DIR: `agents/` OR `skills/` OR `scripts/` (sans code applicatif associé)
+- FILE: `plugins.lock.json` OR `plugins.json`
+
+### Weak signals (×1)
+- FILE: `CHANGELOG.md` de releases de config (pas d'app)
+- FILE: `.gitmodules` (sub-projects config)
+- FILE: `doctor.sh` OR `health.sh`
+- DIR: `lib/` contenant surtout du .sh ou .md (pas du code applicatif)
+
+### Counter-signals (exclusion — si matché, rejette)
+- FILE: `package.json` AVEC DEPS applicatives (react/next/express/etc.)
+- FILE: `pyproject.toml` AVEC `[project.scripts]` OR deps applicatives
+- FILE: `Cargo.toml` AVEC `[[bin]]`
+- FILE: `index.html` au root → web project
+- FILE: `wp-config.php` → WordPress
+
+## Implications
+- **Distribution** : git clone personnel / GitHub public / fork
+- **Base de données** : aucune
+- **SEO/GEO** : N/A
+- **Surface sécurité** : MOYENNE — scripts exécutés sur machine utilisateur, risque élevé si compromis (exécution arbitraire en shell)
+- **UI/UX** : N/A
+
+## Typical pain points
+- Scripts shell sans `set -euo pipefail` → échecs silencieux
+- Pas de `shellcheck` en CI
+- Symlinks / installation non idempotents (re-run casse l'état)
+- Pas de test / dry-run mode
+- Pas de détection OS (cmd Linux-only qui casse sur macOS, ou inverse)
+- Secrets en dur dans templates (API keys, tokens)
+- `curl | sh` dans README (risque MITM, pas de checksum)
+- Versioning flou (pas de CHANGELOG cohérent)
+- Breaking changes non signalés aux utilisateurs
+- Dépendances externes non vérifiées (brew/apt/npm auto-install sans consentement)
+- Uninstall / rollback absent
+- Documentation incomplète (comment étendre, comment contribuer)
+- Pas de `LICENSE`
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Audience : personnel (dotfiles privés) / équipe / public open source ?
+- OS cibles : Linux / macOS / WSL / Windows natif / tous ?
+- Shell cible : bash / zsh / fish / multi ?
+- Idempotence : les scripts peuvent-ils être re-exécutés sans casser ? (oui / non / à vérifier)
+- Mode dry-run / preview disponible ? (oui / non / souhaité)
+- Tests automatiques : shellcheck / bats / aucun ?
+- Distribution : git clone manuel / installer en un liner / brew tap / autre ?
+- Dépendances externes auto-installées ? (brew/apt/npm/pip) — avec consentement utilisateur ?
+- Uninstall prévu ? (oui / non)
+- Versioning : semver / dates / aucun ?
+- `CHANGELOG.md` maintenu ? (oui / non)
+- Hébergement : GitHub public / privé / GitLab / autre ?
+
+## Plugin recommendations
+- **context7** : OFF — pas de fast-libs
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+install.sh
+link.sh
+doctor.sh
+Makefile
+CLAUDE.md          (si le repo lui-même est un contexte Claude)
+README.md
+CHANGELOG.md
+settings.json      (config globale outil)
+plugins.lock.json  (lockfile d'extensions)
+agents/            (agents custom)
+skills/            (skills custom)
+hooks/             (hooks projet, pas git)
+templates/         (templates config fournis)
+lib/               (helpers shell)
+tasks/
+```

+ 124 - 0
lib/project-archetypes/drupal.md

@@ -0,0 +1,124 @@
+---
+name: drupal
+category: cms
+public: true
+database: required
+hosting_hints:
+  - shared
+  - vps
+  - acquia
+  - pantheon
+  - platform-sh
+  - docker
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: optional
+  gstack: optional
+---
+
+# Drupal
+
+CMS PHP/MySQL enterprise. Architecture modulaire. Thèmes custom, modules contrib + custom. Headless possible (Drupal API + frontend découplé).
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `sites/default/settings.php`
+- FILE: `core/lib/Drupal.php`
+- DIR: `core/`
+- STRING_IN_FILE: `composer.json` contient "drupal/core" OR "drupal/core-recommended"
+
+### Medium signals (×2)
+- DIR: `modules/contrib/`
+- DIR: `modules/custom/`
+- DIR: `themes/custom/`
+- DIR: `web/` (Composer-based install, `composer create-project drupal/recommended-project`)
+- FILE: `composer.lock` contenant deps drupal
+- FILE: `.drush/`
+
+### Weak signals (×1)
+- DIR: `vendor/`
+- FILE: `.htaccess` contenant "RewriteRule .*\.php"
+- FILE: `update.php`
+- EXT: 20+ fichiers .php
+
+### Composition overlays
+- **Multisite** : STRING_IN_FILE `sites/sites.php` contient "$sites[" → noter multisite
+- **Headless/decoupled** : DEP JSON:API activée (`core/modules/jsonapi/`) + frontend séparé → composer avec l'archetype frontend détecté
+
+## Implications
+- **Hébergement** : shared (rare pour Drupal), VPS, Acquia Cloud, Pantheon, platform.sh, Docker
+- **Base de données** : MySQL/MariaDB/PostgreSQL REQUISE
+- **SEO/GEO** : CRITIQUE
+- **Surface sécurité** : TRÈS GRANDE — cœur + modules contrib + thème custom + permissions complexes
+- **UI/UX** : thème-dependent
+
+## Typical pain points
+- Drupal core obsolète (Drupal 7 EOL, migration vers 10/11 critique)
+- Modules contrib obsolètes → failles sécurité
+- `settings.php` committé avec credentials DB
+- DB_SECRET / hash_salt en dur
+- Pas d'environnement staging / CI
+- Permissions roles/users mal configurées
+- Cache (Redis/Memcache) absent
+- Vues complexes non optimisées (queries multi-joins)
+- Composer.lock obsolète (drupal deps avec vulnérabilités)
+- PHP version obsolète (< 8.1)
+- Entity references sans index → slow queries
+- Pas de CI pour les tests (PHPUnit/Behat ignorés)
+- Configuration management non utilisé (changements DB non versionnés)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Version Drupal ? (7 / 8 / 9 / 10 / 11)
+- Hébergeur actuel ? (shared / VPS / Acquia / Pantheon / autre)
+- Thème : custom ou contrib ?
+- Modules custom importants (nombre + fonctionnalités) ?
+- Architecture : monolithique ou headless (JSON:API / GraphQL) ?
+- Configuration Management utilisé ? (yml exportés dans config/sync)
+- Staging / CI pipeline existant ?
+- Stratégie de backup DB ?
+- Dernier audit sécurité ?
+- Composer workflow (core-recommended vs legacy) ?
+- Drush / Drupal Console utilisé ?
+- Trafic mensuel + dimensionnement serveur ?
+
+## Plugin recommendations
+- **ui-ux-pro-max** : OPTIONAL — ON si thème custom en dev
+- **gstack** : OPTIONAL — audit Lighthouse/Axe sur staging
+- **context7** : OFF — Drupal évolue lentement
+
+## Example project layout
+```
+composer.json
+composer.lock
+web/
+  core/
+  modules/
+    contrib/
+    custom/
+      mon_module/
+        mon_module.info.yml
+        mon_module.module
+  themes/
+    custom/
+      mon_theme/
+        mon_theme.info.yml
+        mon_theme.libraries.yml
+  sites/
+    default/
+      settings.php
+      files/
+config/
+  sync/
+vendor/
+```

+ 132 - 0
lib/project-archetypes/firmware-embedded.md

@@ -0,0 +1,132 @@
+---
+name: firmware-embedded
+category: embedded
+public: false
+database: none
+hosting_hints:
+  - bare-metal
+  - microcontroller-flash
+  - ota-server
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Firmware / Embedded
+
+Projet firmware bas-niveau / microcontrôleur (STM32, ESP32, RP2040, Nordic, AVR). Pas de système d'exploitation complet (bare-metal / RTOS léger type FreeRTOS/Zephyr).
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `platformio.ini` (PlatformIO)
+- FILE: `*.ld` OR `*.lds` OR `linker*.ld` (linker scripts — signature bare-metal)
+- FILE: `CMakeLists.txt` contenant "arm-none-eabi" OR "riscv-none-elf" OR "xtensa-esp32" OR "ESP_PLATFORM" OR "STM32"
+- FILE: `Kconfig` (Zephyr RTOS)
+
+### Medium signals (×2)
+- FILE: `Makefile` avec variables CC / AS / LD / OBJCOPY
+- DIR: `src/` avec fichiers .c / .cpp / .h ET absence de manifests langage haut-niveau (pas de package.json, Cargo.toml, go.mod, pyproject.toml)
+- DIR: `drivers/` OR `hal/` OR `bsp/` OR `mcu/`
+- FILE: `sdkconfig` (ESP-IDF)
+- FILE: `prj.conf` (Zephyr)
+- FILE: `idf_component.yml` (ESP-IDF component)
+
+### Weak signals (×1)
+- FILE: `openocd.cfg` (debug probe config)
+- FILE: `*.cfg` contenant "adapter" OR "interface" OR "transport select"
+- EXT: outputs `.bin`, `.hex`, `.uf2`, `.elf` dans un `build/` ou `.pio/`
+- DEP (platformio): "[env:*]" sections
+
+### Counter-signals (exclusion)
+- FILE: `package.json` AVEC deps JavaScript → app web (pas embedded)
+- FILE: `Cargo.toml` AVEC `[dependencies]` bibliothèques hautes → peut être Rust embedded (créer archetype rust-embedded plus tard)
+- FILE: `.c` files AVEC `pyproject.toml` / `Cargo.toml` contenant pybind/pyo3 → FFI bindings, PAS embedded
+
+## Implications
+- **Cible** : microcontrôleur (STM32/ESP32/RP2040/nRF/AVR/MSP430) / SoC bas-niveau / bare-metal
+- **Base de données** : aucune (stockage = flash interne / EEPROM / SD card brute)
+- **SEO/GEO** : N/A
+- **Surface sécurité** : SPÉCIFIQUE — buffer overflows stack/heap, secure boot, OTA integrity, JTAG exposé, downgrade attacks
+- **UI/UX** : N/A (sauf petits LCD/OLED)
+
+## Typical pain points
+- Buffer overflows : `strcpy`, `strcat`, `sprintf` sans bounds check
+- `malloc` dans ISR / sections critiques (hang potentiel)
+- Pas de watchdog timer activé
+- Optim compiler `-O0` ou `-O3` sans profil (bugs volatile manquent)
+- `volatile` oublié sur MMIO / variables partagées ISR-main
+- Pas de `-Wall -Wextra -Wpedantic` + `-Werror`
+- Linker script maison non audité (sections overlap / alignement incorrect)
+- Stack size insuffisant (crash silencieux par overflow)
+- Secrets / keys en dur dans le binaire (extractibles par dump flash)
+- Secure Boot / signing non activé
+- OTA sans vérification signature → persistant firmware malveillant possible
+- JTAG / SWD non désactivé en prod → extraction firmware / inject code
+- Debug logs activés en release (`printf` via UART exposé)
+- Ressources cycles hardcoded (sleeps en loops `for`) → non portable à autre horloge
+- Pas d'abstraction HAL → couplage MCU-specific partout
+- Timings critiques non mesurés (analyseur logique absent du workflow)
+- Energy profile ignoré (wake-up patterns sous-optimaux, sleep modes inutilisés)
+- Pas de tests unitaires (on-host avec mocks HAL absent)
+- CI sans cross-compilation (`arm-none-eabi-gcc` non disponible)
+- Documentation registres absente (cf datasheet + magic numbers dans le code)
+- Flash wear leveling ignoré (écritures fréquentes sur même secteur)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- MCU / SoC cible : famille (STM32Fxx / ESP32-S3 / RP2040 / nRF52 / autre) ?
+- Toolchain : GNU ARM / ESP-IDF / Zephyr / PlatformIO / Arduino / autre ?
+- Framework / RTOS : bare-metal / FreeRTOS / Zephyr / Mbed / Arduino / ESP-IDF ?
+- HAL / BSP : vendor HAL / CMSIS / libopencm3 / custom ?
+- Langage : C / C++ / Rust embedded / Ada ?
+- Standard C version (C99 / C11 / C17) + flags GCC ?
+- Secure Boot activé ? Signing firmware ?
+- OTA : présent / comment (MQTT / HTTP / custom) / signature vérifiée ?
+- Debug : JTAG / SWD en prod (devrait être désactivé) ?
+- Watchdog actif ? reset sources tracées ?
+- Power budget : ampérage / sleep modes utilisés ?
+- Memory budget : flash size / RAM size / current usage ?
+- Tests : on-host (Unity/CMocka/etc.) / on-target / HIL (hardware-in-loop) ?
+- CI : cross-compile + tests on-host ? lint (cppcheck, clang-tidy) ?
+- MISRA-C / CERT-C conformance ?
+- Product certifications visées (FCC / CE / CE-RED / FIPS / IEC 62443) ?
+- Bootloader : custom / vendor / MCUboot ?
+- Logs prod : UART / RTT / deep-ignored ?
+
+## Plugin recommendations
+- **context7** : OFF — docs MCU (datasheets, ref manuals) PDF, hors scope context7
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout (PlatformIO STM32)
+```
+platformio.ini
+include/
+  config.h
+src/
+  main.c
+  drivers/
+    uart.c
+    i2c.c
+    gpio.c
+  hal/
+    stm32f4xx_it.c
+  rtos/
+    tasks.c
+  app/
+    sensor.c
+    protocol.c
+lib/
+  external/
+test/
+  test_sensor.c
+docs/
+  datasheets/
+```

+ 166 - 0
lib/project-archetypes/game-engine-native.md

@@ -0,0 +1,166 @@
+---
+name: game-engine-native
+category: game
+public: true
+database: optional
+hosting_hints:
+  - steam
+  - itch-io
+  - gog
+  - epic-store
+  - app-stores
+  - console-stores
+audit_stack:
+  - analyze
+  - code-clean
+  - perf
+  - design-review
+  - a11y
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: optional
+  gstack: no
+---
+
+# Game Engine Native (Godot / Unity)
+
+Projet de jeu utilisant un moteur natif : Godot (GDScript / C#) ou Unity (C#). Distribution standalone desktop / mobile / console, parfois web export.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `project.godot` (Godot)
+- DIR: `ProjectSettings/` contenant `*.asset` (Unity)
+- FILE: `Assets/Settings/*.asset` OR `Packages/manifest.json` (Unity)
+- EXT: 5+ fichiers `.gd` (Godot GDScript)
+- EXT: 5+ fichiers `.unity` (Unity scene files)
+
+### Medium signals (×2)
+- DIR: `scenes/` AVEC `.tscn` (Godot)
+- DIR: `Assets/Scripts/` AVEC `.cs` (Unity)
+- DIR: `addons/` (Godot custom plugins)
+- DIR: `Library/` (Unity, gitignored normalement)
+- FILE: `.godot/` directory (Godot cache)
+- DEP: `Packages/manifest.json` contient "com.unity.*"
+
+### Weak signals (×1)
+- DIR: `.gitattributes` avec LFS rules pour assets binaires
+- EXT: `.tres` (Godot resources), `.prefab` (Unity)
+- DIR: `Builds/` OR `exports/` (builds sortie)
+- FILE: `.gdignore` OR `.gitignore` avec patterns Unity/Godot
+
+### Composition overlays
+- **Godot 4 vs 3** : détection sur `config_version=5` (Godot 4) vs `config_version=4` (Godot 3)
+- **Unity URP / HDRP / Built-in** : `Assets/Settings/URP-*.asset` / `HDRenderPipelineAsset.asset`
+- **C# in Godot** : FILE `*.csproj` AVEC Godot references
+
+## Implications
+- **Distribution** : Steam, itch.io, GOG, Epic Store, App Store, Play Store, consoles (avec portage)
+- **Base de données** : OPTIONNELLE — save files locaux, backends externes possibles (Unity Gaming Services, PlayFab, Firebase)
+- **SEO/GEO** : N/A (sauf page produit sur Steam / site du jeu)
+- **Surface sécurité** : MOYENNE — anti-cheat si multiplayer, injection via mods, DLC entitlements
+- **UI/UX** : CRITIQUE — game feel + UI in-game + onboarding + accessibilité
+
+## Typical pain points
+- Assets volumineux (textures, audio, modèles 3D) NON en LFS → repo bloat / clone lent
+- Meta files (.meta Unity) non commités → references cassées en équipe
+- Scene conflicts Unity (YAML non mergeable) sans SmartMerge configuré
+- Pas de CI build (builds manuels depuis l'éditeur, erreurs env-specific)
+- Pas de tests (Unity Test Framework / GUT Godot rarement utilisés)
+- Hardcoded paths (résolution, language, keymaps)
+- Input non rebindable (clavier/manette)
+- Accessibilité catastrophique : pas de color-blind mode, pas de subtitles, pas d'options motion
+- Pas de pause propre (main menu ok, mais in-game pause buggé)
+- Performances non profilées (frame drops sans diagnostic)
+- Memory leaks : particules non freed, signals non disconnect, scenes non queue_free
+- Localisation absente ou hardcodée (pas de `.po` / `.csv` / Unity Localization Package)
+- Save files en clair dans `%APPDATA%` / `~/Library/Application Support` — triche triviale
+- Multiplayer : auth client-side, state non validé server-side
+- Modding non supporté (absence d'API plugins)
+- Pas d'analytics respectueux RGPD (opt-in, anonymisé)
+- Build size non optimisé (toutes textures en 4K, pas de compression format GPU)
+- Pas d'Over-the-air patches (cycles Steam update long)
+- Audio non mixé (master bus saturé, pas de ducking, pas d'accessibilité audio)
+- Shaders custom non cross-platform (Metal vs Vulkan vs DX12 vs OpenGL ES)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Moteur : Godot (3.x / 4.x) / Unity (version LTS / Alpha) / autre ?
+- Langage : GDScript / C# (Godot Mono) / C# Unity ?
+- Pipeline rendu Unity : Built-in / URP / HDRP ?
+- Version control : Git LFS activé ? Unity SmartMerge configuré ? Plastic SCM ?
+- Scène principale + architecture : monolithique / modulaire (additive scenes) ?
+- Type de jeu : 2D / 3D / first-person / third-person / puzzle / MMO / ... ?
+- Solo / coop local / multiplayer online / les deux ?
+- Multiplayer : Mirror / Netcode for GameObjects / Fishnet / Godot High-Level Multiplayer / Photon / autre ?
+- Analytics : Unity Analytics / custom / aucun ?
+- Save system : binaire / JSON / steam cloud / server-side ?
+- Localisation : Unity Localization / Godot tr() / externe ?
+- Input System : Unity Input System / InputManager legacy / Godot InputMap ?
+- Cibles plateformes : PC (Windows/macOS/Linux) / mobile / consoles (PS/Xbox/Switch) ?
+- Distribution : Steam / itch.io / GOG / Epic / App Store / consoles ?
+- Anti-cheat si multiplayer ?
+- Modding prévu ?
+- Accessibilité : color-blind mode / subtitles / motion options / remappable controls / haptic alternatives ?
+- Audio mixing + ducking fait ?
+- CI builds : GitHub Actions / CircleCI / Unity Cloud Build / Jenkins ?
+- Tests : Unity Test Framework / GUT (Godot) / Gherkin ?
+- Profiling : Unity Profiler / Godot Debugger / RenderDoc / autre ?
+- Analytics respecte RGPD ?
+
+## Plugin recommendations
+- **context7** : OFF — docs engines (Godot, Unity) stables, context7 peu utile
+- **ui-ux-pro-max** : OPTIONAL — utile pour UI menus HUD, peu pour gameplay
+- **gstack** : OFF
+
+## Example project layout (Godot 4)
+```
+project.godot
+.gitignore                 (exclude .godot/, export/, *.tmp)
+.gitattributes             (LFS for .png .wav .ogg .glb .tres binaires)
+scenes/
+  main.tscn
+  levels/
+    level_01.tscn
+  ui/
+    main_menu.tscn
+scripts/
+  player.gd
+  enemy.gd
+  systems/
+    save_system.gd
+assets/
+  sprites/
+  audio/
+  fonts/
+addons/
+  dialogue_manager/
+exports/                   (gitignored)
+.godot/                    (cache, gitignored)
+```
+
+## Example project layout (Unity)
+```
+Assets/
+  Scripts/
+    Player/
+    Enemies/
+    Systems/
+      SaveSystem.cs
+  Scenes/
+    MainMenu.unity
+    Level_01.unity
+  Prefabs/
+  Materials/
+  Settings/
+    URP-Renderer.asset
+    InputActions.inputactions
+  Localization/
+ProjectSettings/
+Packages/
+  manifest.json
+  packages-lock.json
+.gitattributes             (LFS for binary assets)
+.gitignore                 (exclude Library/, Temp/, Builds/)
+```

+ 114 - 0
lib/project-archetypes/ghost.md

@@ -0,0 +1,114 @@
+---
+name: ghost
+category: cms
+public: true
+database: required
+hosting_hints:
+  - ghost-pro
+  - vps
+  - docker
+  - digitalocean-marketplace
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Ghost (publishing CMS, Node.js)
+
+CMS de publication Node.js orienté blog / newsletter / membership. Thème Handlebars. Database MySQL (SQLite en dev).
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient "ghost" (au niveau du thème : engines.ghost)
+- FILE: `package.json` contient `"engines": { "ghost": "..." }` (thème)
+- FILE: `config.production.json` OR `config.development.json` (install Ghost)
+- DIR: `content/themes/`
+
+### Medium signals (×2)
+- DIR: `partials/` AVEC `.hbs`
+- FILE: `default.hbs` OR `index.hbs` OR `post.hbs`
+- DIR: `assets/css/` AVEC `source/` (stylesheets SCSS)
+- FILE: `gulpfile.js` OR `rollup.config.js` (build Ghost theme)
+- EXT: 5+ fichiers .hbs
+
+### Weak signals (×1)
+- DIR: `content/images/`
+- DIR: `content/data/` (SQLite dev)
+- FILE: `ghost.service` (systemd)
+- DEP: `@tryghost/content-api` OR `@tryghost/admin-api` (headless usage)
+
+### Composition overlays
+- **Headless Ghost** : usage via Content API avec frontend séparé → traiter comme API producer + frontend archetype
+
+## Implications
+- **Hébergement** : Ghost(Pro) managed, VPS (Ghost-CLI), Docker, DigitalOcean marketplace
+- **Base de données** : MySQL prod REQUISE, SQLite dev
+- **SEO/GEO** : CRITIQUE (blog / content)
+- **Surface sécurité** : MOYENNE — admin panel, API, member auth, Stripe integration
+- **UI/UX** : theme-dependent
+
+## Typical pain points
+- Version Ghost obsolète (cycle release rapide)
+- Thème incompatible avec version Ghost courante (GSCAN warnings)
+- `config.production.json` committé avec DB credentials
+- Mailgun API key en dur (delivery newsletter)
+- Stripe secret key exposée (membership)
+- Pas de backup automatique (content/images + DB)
+- Members non conformes RGPD (pas de double opt-in, pas de unsubscribe)
+- Pas de robots.txt / sitemap custom (Ghost génère mais pas configurable)
+- Perf : images non optimisées, Handlebars non cache
+- Newsletter : HTML email non testé clients (Outlook catastrophique)
+- CDN absent (images/assets servis depuis serveur)
+- Intégrations Zapier / custom webhooks : secrets rotation absente
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Hébergement : Ghost(Pro) / self-hosted VPS / Docker ?
+- Thème : custom (avec source .hbs) ou acheté ?
+- Usage principal : blog / newsletter / membership / combinaison ?
+- Members payants ? (Stripe intégration)
+- Version Ghost actuelle ?
+- Backup strategy (content/images + DB) ?
+- Intégrations : Mailgun / SendGrid / Postmark pour emails ?
+- CDN / image optimization ?
+- Headless / découplé ? (Content API + frontend séparé)
+- i18n prévu (Ghost n'a pas i18n natif) ?
+- GSCAN check passe-t-il ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — Ghost release cycle rapide
+- **ui-ux-pro-max** : ON — theming orienté contenu
+- **gstack** : OPTIONAL — audit Lighthouse sur posts clés
+
+## Example project layout (theme)
+```
+package.json           ("engines": { "ghost": "^5.0.0" })
+default.hbs
+index.hbs
+post.hbs
+page.hbs
+tag.hbs
+author.hbs
+partials/
+  header.hbs
+  footer.hbs
+  post-card.hbs
+assets/
+  css/
+    source/
+      screen.scss
+  js/
+  images/
+gulpfile.js
+```

+ 109 - 0
lib/project-archetypes/library.md

@@ -0,0 +1,109 @@
+---
+name: library
+category: library
+public: false
+database: none
+hosting_hints:
+  - npm-registry
+  - pypi
+  - crates-io
+  - maven-central
+  - nuget
+  - github-packages
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Library / Package
+
+Bibliothèque réutilisable (API publique stable), distribuée via registry. Pas d'entry point CLI, pas de serveur, pas de frontend applicatif.
+
+## Detection signals
+
+### Strong signals (×3)
+- STRING_IN_FILE: `package.json` contient "\"main\":" OR "\"exports\":" SANS "\"bin\":"
+- STRING_IN_FILE: `pyproject.toml` contient "[project]" SANS "[project.scripts]"
+- STRING_IN_FILE: `Cargo.toml` contient "[lib]" SANS "[[bin]]"
+- STRING_IN_FILE: `package.json` contient "\"private\": false" OR absent ET "\"name\":" commence par "@"
+
+### Medium signals (×2)
+- FILE: `src/index.ts` OR `src/lib.rs` OR `src/__init__.py`
+- DIR: `src/` AVEC code uniquement (pas de server.ts, pas de app.py)
+- FILE: `tsconfig.json` AVEC STRING "\"declaration\": true" OR "\"emitDeclarationOnly\""
+- FILE: `rollup.config.*` OR `tsup.config.*` OR `vite.config.*` en mode lib
+
+### Weak signals (×1)
+- FILE: `README.md` AVEC STRING "## API" OR "## Installation"
+- FILE: `CHANGELOG.md`
+- FILE: `LICENSE` OR `LICENSE.md`
+- DIR: `examples/` OR `docs/`
+- FILE: `.npmignore`
+
+### Counter-signals (exclusion)
+- STRING_IN_FILE: `package.json` contient "\"bin\":" → CLI
+- DEP: `express`, `fastapi`, `react`, `next` → app, pas lib
+- FILE: `index.html` → web
+
+## Implications
+- **Distribution** : npm / PyPI / crates.io / Maven / NuGet
+- **Base de données** : aucune
+- **SEO/GEO** : N/A (sauf page de doc dédiée, rare)
+- **Surface sécurité** : INDIRECTE — les failles de la lib se propagent à ses consommateurs
+- **UI/UX** : N/A
+
+## Typical pain points
+- Versioning non semver-strict → breaking changes surprise les consommateurs
+- CHANGELOG absent ou vague
+- Docstrings / JSDoc / rustdoc incomplets
+- Exports publics instables (API leakage depuis internes)
+- Pas de tests de régression / snapshot
+- Couverture tests faible (< 80%)
+- Pas de benchmarks (si performance critique)
+- TypeScript : types trop lâches (`any`), pas d'export de types
+- Rust : `#[non_exhaustive]` manquant sur enums publics
+- Python : pas de `py.typed` marker → typing ignoré par consommateurs
+- Deps transitives avec failles (supply chain)
+- Pas de fichier `SECURITY.md`
+- Pas de CI qui publie automatiquement (releases manuelles)
+- Tests sur une seule version de Node/Python/Rust
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Langage + runtime cible : Node (version min) / Python (version min) / Rust (MSRV) / autre ?
+- Audience : publique (open source) / privée (interne org) / mixte ?
+- Stabilité actuelle : pré-1.0 / stable / LTS ?
+- API : stable / en évolution / expérimentale ?
+- Distribution : npm public / npm privé / PyPI / GitHub Packages / multiple ?
+- Bundler si applicable : tsup / rollup / vite / esbuild ? (ESM + CJS + types ?)
+- Documentation : README / docs site dédié / typedoc / Sphinx / autre ?
+- Tests : coverage cible ? snapshots ? property-based ?
+- CI / CD : auto-publish on tag ? semver auto (changesets / semantic-release) ?
+- Politique de support : combien de versions majeures maintenues en parallèle ?
+- Benchmarks requis ? (oui si lib perf-critique)
+
+## Plugin recommendations
+- **context7** : OFF — lib stable par nature, peu de doc fast-libs
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+package.json          OR   pyproject.toml       OR   Cargo.toml
+src/
+  index.ts            OR   __init__.py          OR   lib.rs
+  core/
+  utils/
+tests/
+docs/
+examples/
+README.md  (API + Installation + Examples)
+CHANGELOG.md
+LICENSE
+```

+ 136 - 0
lib/project-archetypes/mobile-expo.md

@@ -0,0 +1,136 @@
+---
+name: mobile-expo
+category: mobile
+public: true
+database: optional
+hosting_hints:
+  - app-store
+  - play-store
+  - expo-go
+  - eas-build
+audit_stack:
+  - analyze
+  - code-clean
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: yes
+  gstack: no
+---
+
+# Mobile Expo / React Native
+
+Application mobile React Native gérée par Expo (managed workflow) ou bare React Native. Distribution iOS + Android via App Store / Play Store, ou Expo Go en dev.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `app.json` OR `app.config.js` OR `app.config.ts` contenant "expo"
+- DEP: `package.json` contient "expo"
+- FILE: `metro.config.js` OR `metro.config.ts`
+- DEP: "react-native"
+
+### Medium signals (×2)
+- DEP: "expo-router", "@expo/vector-icons", "expo-font"
+- DIR: `app/` (Expo Router file-system routing) avec `.tsx`
+- DIR: `assets/` avec `icon.png`, `splash.png`
+- FILE: `eas.json` (EAS Build)
+- FILE: `babel.config.js` avec preset "babel-preset-expo"
+
+### Weak signals (×1)
+- DIR: `android/`, `ios/` (bare workflow uniquement)
+- DEP: "react-navigation" OR "@react-navigation/native"
+- DEP: "@supabase/supabase-js" OR "firebase" OR "@tanstack/react-query"
+
+### Counter-signals
+- DEP: "next" ET .tsx au root → c'est Next.js (web), pas Expo
+- FILE: `astro.config.*` → Astro
+
+## Implications
+- **Distribution** : App Store (iOS), Play Store (Android), Expo Go (dev), internal distribution (TestFlight/Play Console Internal)
+- **Base de données** : locale (AsyncStorage / SQLite / MMKV / WatermelonDB) + backend (Supabase / Firebase / API custom)
+- **SEO/GEO** : N/A (app native)
+- **Surface sécurité** : GRANDE — AsyncStorage non chiffré par défaut, secrets côté app, deep links exploitables
+- **UI/UX** : CRITIQUE — mobile = exigences spécifiques (gestures, haptics, safe area)
+
+## Typical pain points
+- Secrets / API keys dans `app.json` → exposés dans le bundle
+- AsyncStorage utilisé pour tokens → JWT en clair sur l'appareil
+- Pas d'expo-secure-store ou react-native-keychain pour secrets
+- Permissions iOS/Android demandées mal justifiées (rejet review)
+- Performances : listes longues sans FlatList/FlashList (re-render entier)
+- Images non optimisées / pas de `expo-image` (cache + formats)
+- Pas de splash screen configuré → écran blanc au démarrage
+- Icône app basse résolution
+- Deep links non configurés / configurés sans validation
+- Pas de crash reporting (Sentry / Bugsnag absents)
+- Expo SDK obsolète (upgrade annuel obligatoire)
+- Bare workflow sans CI/CD (builds manuels en local)
+- Tests E2E absents (Detox / Maestro non configurés)
+- i18n absent ou hardcodé
+- Accessibilité : `accessibilityLabel` absent, focus order cassé, contrast insuffisant
+- Dark mode pas supporté (useColorScheme non utilisé)
+- Safe area non respectée (contenu sous notch / home indicator)
+- Gestures conflits (swipe drawer vs swipe back iOS)
+- Over-the-air updates (expo-updates) non utilisées
+- app.json "version" / "buildNumber" non incrémentés
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Workflow : Expo managed / Expo bare / pur React Native ?
+- SDK Expo version ?
+- Navigation : Expo Router / React Navigation / autre ?
+- State : Redux / Zustand / Jotai / Context / React Query seul ?
+- Backend : Supabase / Firebase / API custom / BaaS autre ?
+- Auth : provider + storage (SecureStore / Keychain / AsyncStorage) ?
+- Database locale : AsyncStorage / MMKV / SQLite / WatermelonDB / Realm ?
+- Push notifications : Expo Push / FCM / OneSignal / aucun ?
+- Crash reporting : Sentry / Bugsnag / aucun ?
+- Analytics : Amplitude / Mixpanel / PostHog / Firebase / aucun ?
+- Tests : unit (Jest) + E2E (Detox / Maestro) ?
+- Build + distribution : EAS Build + EAS Submit / Xcode/Gradle manuels / CI custom ?
+- Over-the-air updates activées ?
+- Cible OS : iOS min version / Android min API level ?
+- Dark mode supporté ?
+- i18n : librairie + langues ?
+- Accessibilité : audit VoiceOver / TalkBack effectué ?
+- App Store Review : première soumission faite / rejetée / en cours ?
+
+## Plugin recommendations
+- **context7** : ON — Expo SDK évolue vite (breaking chaque SDK)
+- **ui-ux-pro-max** : ON — mobile UX spécifique
+- **gstack** : OFF (pas de browser QA)
+
+## Example project layout (Expo Router)
+```
+app.json                  OR  app.config.ts
+package.json
+metro.config.js
+babel.config.js
+eas.json
+app/
+  _layout.tsx             (root layout)
+  index.tsx               (home)
+  (tabs)/
+    _layout.tsx
+    home.tsx
+    profile.tsx
+  auth/
+    login.tsx
+components/
+  Button.tsx
+  Card.tsx
+hooks/
+lib/
+  supabase.ts
+assets/
+  icon.png
+  splash.png
+  adaptive-icon.png
+  fonts/
+.env.example
+```

+ 146 - 0
lib/project-archetypes/mobile-flutter.md

@@ -0,0 +1,146 @@
+---
+name: mobile-flutter
+category: mobile
+public: true
+database: optional
+hosting_hints:
+  - app-store
+  - play-store
+  - huawei-appgallery
+  - web-hosting
+  - desktop-distribution
+audit_stack:
+  - analyze
+  - code-clean
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: yes
+  gstack: no
+---
+
+# Mobile Flutter
+
+Application Flutter (Dart) cible iOS + Android + Web + Desktop. Widgets tree, state management variable (Provider / Riverpod / Bloc / GetX).
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `pubspec.yaml`
+- FILE: `pubspec.lock`
+- DIR: `lib/` AVEC fichiers `.dart`
+- FILE: `lib/main.dart`
+
+### Medium signals (×2)
+- DIR: `android/`
+- DIR: `ios/`
+- FILE: `analysis_options.yaml`
+- DIR: `test/` AVEC `.dart`
+- DEP dans pubspec.yaml: "flutter_bloc", "provider", "riverpod", "get"
+
+### Weak signals (×1)
+- DIR: `web/`, `macos/`, `linux/`, `windows/` (multi-plateforme)
+- FILE: `l10n.yaml` (i18n)
+- DIR: `assets/images/`, `assets/fonts/`
+- FILE: `.flutter-plugins`, `.flutter-plugins-dependencies`
+
+### Counter-signals (exclusion)
+- DEP pubspec contient "dart_sdk" uniquement sans "flutter" → projet Dart pur (CLI / server), pas Flutter
+
+## Implications
+- **Distribution** : App Store / Play Store / AppGallery (Huawei) / Web (Flutter Web) / Desktop (macOS/Win/Linux via Flutter desktop)
+- **Base de données** : locale (sqflite / Hive / Isar / Drift) + backend (Firebase / Supabase / API custom)
+- **SEO/GEO** : PARTIEL si Flutter Web — Flutter Web rend en canvas/HTML, SEO limité même en HTML renderer
+- **Surface sécurité** : GRANDE — shared_preferences non chiffré, secrets dans bundle, deep links
+- **UI/UX** : CRITIQUE — design system Material/Cupertino + custom
+
+## Typical pain points
+- Secrets / API keys dans `pubspec.yaml` ou `lib/config.dart` committés
+- `shared_preferences` pour tokens → pas chiffré (doit être `flutter_secure_storage`)
+- State management non cohérent (mélange setState + Provider + Bloc dans même app)
+- Rebuild excessif (pas de `const` widgets, pas de `Selector`, pas de keys)
+- Performances listes : pas de `ListView.builder` (rend tout d'un coup)
+- Images non optimisées (pas de `cached_network_image`, pas de compression)
+- Pas de splash screen natif (flash blanc au démarrage)
+- Permissions iOS/Android demandées sans justification → reject App Store
+- Pas de crash reporting (Sentry / Firebase Crashlytics absents)
+- Deep links non configurés / uni_links / go_router mal configurés
+- Pas de tests unitaires / widget tests
+- Pas de tests E2E (integration_test / Patrol / Maestro)
+- Flutter SDK obsolète (cycle release rapide)
+- `flutter pub outdated` ignoré → deps avec failles
+- Accessibilité : `Semantics` widget pas utilisé, focus order incorrect
+- Dark mode : `ThemeMode.system` pas supporté ou mal
+- i18n : strings hardcodées au lieu de `.arb` files
+- Platform channels pas testés (plugins natifs)
+- Code generation (build_runner) pas dans CI → fichiers générés commités
+- App bundle size énorme (pas de `--split-per-abi` Android, pas de tree shaking)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- State management : Provider / Riverpod / Bloc / GetX / Cubit / vanilla ?
+- Flutter SDK / Dart version ?
+- Targets : iOS / Android / Web / macOS / Windows / Linux ?
+- Navigation : Navigator 1.0 / go_router / auto_route / beamer ?
+- Backend : Firebase / Supabase / API custom / GraphQL ?
+- Auth : provider + storage (flutter_secure_storage obligatoire pour tokens) ?
+- Database locale : sqflite / Hive / Isar / Drift / SharedPreferences ?
+- Push notifications : FCM / OneSignal / Notifee / aucun ?
+- Crash reporting : Firebase Crashlytics / Sentry / aucun ?
+- Analytics : Firebase / Amplitude / PostHog / aucun ?
+- Tests : unit / widget / integration / Patrol ?
+- CI/CD : Codemagic / Bitrise / GitHub Actions / Fastlane / aucun ?
+- Code generation : build_runner / freezed / json_serializable / riverpod_generator ?
+- i18n : `flutter_localizations` + .arb ?
+- Design system : Material 3 / Cupertino / custom tokens ?
+- Dark mode supporté ?
+- Accessibilité : Semantics widgets + testé VoiceOver / TalkBack ?
+- App bundle size cible ?
+- App Store Review : première soumission / rejet déjà eu / actif ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON pour Flutter 3.x récent (Impeller, Material 3, Riverpod 2+)
+- **ui-ux-pro-max** : ON
+- **gstack** : OFF
+
+## Example project layout
+```
+pubspec.yaml
+pubspec.lock
+analysis_options.yaml
+lib/
+  main.dart
+  app.dart
+  core/
+    theme.dart
+    constants.dart
+  features/
+    auth/
+      data/
+      domain/
+      presentation/
+    home/
+      data/
+      domain/
+      presentation/
+  shared/
+    widgets/
+    services/
+test/
+  widget_test.dart
+  features/
+    auth_test.dart
+integration_test/
+  app_test.dart
+assets/
+  images/
+  fonts/
+android/
+ios/
+web/
+l10n.yaml
+```

+ 109 - 0
lib/project-archetypes/nextjs-app-router.md

@@ -0,0 +1,109 @@
+---
+name: nextjs-app-router
+category: framework
+public: true
+database: optional
+hosting_hints:
+  - vercel
+  - netlify
+  - cloudflare-pages
+  - docker
+  - k8s
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Next.js (App Router)
+
+Framework React SSR/SSG/ISR. App Router (`app/` dir) est la convention moderne depuis Next 13+.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `next.config.js`
+- FILE: `next.config.mjs`
+- FILE: `next.config.ts`
+- DEP: `package.json` contient "next"
+- DIR: `app/` AVEC FILE `app/layout.tsx` OR `app/layout.jsx` OR `app/layout.js`
+
+### Medium signals (×2)
+- FILE: `app/page.tsx` OR `app/page.jsx` OR `app/page.js`
+- DIR: `app/api/` (route handlers)
+- FILE: `middleware.ts` OR `middleware.js`
+- FILE: `.env.local`
+
+### Weak signals (×1)
+- DIR: `public/` (assets statiques)
+- EXT: 5+ fichiers .tsx
+- DEP: `tailwindcss` (stack fréquente)
+- DEP: `@vercel/*`
+
+### Counter-signals (exclusion)
+- DIR: `pages/` AU PREMIER NIVEAU SANS DIR `app/` → c'est Pages Router (archétype à part, à créer plus tard)
+
+### Composition overlays
+- ORM détecté : DEP `prisma`, `drizzle-orm`, `@supabase/supabase-js`, `mongoose` → ajouter questions DB
+- Auth détectée : DEP `next-auth`, `@clerk/nextjs`, `@auth0/nextjs-auth0` → ajouter questions auth
+
+## Implications
+- **Hébergement** : Vercel (first-class), Netlify, Cloudflare Pages, Docker (standalone output)
+- **Base de données** : OPTIONNELLE — souvent présente via Prisma/Drizzle/Supabase
+- **SEO/GEO** : CRITIQUE (App Router permet SSR/SSG parfaitement indexable si bien configuré)
+- **Surface sécurité** : MOYENNE-GRANDE (middleware, API routes, auth)
+- **UI/UX** : CRITIQUE
+
+## Typical pain points
+- Mix "use client" / Server Components mal maîtrisé (fuite d'état, hydratation)
+- `revalidate` / cache ISR mal configuré (contenu obsolète ou trop de builds)
+- Metadata API (`generateMetadata`) absente → pas de SEO dynamique
+- Pas de `robots.txt` / `sitemap.ts` (SEO)
+- Images non optimisées (`next/image` pas utilisé)
+- Bundle JS trop gros (analyser avec `@next/bundle-analyzer`)
+- `.env` committé / secrets exposés côté client (NEXT_PUBLIC_*)
+- Pas de rate limiting sur route handlers
+- Middleware lourd (latence sur chaque requête)
+- API routes sans validation input (Zod/Yup absent)
+- Pas de loading.tsx / error.tsx / not-found.tsx
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Rendu cible : SSR / SSG / ISR / mix ? Stratégie par route ?
+- ORM / DB : Prisma / Drizzle / Supabase / autre / aucun ?
+- Auth : NextAuth / Clerk / Auth0 / custom / aucun ?
+- Déploiement : Vercel / selfhost Docker / Cloudflare / autre ?
+- Testing : Playwright / Vitest / Jest / aucun ?
+- i18n prévu ? (oui + quelles langues / non)
+- CMS headless couplé ? (Sanity / Strapi / Contentful / aucun)
+- Trafic cible et budget perf (TTI, LCP) ?
+
+## Plugin recommendations
+- **context7** : ON — Next.js évolue vite (App Router changes fréquents)
+- **ui-ux-pro-max** : ON
+- **gstack** : OPTIONAL — ON pour QA navigateur (Lighthouse, Axe, E2E)
+
+## Example project layout
+```
+next.config.ts
+middleware.ts
+app/
+  layout.tsx
+  page.tsx
+  globals.css
+  (marketing)/
+    about/page.tsx
+  api/
+    hello/route.ts
+public/
+  favicon.ico
+```

+ 126 - 0
lib/project-archetypes/react-spa.md

@@ -0,0 +1,126 @@
+---
+name: react-spa
+category: framework
+public: false
+database: optional
+hosting_hints:
+  - netlify
+  - cloudflare-pages
+  - vercel
+  - s3-cloudfront
+  - docker
+audit_stack:
+  - analyze
+  - code-clean
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# React SPA (admin / dashboard / internal)
+
+Application React pure côté client (CRA legacy / Vite / Webpack custom). PAS indexée — si public avec besoin SEO, utiliser Astro ou Next.js.
+
+## ⚠️  Avertissement SEO (à afficher si projet public-facing)
+
+**Une React SPA n'est pas indexable par les moteurs de recherche classiques (Google/Bing) ni par les moteurs IA (ChatGPT/Perplexity/Claude).**
+
+Raison : le HTML servi est une coquille vide (`<div id="root"></div>`). Le contenu n'apparaît qu'APRÈS exécution JavaScript côté navigateur. Les crawlers :
+- Google peut *parfois* rendre le JS, mais lentement et partiellement (pas d'indexation fiable)
+- Bing : rendu JS limité
+- ChatGPT/Perplexity/Claude/Gemini crawlers : **ne rendent pas de JS du tout** → ils voient une page vide → contenu invisible
+
+**Si ce projet est public (site vitrine, blog, landing, e-commerce, docs) :**
+- Migration recommandée : **Astro** (statique, SEO parfait, React islands possibles) ou **Next.js App Router** (SSR/SSG, SEO parfait)
+- Coût migration : moyen (logique métier réutilisable, routing à reprendre)
+- Alternative temporaire : pré-rendu (react-snap, rendertron) — fragile, déconseillé en 2026
+
+**Si ce projet est interne (admin panel, dashboard, outil métier auth-gated) :**
+- Aucun souci, le SEO n'est pas nécessaire
+- React SPA est un choix valide dans ce cas
+
+→ L'orchestrateur `/onboard` DOIT poser la question "public / interne" et afficher ce bloc si réponse = public.
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient "react" ET "react-dom"
+- FILE: `vite.config.ts` OR `vite.config.js`
+- FILE: `webpack.config.js` (custom bundler)
+- DEP: `react-scripts` (CRA legacy)
+
+### Medium signals (×2)
+- FILE: `index.html` AVEC STRING "<div id=\"root\">"
+- FILE: `src/main.tsx` OR `src/main.jsx` OR `src/index.tsx` OR `src/index.jsx`
+- FILE: `src/App.tsx` OR `src/App.jsx`
+- DEP: `react-router-dom` OR `@tanstack/react-router`
+
+### Weak signals (×1)
+- DIR: `src/components/`
+- DIR: `src/pages/` OR `src/routes/`
+- DEP: `tailwindcss`, `@mui/material`, `antd`, `chakra-ui`
+- DEP: `redux`, `zustand`, `jotai`, `@tanstack/react-query`
+
+### Counter-signals (exclusion)
+- DEP: `next` → c'est Next.js (archétype nextjs-app-router)
+- DEP: `astro` → c'est Astro
+- FILE: `remix.config.js` → Remix (archétype à créer)
+- FILE: `react-native.config.js` → mobile (archétype mobile-react-native)
+
+## Implications
+- **Hébergement** : Netlify / Cloudflare Pages / Vercel (SPA mode) / S3+CloudFront / Docker statique
+- **Base de données** : OPTIONNELLE — souvent consommée via API séparée
+- **SEO/GEO** : NON (rendu client-only) — si SEO critique, c'est un mauvais choix, flag à soulever
+- **Surface sécurité** : MOYENNE (état côté client, auth token storage)
+- **UI/UX** : CRITIQUE
+
+## Typical pain points
+- Bundle JS énorme (absence de code-splitting par route)
+- Token JWT stocké dans localStorage (XSS → vol)
+- Pas de CSP
+- Pas de tests E2E (Playwright / Cypress absent)
+- State management mal dimensionné (Redux pour 3 états simples, ou au contraire `useState` partout dans une app grosse)
+- Suspense / Error Boundary non utilisés
+- A11y : focus management, ARIA roles manquants
+- Pas de skeleton / optimistic UI
+- Fetch sans cache (pas de `@tanstack/react-query` ou SWR)
+- "Public website" en SPA → SEO mort (signal d'alerte majeur à remonter en audit)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- **Usage : admin panel / dashboard interne / outil métier / webapp publique / autre ?**
+  - **Si "publique" → afficher en PREMIER le bloc d'avertissement SEO ci-dessus**
+  - **Puis demander : "Sachant ça, confirmez-vous que vous voulez rester en SPA, ou préférez-vous explorer une migration Astro/Next.js ?"**
+  - La réponse alimente la synthèse `ONBOARD_REPORT.md` (STEP 7) en proposition d'amélioration P0 si stay=SPA+public.
+- Backend : API séparée (URL) / BaaS (Supabase/Firebase) / aucune ?
+- Auth : quel provider ? stockage token ?
+- Routing : react-router / TanStack Router / autre ?
+- State : Redux / Zustand / Jotai / context / React Query seul ?
+- Tests E2E : Playwright / Cypress / aucun ?
+- Bundle size cible ?
+- Bundler actuel : Vite / Webpack / CRA (à migrer ?) ?
+
+## Plugin recommendations
+- **context7** : ON — React 18+/19, TanStack, etc. évoluent vite
+- **ui-ux-pro-max** : ON
+- **gstack** : OPTIONAL — pour E2E / Lighthouse
+
+## Example project layout
+```
+index.html
+vite.config.ts
+src/
+  main.tsx
+  App.tsx
+  routes/
+  components/
+  hooks/
+  lib/
+public/
+```

+ 106 - 0
lib/project-archetypes/rest-api-node.md

@@ -0,0 +1,106 @@
+---
+name: rest-api-node
+category: api
+public: false
+database: optional
+hosting_hints:
+  - vps
+  - docker
+  - k8s
+  - render
+  - railway
+  - fly
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - perf
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# REST API (Node.js)
+
+API backend Node.js pure (Express / Fastify / Koa / Hapi / NestJS), sans frontend inclus.
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient l'un de : "express", "fastify", "koa", "@hapi/hapi", "@nestjs/core"
+- FILE: `src/app.ts` OR `src/server.ts` OR `src/main.ts` AVEC STRING "listen(" OR "createServer"
+
+### Medium signals (×2)
+- FILE: `src/routes/` OR `src/controllers/` OR `src/handlers/`
+- DEP: ORM — `prisma`, `typeorm`, `sequelize`, `drizzle-orm`, `mongoose`, `knex`
+- DEP: Validation — `zod`, `joi`, `yup`, `class-validator`
+
+### Weak signals (×1)
+- DEP: `jsonwebtoken`, `passport`, `bcrypt`, `argon2`
+- DEP: `pino`, `winston`, `morgan` (logging)
+- FILE: `Dockerfile`
+- DIR: `tests/` OR `src/__tests__/`
+
+### Counter-signals (exclusion)
+- DEP: `react`, `next`, `astro`, `vue` → frontend présent, c'est un fullstack (archetype à créer plus tard) ou SPA+API séparé (monorepo)
+- DEP: `react-native` → mobile
+
+## Implications
+- **Hébergement** : VPS, Docker (Render, Railway, Fly.io), K8s, AWS ECS/Lambda
+- **Base de données** : FORTEMENT PROBABLE — la plupart des API backend ont une DB
+- **SEO/GEO** : N/A (API non indexée)
+- **Surface sécurité** : GRANDE — point d'entrée principal pour attaques (injections, auth, rate limit)
+- **UI/UX** : N/A
+
+## Typical pain points
+- Pas de versioning API (/api/v1/) — flag CLAUDE.md : "Web APIs always versioned"
+- Validation input absente (pas de Zod/Joi/class-validator)
+- SQL injections (string concat dans queries brutes)
+- Auth faible (pas de hash password, ou MD5/SHA1)
+- JWT secret en dur / faible / court
+- CORS `*` en production
+- Pas de rate limiting (`express-rate-limit`, `@fastify/rate-limit`)
+- Pas de helmet / CSP
+- Secrets dans le repo (.env committé)
+- Logs qui fuient PII / tokens
+- Pas de health check (`/healthz`) pour load balancer
+- Pas d'observability (Sentry / OTel)
+- Pas de tests (intégration absente)
+- Deps obsolètes (npm audit non exécuté)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Framework : Express / Fastify / NestJS / Koa / Hapi ?
+- Base de données : PostgreSQL / MySQL / MongoDB / SQLite / autre / aucune ?
+- ORM : Prisma / Drizzle / TypeORM / Sequelize / Mongoose / raw SQL ?
+- Auth : JWT / OAuth / session / API key / aucun ?
+- Consommateurs : frontend propre / mobile / tierce partie / interne ?
+- Rate limiting en place ? (oui + comment / non)
+- Observability : Sentry / OpenTelemetry / logs seulement / aucun ?
+- Tests : unitaires + intégration ? couverture cible ?
+- Déploiement : VPS / Docker / Lambda / autre ?
+- Documentation API : OpenAPI/Swagger / Postman / aucune ?
+
+## Plugin recommendations
+- **context7** : ON — Prisma/Drizzle/Fastify évoluent vite
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF (API non navigable)
+
+## Example project layout
+```
+src/
+  app.ts
+  server.ts
+  routes/
+    v1/
+      users.ts
+      orders.ts
+  controllers/
+  services/
+  middlewares/
+  schemas/   (Zod / Joi)
+tests/
+Dockerfile
+```

+ 114 - 0
lib/project-archetypes/rest-api-python.md

@@ -0,0 +1,114 @@
+---
+name: rest-api-python
+category: api
+public: false
+database: optional
+hosting_hints:
+  - vps
+  - docker
+  - k8s
+  - render
+  - railway
+  - fly
+  - heroku
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - perf
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# REST API (Python)
+
+API backend Python (FastAPI / Flask / Django REST / Starlette / Litestar), sans frontend inclus.
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `pyproject.toml` OR `requirements.txt` OR `Pipfile` OR `setup.py`
+- DEP: l'un de : "fastapi", "flask", "django", "djangorestframework", "starlette", "litestar"
+- STRING_IN_FILE: tout .py du projet contient "FastAPI(" OR "Flask(__name__)" OR "app = Starlette(" OR "from django"
+
+### Medium signals (×2)
+- FILE: `src/main.py` OR `app/main.py` OR `app.py` OR `manage.py`
+- DEP: ORM — "sqlalchemy", "tortoise-orm", "peewee", "django" (Django ORM), "pydantic"
+- DEP: Validation — "pydantic" (implicite avec FastAPI), "marshmallow"
+
+### Weak signals (×1)
+- DEP: "uvicorn", "gunicorn", "hypercorn"
+- DEP: "alembic" (migrations)
+- DEP: "python-jose", "passlib", "bcrypt"
+- FILE: `Dockerfile`
+- DIR: `tests/`
+- FILE: `alembic.ini`
+
+### Counter-signals (exclusion)
+- DEP: "streamlit", "gradio", "dash" → data app UI (archétype à créer)
+- DEP: "jupyter" comme main focus → notebook project
+
+## Implications
+- **Hébergement** : VPS, Docker (Render, Railway, Fly), K8s, AWS Lambda, Heroku
+- **Base de données** : FORTEMENT PROBABLE — PostgreSQL dominant
+- **SEO/GEO** : N/A
+- **Surface sécurité** : GRANDE — mêmes risques que Node, plus Django admin exposé si mal config
+- **UI/UX** : N/A (sauf Django admin, rarement customisé)
+
+## Typical pain points
+- Pas de versioning API (/api/v1/)
+- Pydantic mal utilisé (types trop permissifs, `Any` partout)
+- SQLAlchemy : N+1 queries (pas de `selectinload`/`joinedload`)
+- Django : `SECRET_KEY` committé, DEBUG=True en prod
+- Secrets dans le repo
+- Requirements non pinned (`fastapi` sans version) → builds instables
+- CORS `*` en production
+- Pas de rate limiting
+- Tests : pytest fixtures non isolées (DB pollution entre tests)
+- Alembic migrations conflictuelles (branches non résolues)
+- Async mal maîtrisé (bloque event loop avec `requests` sync en FastAPI)
+- Dependencies audit absent (`pip-audit` non exécuté)
+- Couverture de types mypy / pyright absente
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Framework : FastAPI / Flask / Django REST / Starlette / Litestar ?
+- Mode : sync / async ?
+- Base de données : PostgreSQL / MySQL / SQLite / MongoDB / autre / aucune ?
+- ORM : SQLAlchemy / Django ORM / Tortoise / Peewee / raw SQL ?
+- Migrations : Alembic / Django migrate / autre / aucune ?
+- Auth : JWT / OAuth / session / API key / aucun ?
+- Validation : Pydantic (v1 ou v2 ?) / Marshmallow / autre ?
+- Typing : mypy / pyright / aucun ?
+- Tests : pytest + fixtures ? couverture cible ?
+- Linting / formatter : Ruff / Black / Flake8 / Mypy ?
+- Déploiement : VPS / Docker / Lambda / Heroku / autre ?
+- Package manager : pip / poetry / pdm / uv / Pipenv ?
+- Documentation : OpenAPI auto (FastAPI) / Swagger manuel / aucune ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON pour FastAPI récent, Pydantic v2, SQLAlchemy 2.0
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+pyproject.toml
+src/
+  main.py
+  api/
+    v1/
+      users.py
+      orders.py
+  models/
+  schemas/
+  services/
+  db/
+alembic/
+  versions/
+tests/
+Dockerfile
+```

+ 109 - 0
lib/project-archetypes/shopify.md

@@ -0,0 +1,109 @@
+---
+name: shopify
+category: cms
+public: true
+database: managed
+hosting_hints:
+  - shopify-managed
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - a11y
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Shopify (theme / custom app)
+
+Thème Shopify custom (Liquid + JSON templates) ou custom app. DB gérée par Shopify. Déploiement via Shopify CLI. Hébergement Shopify-exclusive.
+
+## Detection signals
+
+### Strong signals (×3)
+- DIR: `sections/` AVEC `.liquid` files
+- DIR: `templates/` AVEC `.liquid` OR `.json`
+- FILE: `config/settings_schema.json`
+- DEP: `package.json` contient "@shopify/cli" OR "@shopify/cli-hydrogen" OR "@shopify/theme"
+
+### Medium signals (×2)
+- DIR: `snippets/` AVEC `.liquid`
+- DIR: `layout/` AVEC `theme.liquid`
+- DIR: `locales/` AVEC `.json` (i18n Shopify)
+- FILE: `.shopifyignore`
+- FILE: `config/settings_data.json`
+
+### Weak signals (×1)
+- DIR: `assets/` avec theme assets
+- FILE: `package.json` avec scripts "shopify theme dev"
+- EXT: 10+ fichiers .liquid
+
+### Composition overlays
+- **Hydrogen** (headless Shopify + Remix) : DEP `@shopify/hydrogen` → archetype devient hybride (traiter comme Remix/React + Shopify API)
+
+## Implications
+- **Hébergement** : Shopify managed (aucun serveur à gérer)
+- **Base de données** : gérée par Shopify (produits, clients, commandes)
+- **SEO/GEO** : CRITIQUE (e-commerce)
+- **Surface sécurité** : MOYENNE — Shopify sécurise l'infra ; côté thème = XSS possible via Liquid mal échappé, secrets dans config
+- **UI/UX** : CRITIQUE (conversion)
+
+## Typical pain points
+- Liquid non échappé (`{{ product.description }}` sans `| escape` → XSS si contenu user)
+- Images produits non optimisées (pas de responsive srcset)
+- JS tiers accumulés (reviews, chat, upsell, tracker) → perf morte
+- Sections `<script>` inline sans defer
+- Core Web Vitals mauvais (LCP > 4s typique)
+- Pas de JSON-LD Product schema
+- Meta tags produits générés auto mal personnalisés
+- Langues multiples : `locales/` incomplet
+- Theme check warnings ignorés (`shopify theme check`)
+- Pas de version control sur `settings_data.json` (conflits entre dev et prod)
+- Accessibilité : cart drawers sans focus trap, modals sans ARIA
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Thème : custom (OS 2.0 avec sections JSON) ou thème acheté ?
+- Hydrogen (headless) ou thème classique ?
+- Plan Shopify : Basic / Standard / Advanced / Plus ?
+- Multi-langue / multi-devise ? (Shopify Markets)
+- Apps installées critiques (nombre + top 5) ?
+- Custom code actuel : ampleur (juste tweaks, ou theme from scratch) ?
+- Volume commandes mensuel (dimensionnement) ?
+- Intégrations : ERP / CRM / fulfillment ?
+- Checkout customization (Plus only) ?
+- Theme check passe-t-il sans erreur ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — Hydrogen/Remix évolue vite
+- **ui-ux-pro-max** : ON — e-commerce UX = conversion
+- **gstack** : OPTIONAL — pour audit Lighthouse live sur le store
+
+## Example project layout
+```
+config/
+  settings_schema.json
+  settings_data.json
+sections/
+  header.liquid
+  product-form.liquid
+templates/
+  index.json
+  product.json
+snippets/
+  price.liquid
+layout/
+  theme.liquid
+assets/
+  theme.css
+  theme.js
+locales/
+  en.default.json
+  fr.json
+.shopifyignore
+```

+ 105 - 0
lib/project-archetypes/static-html.md

@@ -0,0 +1,105 @@
+---
+name: static-html
+category: static
+public: true
+database: none
+hosting_hints:
+  - shared
+  - netlify
+  - cloudflare-pages
+  - github-pages
+  - vercel
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - a11y
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# Static HTML Site
+
+Site statique pur — HTML/CSS/JS écrits à la main, sans framework, sans build step (ou build minimal type `sass`).
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `index.html`
+- STRING_IN_FILE: `index.html` contient "<!DOCTYPE html>"
+
+### Medium signals (×2)
+- DIR: `css/` OR `styles/`
+- DIR: `js/` OR `scripts/`
+- DIR: `img/` OR `images/` OR `assets/`
+- EXT: 3 fichiers .html (multi-pages)
+
+### Weak signals (×1)
+- FILE: `.htaccess` (hébergement Apache classique)
+- FILE: `CNAME` (GitHub Pages)
+- FILE: `netlify.toml` OR `_redirects`
+- FILE: `robots.txt`
+- FILE: `sitemap.xml`
+
+### Counter-signals (exclusion, si matchés → rejette)
+- FILE: `package.json` AVEC DEP react/vue/svelte/astro/next
+- FILE: `wp-config.php` → c'est WordPress
+- DIR: `node_modules/` (suggère framework)
+
+## Implications
+- **Hébergement** : shared hosting classique, GitHub Pages, Netlify, Cloudflare Pages
+- **Base de données** : aucune (formulaires via services tiers : Formspree, Netlify Forms)
+- **SEO/GEO** : CRITIQUE — souvent le seul canal d'acquisition
+- **Surface sécurité** : petite (si pas de formulaires/PHP) / moyenne (avec contact form ou CMS caché)
+- **UI/UX** : critique — c'est toute l'expérience
+
+## Typical pain points
+- Meta tags manquants/incomplets (description, OG, Twitter Card)
+- Pas de schema.org / JSON-LD
+- Images non optimisées (pas de WebP/AVIF, pas de lazy loading, pas de srcset)
+- Vidéos non optimisées : auto-play bloquant LCP, pas de poster image, codec unique (pas de fallback), pas de preload="metadata"
+- Embeds tiers (Calendly, YouTube, Typeform, Mapbox iframe) → CLS + TBT + cookies RGPD + invisibles aux crawlers
+- CSS/JS non minifiés
+- Pas de robots.txt ou sitemap
+- Pas de favicon/manifeste PWA
+- Liens cassés internes (pas de vérification automatique)
+- Accessibilité : alt manquants, contraste insuffisant, pas de landmarks
+- Pas de Core Web Vitals monitoring
+- Pas de gestion 404/redirections
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Hébergement actuel / cible ? (shared / Netlify / Cloudflare / GitHub Pages / autre)
+- Nom de domaine configuré ? (oui + lequel / pas encore)
+- Multi-langue prévu ? (oui + langues / non) `[if: public=true]`
+- Formulaire de contact / newsletter ? (oui + via quel service / non)
+- Analytics ? (Plausible / GA4 / aucun / autre)
+- Widgets / embeds tiers ? (Calendly, YouTube, Typeform, Mapbox, etc. — impacte perf + RGPD)
+- Vidéos intégrées ? (hébergement : local / YouTube / Vimeo / Cloudflare Stream — poids, poster, codecs)
+- Contraintes légales France : cookies, mentions légales, RGAA a11y ? (liste)
+- Déjà un compte Google Search Console / Bing Webmaster ? (oui / non)
+
+## Plugin recommendations
+- **ui-ux-pro-max** : ON — l'UI/UX est 100% du produit
+- **gstack** : OPTIONAL — utile pour audit Lighthouse/Axe si site déployé
+- **context7** : OFF — pas de fast-libs
+
+## Example project layout
+```
+index.html
+about.html
+contact.html
+css/
+  style.css
+js/
+  main.js
+img/
+  logo.svg
+robots.txt
+sitemap.xml
+```

+ 120 - 0
lib/project-archetypes/strapi.md

@@ -0,0 +1,120 @@
+---
+name: strapi
+category: cms
+public: false
+database: required
+hosting_hints:
+  - vps
+  - docker
+  - render
+  - railway
+  - strapi-cloud
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - perf
+  - doc
+plugins:
+  context7: yes
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Strapi (headless CMS, Node.js)
+
+CMS headless Node.js, API REST + GraphQL. Admin panel React intégré. Consomé par frontend séparé (Next/Nuxt/Astro/React/etc.).
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient "@strapi/strapi" OR "strapi"
+- FILE: `config/server.js` OR `config/server.ts`
+- FILE: `config/admin.js` OR `config/admin.ts`
+- FILE: `config/database.js` OR `config/database.ts`
+
+### Medium signals (×2)
+- DIR: `src/api/`
+- DIR: `src/components/`
+- DIR: `config/env/`
+- FILE: `.strapi-updater.json`
+- DEP: `@strapi/plugin-*`
+
+### Weak signals (×1)
+- DIR: `public/uploads/`
+- FILE: `database/migrations/`
+- FILE: `favicon.png` (admin panel favicon)
+- DEP: "sqlite3" OR "pg" OR "mysql2" (DB adapter)
+
+## Implications
+- **Hébergement** : VPS, Docker (Render, Railway, Fly), Strapi Cloud
+- **Base de données** : REQUISE — SQLite (dev), PostgreSQL/MySQL (prod)
+- **SEO/GEO** : N/A (admin panel non indexé) — mais le frontend qui consomme peut être public
+- **Surface sécurité** : GRANDE — API publique, permissions par type de contenu, tokens API
+- **UI/UX** : admin panel built-in (rarement customisé)
+
+## Typical pain points
+- Permissions roles & users mal configurées (Public peut lire/écrire par défaut)
+- API tokens permanents (non expirants) en dur dans frontend
+- JWT_SECRET en dur ou faible
+- ADMIN_JWT_SECRET non rotaté
+- SQLite en production (verrouillage, pas scalable)
+- `uploads/` non délégué à CDN/S3 → storage serveur plein
+- Content types modifiés en prod sans migration (données perdues)
+- Plugins marketplace obsolètes
+- Pas de CI (schema.json versionné mais pas de tests API)
+- Strapi v3 → v4 migration non effectuée (v3 EOL)
+- Webhook secrets en dur
+- CORS config mal restrictive
+- Rate limiting absent (DDOS admin trivial)
+- `config/database.js` committé avec credentials
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Version Strapi ? (v3 / v4 / v5)
+- Base de données prod : PostgreSQL / MySQL / SQLite (warn si SQLite) ?
+- Plugins marketplace utilisés ? (top 5)
+- API consommateurs : frontend(s) propre(s) ? tierces parties ?
+- Tokens API : permanents ou revocables ?
+- Content-types count et profondeur (nested components) ?
+- Uploads : local / S3 / Cloudinary / autre ?
+- Déploiement : VPS / Docker / Strapi Cloud ?
+- Webhooks configurés ? (revalidate frontend après changement content)
+- GraphQL activé ?
+- Rate limiting + CORS correctement configurés ?
+- Environnement staging ?
+
+## Plugin recommendations
+- **context7** : ON — Strapi évolue (v4 → v5 breaking changes fréquents)
+- **ui-ux-pro-max** : OFF (admin panel built-in, rarement customisé)
+- **gstack** : OFF
+
+## Example project layout
+```
+package.json
+config/
+  server.ts
+  admin.ts
+  database.ts
+  plugins.ts
+  env/
+    production/
+      database.ts
+src/
+  api/
+    article/
+      controllers/
+      routes/
+      services/
+      content-types/
+        article/
+          schema.json
+  components/
+    seo/
+      metadata.json
+  extensions/
+public/
+  uploads/
+database/
+  migrations/
+```

+ 123 - 0
lib/project-archetypes/terraform-infra.md

@@ -0,0 +1,123 @@
+---
+name: terraform-infra
+category: meta
+public: false
+database: none
+hosting_hints:
+  - aws
+  - gcp
+  - azure
+  - digitalocean
+  - cloudflare
+  - hetzner
+audit_stack:
+  - analyze
+  - code-clean
+  - cso
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: no
+  gstack: no
+---
+
+# Terraform Infrastructure-as-Code
+
+Projet Terraform/OpenTofu définissant une infrastructure cloud. Pas de code applicatif — que des ressources cloud.
+
+## Detection signals
+
+### Strong signals (×3)
+- EXT: 2+ fichiers `.tf` à la racine OU dans `modules/`
+- FILE: `main.tf`
+- FILE: `terraform.tfvars` OR `*.auto.tfvars` (attention: doit être gitignored)
+- FILE: `.terraform.lock.hcl`
+
+### Medium signals (×2)
+- FILE: `variables.tf`
+- FILE: `outputs.tf`
+- FILE: `backend.tf` OR `versions.tf` OR `providers.tf`
+- DIR: `modules/` contenant sous-modules `.tf`
+- FILE: `terragrunt.hcl`
+
+### Weak signals (×1)
+- DIR: `.terraform/` (gitignored normalement)
+- FILE: `.tflint.hcl`
+- FILE: `.tfsec.yaml` OR `.checkov.yaml`
+- DIR: `environments/` (dev/staging/prod en workspaces)
+
+### Composition overlays
+- **Terragrunt** : `terragrunt.hcl` présent → multi-env DRY
+- **OpenTofu** : `opentofu.lock.hcl` OR `tofu.tf` → fork open-source, même archétype
+
+## Implications
+- **Cloud provider** : variable (AWS/GCP/Azure/DO/Cloudflare/Hetzner/mix)
+- **Base de données** : N/A (mais peut provisionner des DBs managées)
+- **SEO/GEO** : N/A
+- **Surface sécurité** : CRITIQUE — un mauvais `.tf` peut ouvrir un S3 bucket publique ou IAM trop permissif
+- **UI/UX** : N/A
+
+## Typical pain points
+- `terraform.tfvars` committé avec secrets (API keys, DB passwords)
+- State file en local (pas de remote backend S3/GCS/Terraform Cloud)
+- State file committé dans git (ÉNORME red flag — contient secrets en clair)
+- Pas de state locking (DynamoDB / GCS lock) → corruption en équipe
+- IAM policies trop permissives (`"*"` actions / resources)
+- S3 buckets sans encryption, sans versioning, sans logging
+- Security groups ingress `0.0.0.0/0` sur ports non-HTTP
+- Secrets dans variables au lieu de secret manager
+- Providers non pinned → breaking changes silencieuses
+- Modules non versionnés (`source = "./modules/x"` au lieu de `git::...?ref=v1.0.0`)
+- Pas de `tflint` / `tfsec` / `checkov` en CI
+- Plan non reviewé avant apply (auto-approve en CI dangereux)
+- Pas de `depends_on` explicite → ordre d'apply instable
+- `count` / `for_each` mal utilisé → ressources détruites-recréées accidentellement
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Cloud provider(s) : AWS / GCP / Azure / DO / Cloudflare / Hetzner / multi ?
+- Terraform ou OpenTofu ?
+- Terragrunt utilisé ?
+- State backend : local / S3+DynamoDB / GCS / Terraform Cloud / Spacelift / autre ?
+- Multi-env : workspaces / modules / Terragrunt ?
+- Pipeline CI : Atlantis / Terraform Cloud / GitHub Actions / GitLab / aucun ?
+- Plan review obligatoire avant apply ?
+- Secrets : Vault / AWS Secrets Manager / GCP Secret Manager / SOPS / autre ?
+- Scanners sécu : tflint / tfsec / checkov / trivy ?
+- Versions providers pinnées ?
+- Drift detection (terraform plan régulier en CI) ?
+- Disaster recovery plan (perte de state) ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON pour AWS/GCP providers (APIs évoluent)
+- **ui-ux-pro-max** : OFF
+- **gstack** : OFF
+
+## Example project layout
+```
+main.tf
+variables.tf
+outputs.tf
+providers.tf
+versions.tf
+backend.tf
+terraform.tfvars        (GITIGNORED — contient secrets)
+.terraform.lock.hcl
+.tflint.hcl
+modules/
+  vpc/
+    main.tf
+    variables.tf
+    outputs.tf
+  ecs-service/
+    ...
+environments/
+  dev/
+    terragrunt.hcl
+  prod/
+    terragrunt.hcl
+.github/
+  workflows/
+    terraform-plan.yml
+    terraform-apply.yml
+```

+ 132 - 0
lib/project-archetypes/web-game.md

@@ -0,0 +1,132 @@
+---
+name: web-game
+category: game
+public: true
+database: optional
+hosting_hints:
+  - itch-io
+  - netlify
+  - cloudflare-pages
+  - vercel
+  - github-pages
+  - newgrounds
+audit_stack:
+  - analyze
+  - code-clean
+  - perf
+  - design-review
+  - a11y
+  - cso
+  - doc
+plugins:
+  context7: optional
+  ui-ux-pro-max: optional
+  gstack: optional
+---
+
+# Web Game (browser-based)
+
+Jeu web navigateur — Phaser / Pixi.js / Three.js / Babylon.js / p5.js / Matter.js / Canvas 2D / WebGL brut. Distribution : itch.io / Newgrounds / site dédié / portail HTML5.
+
+## Detection signals
+
+### Strong signals (×3)
+- DEP: `package.json` contient l'un de : "phaser", "pixi.js", "three", "babylonjs" OR "@babylonjs/core", "matter-js", "p5"
+- STRING_IN_FILE: tout .js/.ts contient "new Phaser.Game(" OR "new PIXI.Application(" OR "new THREE.Scene(" OR "BABYLON.Engine("
+
+### Medium signals (×2)
+- DIR: `src/scenes/` OR `src/entities/` OR `src/sprites/`
+- FILE: `game.config.js` OR `src/config.js` avec game settings
+- DEP: "howler" OR "tone" OR "sound.js" (audio)
+- DEP: "gsap" OR "@tweenjs/tween.js" (animations)
+
+### Weak signals (×1)
+- DIR: `assets/sprites/` OR `assets/audio/` OR `assets/tilesets/`
+- EXT: `.atlas` OR `.tmx` (Tiled maps)
+- DEP: "webpack" OR "vite" (bundler)
+- FILE: `index.html` avec `<canvas>` ou `<div id="game">`
+
+### Counter-signals (exclusion)
+- DEP: "react-three-fiber" sans Three.js scène principale → peut être composant 3D dans app React (pas un jeu)
+
+## Implications
+- **Hébergement** : itch.io (dominant indie), Newgrounds, Cloudflare Pages, Netlify, GitHub Pages, site custom
+- **Base de données** : OPTIONNELLE — souvent localStorage pour saves, parfois backend pour leaderboard/multiplayer
+- **SEO/GEO** : IMPORTANT si monétisation via portail web (mais jeu lui-même = canvas opaque)
+- **Surface sécurité** : MOYENNE-GRANDE si multiplayer ou backend (anti-cheat, auth)
+- **UI/UX** : CRITIQUE — game feel, juice, feedback
+
+## Typical pain points
+- FPS instable (pas de rAF, setInterval utilisé, physics tickée dans render)
+- Assets chargés tous au démarrage (loading screen 30s) au lieu de streaming
+- Sprites non atlas (chaque image = requête réseau)
+- Audio non compressé (WAV uncompressed au lieu de OGG/WebM)
+- Pas de fallback WebGL → Canvas2D (GPU insuffisant = écran noir)
+- Memory leaks (scenes non destroy-ées, event listeners non cleanup)
+- Input hardcoded (pas de rebind, pas de support manette via Gamepad API)
+- Pas de pause native (perte focus tab = jeu continue en bg)
+- Persistance : localStorage (limitation 5MB, synchrone, bloquant)
+- Pas de save cloud ni cross-device
+- Multiplayer : auth client-side uniquement (triche triviale)
+- Accessibilité : pas d'options (no-motion, color-blind, subtitle, remappable controls)
+- Perf mobile : jeu pensé desktop, pas touch-optimized, pas adaptatif
+- Monétisation : ads ou IAP sans consentement RGPD
+- Analytics intrusifs (user tracking sans consentement)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Moteur / framework : Phaser / Pixi / Three / Babylon / p5 / custom canvas / autre ?
+- Type de jeu : 2D / 3D / isométrique / top-down / platformer / puzzle / runner / autre ?
+- Solo / multijoueur / les deux ?
+- Persistance : localStorage / IndexedDB / backend (lequel) / cloud saves ?
+- Cible : desktop seulement / mobile / tablette / manette ?
+- FPS cible : 60 / 120 / variable ?
+- Monétisation : gratuit / premium / free-to-play + ads / IAP ?
+- Plateforme de distribution : itch.io / Newgrounds / site custom / Steam (via Electron ?) / autre ?
+- Multi-langue prévu ?
+- Audio : effets + musique ? compression ?
+- Rebind controls / manette prévu ?
+- Accessibilité : options (reduced motion / subtitles / color-blind) ?
+- Ads réseau si free : lequel ?
+- Leaderboard / social ?
+
+## Plugin recommendations
+- **context7** : OPTIONAL — ON si Three/Babylon récents
+- **ui-ux-pro-max** : OPTIONAL — utile pour UI menus (pas pour gameplay)
+- **gstack** : OPTIONAL — tester sur navigateur
+
+## Example project layout
+```
+index.html
+package.json
+vite.config.ts
+src/
+  main.ts
+  game.ts
+  config.ts
+  scenes/
+    BootScene.ts
+    MenuScene.ts
+    GameScene.ts
+    UIScene.ts
+  entities/
+    Player.ts
+    Enemy.ts
+  systems/
+    InputManager.ts
+    AudioManager.ts
+    SaveSystem.ts
+  data/
+    levels.json
+assets/
+  sprites/
+    player.atlas
+    enemies.png
+  audio/
+    music.ogg
+    sfx/
+  tilesets/
+    world.tmx
+public/
+  index.html
+```

+ 101 - 0
lib/project-archetypes/woocommerce.md

@@ -0,0 +1,101 @@
+---
+name: woocommerce
+category: cms
+public: true
+database: required
+hosting_hints:
+  - vps
+  - managed-wp
+  - woocommerce-com
+  - docker
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: yes
+  gstack: optional
+---
+
+# WooCommerce (WordPress e-commerce)
+
+Extension WordPress pour e-commerce. Archétype **composé** : hérite de wordpress + ajoute e-commerce (PII, paiements, stocks).
+
+## Detection signals
+
+Présuppose que `wordpress.md` a déjà matché (fortement ou moyennement). Signaux additionnels pour ajouter l'overlay WooCommerce :
+
+### Strong signals (×3)
+- DIR: `wp-content/plugins/woocommerce/`
+- FILE: `wp-content/plugins/woocommerce/woocommerce.php`
+- DEP: `composer.json` contient "woocommerce/woocommerce" (Composer-managed WP)
+
+### Medium signals (×2)
+- STRING_IN_FILE: thème actif `functions.php` contient "add_theme_support( 'woocommerce' )"
+- DIR: `wp-content/themes/*/woocommerce/` (template overrides)
+- DIR: `wp-content/plugins/woocommerce-*/` (extensions WC : shipping, payments, subscriptions)
+
+### Weak signals (×1)
+- STRING_IN_FILE: database dumps / SQL contient tables "wp_wc_*" OR "wp_woocommerce_*"
+- DEP: `@woocommerce/*` dans package.json (blocks custom)
+
+## Implications (en plus de wordpress.md)
+- **Surface sécurité** : **TRÈS GRANDE** — paiements, PII clients, tokens passerelles
+- **Conformité** : PCI-DSS indirecte (via gateway), RGPD (données clients), consentement cookies obligatoire
+- **SEO/GEO** : CRITIQUE — schema Product + Offer + Review obligatoire
+- **Perf** : critique pour conversion (LCP < 2.5s idéal checkout)
+
+## Typical pain points (en plus de WordPress)
+- Extensions WC obsolètes (WooCommerce Payments, Subscriptions, Stripe Gateway) — failles récurrentes
+- Template overrides thème non mis à jour avec les changements core WC → bugs silencieux
+- Pas de schema.org Product / Offer / AggregateRating
+- Checkout lent (plugins overload, AJAX chain)
+- Variations produits : performances DB catastrophiques au-delà de 500 produits sans index
+- Stocks non synchronisés avec ERP / marketplaces (Amazon, Etsy)
+- Backup produits / commandes absent
+- Logs d'erreur checkout non monitorés → ventes perdues silencieuses
+- Emails transactionnels non délivrés (SMTP absent, spam folder)
+- HPOS (High-Performance Order Storage) non migré (WC 8+)
+- Taxes mal configurées (TVA intracommunautaire, prix HT/TTC)
+- PII stockée en clair (numéros téléphones, adresses)
+
+## Interview questions (adaptive)
+En plus des questions wordpress.md :
+- Volume produits (catalogue simple ou milliers) ?
+- Variations produits (tailles, couleurs, bundles) ?
+- Volume commandes mensuel ?
+- Gateway de paiement : Stripe / PayPal / WC Payments / autre ?
+- Abonnements (WC Subscriptions) ?
+- Multi-devise / multi-langue ?
+- Gestion stocks (manuelle / ERP synchronisé) ?
+- Marketplaces connectés (Amazon, eBay, Etsy) ?
+- HPOS activé (WC 8.2+) ?
+- RGPD / consentement cookies en place ?
+- Emails transactionnels (SMTP configuré / via plugin / via Mailgun/Postmark) ?
+- Monitoring erreurs checkout ?
+
+## Plugin recommendations
+- **ui-ux-pro-max** : ON — parcours d'achat = UX intensive
+- **gstack** : RECOMMANDÉ — Lighthouse + audit checkout flow
+- **context7** : OFF
+
+## Example project layout (en plus de wordpress.md)
+```
+wp-content/
+  plugins/
+    woocommerce/
+    woocommerce-stripe-gateway/
+    woocommerce-subscriptions/
+  themes/
+    mon-theme-wc/
+      woocommerce/          ← template overrides
+        single-product.php
+        cart/cart.php
+      functions.php          ← add_theme_support('woocommerce')
+```

+ 109 - 0
lib/project-archetypes/wordpress.md

@@ -0,0 +1,109 @@
+---
+name: wordpress
+category: cms
+public: true
+database: required
+hosting_hints:
+  - shared
+  - vps
+  - managed-wp
+  - docker
+audit_stack:
+  - analyze
+  - code-clean
+  - seo
+  - design-review
+  - perf
+  - cso
+  - a11y
+  - doc
+plugins:
+  context7: no
+  ui-ux-pro-max: optional
+  gstack: optional
+---
+
+# WordPress
+
+CMS PHP/MySQL classique. Thème custom OU thème acheté + plugins. Peut inclure WooCommerce (overlay séparé).
+
+## Detection signals
+
+### Strong signals (×3)
+- FILE: `wp-config.php`
+- FILE: `wp-config-sample.php`
+- DIR: `wp-admin/`
+- DIR: `wp-includes/`
+
+### Medium signals (×2)
+- DIR: `wp-content/`
+- DIR: `wp-content/themes/`
+- DIR: `wp-content/plugins/`
+- STRING_IN_FILE: `wp-content/themes/*/style.css` contient "Theme Name:"
+- STRING_IN_FILE: `composer.json` contient "johnpbloch/wordpress" OR "roots/wordpress"
+
+### Weak signals (×1)
+- FILE: `.htaccess` contient "RewriteRule ^index\.php$"
+- EXT: 20+ fichiers .php
+- FILE: `wp-cli.yml`
+- DIR: `mu-plugins/`
+
+### Composition overlays
+- **WooCommerce** : DIR `wp-content/plugins/woocommerce/` OR DEP `woocommerce` → appliquer overlay e-commerce
+- **Multisite** : STRING_IN_FILE `wp-config.php` contient "WP_ALLOW_MULTISITE" → noter
+
+## Implications
+- **Hébergement** : shared hosting (OVH, IONOS, Hostinger), VPS, ou managed-WP (WP Engine, Kinsta)
+- **Base de données** : MySQL/MariaDB REQUISE
+- **SEO/GEO** : CRITIQUE
+- **Surface sécurité** : GRANDE — plugins tiers, wp-admin exposé, XML-RPC, attaques massives bruteforce
+- **UI/UX** : dépend du thème (custom ou acheté)
+
+## Typical pain points
+- Plugins obsolètes / non mis à jour (failles critiques)
+- Pas d'environnement staging
+- Images non optimisées (poids page énorme)
+- Pas de cache (page cache, object cache)
+- wp-admin accessible publiquement sans 2FA
+- XML-RPC exposé (pingback DDoS, bruteforce)
+- Base de données : tables `wp_options` gonflées par transients
+- SEO plugin (Yoast / RankMath / SEOPress) mal configuré ou absent
+- Thème custom non testé sur mobile / a11y
+- Backup absent ou manuel
+- PHP version obsolète (< 8.1)
+
+## Interview questions (adaptive)
+En plus du set minimum business :
+- Hébergeur actuel ? (shared / VPS / managed-WP — lequel)
+- Version PHP et WordPress ?
+- Thème : custom (code propre) ou acheté (ThemeForest / autre) ?
+- Plugins critiques ? (nombre total + liste des plus importants)
+- Environnement staging dispo ? (oui / non / souhaité)
+- Dernier audit sécurité ? (date / jamais)
+- Stratégie de backup actuelle ? (quotidien / manuel / aucun)
+- SEO plugin installé ? (Yoast / RankMath / SEOPress / aucun)
+- WooCommerce installé ? (oui / non) `[if: signal matches WooCommerce]`
+- Accès SSH / WP-CLI disponible ? (oui / non)
+- Trafic mensuel estimé ? (pour dimensionnement perf)
+
+## Plugin recommendations
+- **ui-ux-pro-max** : OPTIONAL — ON si thème custom en dev
+- **gstack** : OPTIONAL — pour audit Lighthouse/Axe sur staging
+- **context7** : OFF — WP évolue lentement, pas de doc fast-libs
+
+## Example project layout
+```
+wp-config.php
+wp-admin/
+wp-includes/
+wp-content/
+  themes/
+    mon-theme/
+      style.css
+      functions.php
+      index.php
+  plugins/
+    yoast-seo/
+    woocommerce/  (overlay e-commerce)
+  uploads/
+```