+−Qu’est-ce qui est testé, exactement ?
La matrice des presets, intégralement : la CI génère un projet par preset, exige zéro occurrence de l’ancien nom, puis lance install, typecheck, tests unitaires et e2e. Plus all-on, all-off, et chaque feature désactivée isolément par-dessus le preset SaaS. Quatorze features booléennes font 16 384 combinaisons, et la CI ne teste pas 16 384 projets : les combinaisons hors de cette matrice sont autorisées et non testées — et le CLI le dit, en une ligne, sans drame. Un boilerplate qui promet des garanties qu’il ne vérifie pas est pire qu’un qui annonce la limite.
+−Et si je ne veux pas de multi-tenancy ?
--no-multi-tenant le cache, il ne l’arrache pas. Le projet naît avec un tenant fixe créé par le seed, le scope toujours ouvert sur lui, et le sélecteur d’entreprise, le panneau /platform et le SUPERADMIN hors de l’interface. Row Level Security reste, et reste prouvé par tenant-isolation.e2e-spec.ts ; le coût est une colonne indexée et un prédicat que Postgres résout en constante. L’arracher voudrait dire maintenir deux versions de tout l’accès aux données — et la version sans RLS est précisément celle qu’on ne peut pas prouver sûre.
+−Puis-je mettre à jour plus tard ?
Le projet généré est le vôtre, pas une dépendance : aucun pnpm update n’y fera entrer des nouveautés de DontPanic, et c’est volontaire — vous allez éditer ce code dès le premier jour. Ce que vous avez, c’est la reproductibilité : la même recette sur la même version du template génère le même projet aujourd’hui et dans deux ans, donc vous pouvez régénérer et comparer les diffs quand vous voulez adopter quelque chose de l’upstream.
+−Et la licence ?
MIT, sur le générateur et sur le template. Ce qui sort du npx est à vous : pas d’attribution obligatoire, pas de royalties, pas de clause qui change de valeur si votre produit grandit. Vous pouvez fermer le code de ce que vous générez.
+−Ai-je besoin de Docker ?
Pour lancer la suite de tests, non : les adapters memory, console et local existent justement pour tourner sans rien d’autre. Pour développer sérieusement il vous faut un Postgres — et le docker compose du projet monte Postgres, Redis, MinIO et Mailpit sur des ports qui n’entreront pas en collision avec les vôtres. Si vous avez déjà ces services, pointez le .env dessus et générez avec --no-docker.
+−Est-ce que ça marche avec Claude Code, Cursor et compagnie ?
Le projet généré embarque un CLAUDE.md taillé aux features que vous avez choisies — seulement les sections qui existent dans votre code. C’est là que vivent les décisions de sécurité, chacune avec sa raison, dans la forme qu’un agent lit avant d’écrire. L’effet de bord est probablement ce qui vous a amené ici : le contexte part dans votre produit au lieu de redécouvrir comment on fait la rotation des refresh tokens.