claude/lib/project-archetypes/drupal.md
bastien 3c8b2a8f68 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>
2026-04-21 22:37:07 +02:00

3.4 KiB
Raw Blame History

name category public database hosting_hints audit_stack plugins
drupal cms true required
shared
vps
acquia
pantheon
platform-sh
docker
analyze
code-clean
seo
design-review
perf
cso
a11y
doc
context7 ui-ux-pro-max gstack
no optional 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/