name, category, public, database, hosting_hints, audit_stack, plugins
name
category
public
database
hosting_hints
audit_stack
plugins
strapi
cms
false
required
vps
docker
render
railway
strapi-cloud
analyze
code-clean
cso
perf
doc
context7
ui-ux-pro-max
gstack
yes
no
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