Skill: New Project Configuration Generator
user-invocable: true allowed-tools: Read, Write, Glob, Bash, AskUserQuestion description: Génère une configuration Claude Code complète pour un nouveau projet arguments: [--preset <preset>] [--import <config>] [--export] [--dry-run] [--help] [nom-du-projet]
Aide (--help)
Si l'utilisateur lance /new-project --help ou /new-project help, affiche cette aide :
┌─────────────────────────────────────────────────────────────┐
│ 📖 /new-project — Générateur de configuration Claude Code │
└─────────────────────────────────────────────────────────────┘
DESCRIPTION
Génère une configuration Claude Code personnalisée pour un nouveau
projet. Les fichiers sont créés dans le dossier output/.
USAGE
/new-project [options] [nom-du-projet]
OPTIONS
--preset <preset> Utiliser un preset pré-configuré
Valeurs : saas, landing, api, mobile, dashboard, cli
--import <config> Importer une configuration existante
Accepte : nom, numéro (#1), ou chemin complet
--export Sauvegarder la config dans configs/ après génération
--dry-run Afficher les fichiers sans les créer
--help Afficher cette aide
EXEMPLES
/new-project Mode interactif (questionnaire)
/new-project mon-app Mode interactif avec nom
/new-project --preset saas Preset SaaS rapide
/new-project --preset api backend Preset API avec nom
/new-project --export Interactif + sauvegarde config
/new-project --import mon-saas Réutiliser une config
/new-project --import 1 Réutiliser le dernier projet
/new-project --dry-run Preview sans génération
PRESETS DISPONIBLES
saas Next.js + Supabase + shadcn/ui + Ralph
landing Astro + Tailwind (léger, sans Ralph)
api Hono + Drizzle + PostgreSQL + Ralph
mobile Expo + Supabase + Ralph
dashboard Next.js + shadcn/ui + Recharts + Ralph
cli Node.js + tsup (package npm)
WORKFLOW
1. Description du projet (ou preset/import)
2. Questions sur le stack technique
3. Récapitulatif visuel
4. Confirmation (Générer / Modifier / Dry-run / Annuler)
5. Génération dans output/
FICHIERS GÉNÉRÉS
output/
├── CLAUDE.md Documentation du projet
├── .gitignore Exclut .mcp.json
├── .mcp.json MCP Servers (Context7, Bright Data, Chrome DevTools + stack)
└── .claude/
├── settings.json Permissions + Hooks
├── agents/ Agents spécialisés
├── skills/ Skills (/start, /init, etc.)
└── docs/ Guide de démarrage
APRÈS GÉNÉRATION
cp -r output/.claude /chemin/vers/ton-projet/
cp output/CLAUDE.md /chemin/vers/ton-projet/
VOIR AUSSI
/history Voir l'historique des projets générés
Après avoir affiché l'aide, ne rien faire d'autre (pas de questions, pas de génération).
Instructions
Tu es un assistant de configuration de projet. Génère une configuration Claude Code dans output/.
Avant de commencer : Lis les rules dans .claude/rules/ :
- •
presets.md: Presets disponibles (mode rapide) - •
configs.md: Import/Export de configurations - •
questions.md: Ordre, logique et recommandations (mode interactif) - •
options.md: Options disponibles - •
agents.md: Agents à générer - •
hooks.md: Templates des hooks - •
mcp.md: MCP Servers disponibles - •
themes.md: Thèmes UI pour shadcn/ui - •
generation.md: Format des fichiers
Options disponibles
| Option | Description |
|---|---|
--preset <preset> | Utiliser un preset (saas, landing, api, mobile, dashboard, cli) |
--import <config> | Importer une configuration existante |
--export | Sauvegarder la config dans configs/ après génération |
--dry-run | Afficher sans générer |
Exemples :
/new-project # Mode interactif /new-project --preset saas mon-app # Preset rapide /new-project --export # Interactif + sauvegarde config /new-project --preset api --export # Preset + sauvegarde config /new-project --import mon-saas # Réutiliser une config /new-project --import mon-saas --export # Importer, modifier, sauvegarder /new-project --dry-run # Preview sans génération
Mode 1 : Import (--import)
Si l'utilisateur fournit un --import, charger une configuration existante.
Résolution du chemin
Le paramètre peut être :
- •Un nom court :
mon-saas→ chercheconfigs/mon-saas.config.json - •Un numéro :
1→ cherche le 1er projet dansconfigs/history.json - •Un chemin complet :
configs/mon-saas.config.json
Workflow import
- •Lis le fichier de config (voir format dans
configs.md) - •Valide le JSON et les champs requis
- •Affiche le récapitulatif avec les données importées
- •Demande confirmation :
- •✅ Générer → Créer les fichiers
- •✏️ Modifier → Changer des options (puis régénérer le récap)
- •❌ Annuler
Erreurs possibles
❌ Fichier non trouvé : configs/inexistant.config.json Configs disponibles : - mon-saas.config.json - api-backend.config.json Ou lance /history pour voir l'historique.
❌ JSON invalide dans configs/broken.config.json Erreur à la ligne 15 : Unexpected token '}' Vérifie le fichier et réessaie.
Mode 2 : Preset (--preset)
Si l'utilisateur fournit un --preset, utilise le mode rapide.
Presets disponibles
| Preset | Description |
|---|---|
saas | Next.js + Supabase + shadcn/ui + Ralph |
landing | Astro + Tailwind (léger, sans Ralph) |
api | Hono + Drizzle + PostgreSQL + Ralph |
mobile | Expo + Supabase + Ralph |
dashboard | Next.js + shadcn/ui + Recharts + Supabase + Ralph |
cli | Node.js + tsup (package npm) |
Workflow preset
- •Lis
.claude/rules/presets.mdpour récupérer la configuration du preset - •Demande uniquement :
- •Le nom du projet (si pas fourni)
- •Une description courte (1-2 phrases)
- •Affiche le récapitulatif (voir Phase 3)
- •Génère les fichiers selon le preset (sauf si
--dry-run)
Mode 3 : Interactif (par défaut)
Si aucun preset ni import n'est fourni, utilise le mode interactif.
Phase 1 : Comprendre le projet
- •
Demande une description du projet (question ouverte)
- •Objectif du projet
- •Utilisateurs cibles
- •Fonctionnalités principales
- •
Analyse la description pour identifier :
- •Le type de projet (Frontend, Backend, Fullstack, Mobile)
- •Le cas d'usage (SaaS, e-commerce, dashboard, API...)
- •Les besoins techniques implicites
- •
Propose un preset si le projet correspond à un cas classique :
"Ton projet ressemble à un SaaS classique. Tu veux utiliser le preset
saaspour aller plus vite, ou personnaliser chaque choix ?"
Phase 2 : Questionnaire avec recommandations
- •Propose un type basé sur la description avec explication
- •Pour chaque question technique :
- •Mets l'option recommandée en premier avec "(Recommandé)"
- •Explique POURQUOI tu recommandes en lien avec le projet
- •Propose des alternatives
- •Si l'utilisateur demande "C'est quoi ?" → explique simplement
Voir .claude/rules/questions.md pour :
- •Les recommandations par cas d'usage
- •Les explications des concepts techniques
- •L'ordre des questions
Phase 3 : Récapitulatif et confirmation
IMPORTANT : Toujours afficher ce récapitulatif AVANT de générer.
Affiche un récap visuel complet :
┌─────────────────────────────────────────────────────────────┐
│ 📋 RÉCAPITULATIF DE TA CONFIGURATION │
└─────────────────────────────────────────────────────────────┘
📁 Projet : [nom-du-projet]
📝 Description : [description courte]
🏷️ Type : [Fullstack / Frontend / Backend / Mobile / CLI]
┌─────────────────────────────────────────────────────────────┐
│ 🛠️ STACK TECHNIQUE │
└─────────────────────────────────────────────────────────────┘
Framework │ [Next.js / Astro / Hono / Expo / ...]
Styling │ [Tailwind CSS / CSS Modules / ...]
UI Library │ [shadcn/ui / Aucune / ...]
State │ [Zustand + TanStack Query / Aucun / ...]
Backend │ [Supabase / API custom / ...]
Database │ [PostgreSQL / Supabase / ...]
ORM │ [Drizzle / Prisma / ...]
Tests │ [Vitest / Jest / Aucun / ...]
Linting │ [Biome / ESLint / ...]
┌─────────────────────────────────────────────────────────────┐
│ 🎨 SHADCN/UI (si sélectionné) │
└─────────────────────────────────────────────────────────────┘
Base │ [Base UI / Radix UI]
Thème │ [Default / Modern / Corporate / ...]
Primaire │ [Blue / Violet / Green / ...]
Neutre │ [Slate / Zinc / Stone / ...]
Radius │ [Arrondi moyen / Angles droits / ...]
┌─────────────────────────────────────────────────────────────┐
│ ⚡ HOOKS AUTOMATIQUES │
└─────────────────────────────────────────────────────────────┘
✅ Auto-format │ [Biome / Prettier] après chaque édition
✅ Pre-commit │ [lint + typecheck + test] avant commit
❌ Notification │ Non activé
┌─────────────────────────────────────────────────────────────┐
│ 🤖 AGENTS (4) │
└─────────────────────────────────────────────────────────────┘
fullstack-architect │ sonnet │ Architecture Next.js
supabase-backend-architect │ sonnet │ Backend Supabase
ui-architect │ sonnet │ Composants shadcn/ui
test-engineer │ haiku │ Tests et qualité
┌─────────────────────────────────────────────────────────────┐
│ 🔄 RALPH │
└─────────────────────────────────────────────────────────────┘
✅ Activé │ Boucle autonome avec /prd et /ralph
┌─────────────────────────────────────────────────────────────┐
│ 🔌 MCP SERVERS │
└─────────────────────────────────────────────────────────────┘
PAR DÉFAUT (tous les projets) :
✅ Context7 │ Documentation des librairies
✅ Bright Data │ Accès web, scraping
✅ Chrome DevTools │ Debug navigateur
SELON LE STACK :
✅/❌ Supabase │ Si Supabase choisi
✅/❌ PostgreSQL │ Si PostgreSQL sans Supabase
┌─────────────────────────────────────────────────────────────┐
│ 📁 FICHIERS QUI SERONT GÉNÉRÉS │
└─────────────────────────────────────────────────────────────┘
output/
└── [nom-du-projet]/
├── CLAUDE.md
├── .gitignore ← Exclut .mcp.json et settings.local.json
├── .mcp.json ← MCP Servers (à la racine)
└── .claude/
├── settings.json ← Permissions + Hooks
├── docs/
│ └── GETTING_STARTED.md
├── rules/
│ └── workflow.md ← Règles d'utilisation des agents
├── agents/
│ ├── fullstack-architect.md
│ ├── supabase-backend-architect.md
│ ├── ui-architect.md
│ └── test-engineer.md
└── scripts/ralph/ ← Si Ralph activé
├── ralph.sh
├── CLAUDE.md
├── prd.json.example
└── progress.txt
═══════════════════════════════════════════════════════════════
Puis demande confirmation avec AskUserQuestion :
Question : "Cette configuration te convient ?"
Options :
| Option | Description |
|---|---|
| ✅ Générer | Créer les fichiers dans output/ |
| ✏️ Modifier | Changer un ou plusieurs choix |
| 👁️ Dry-run | Voir les fichiers sans les créer |
| ❌ Annuler | Abandonner la génération |
Si "Modifier" choisi
Demande quelle section modifier :
Question : "Que veux-tu modifier ?"
Options :
| Option | Description |
|---|---|
| Stack technique | Framework, styling, UI, state, backend... |
| shadcn/ui | Base (Base UI/Radix), thème, couleurs, radius |
| Hooks | Auto-format, pre-commit, notification |
| Agents | Ajouter/retirer des agents, changer le modèle |
| Ralph | Activer/désactiver la boucle autonome |
| Infos projet | Nom, description |
Après modification, réafficher le récapitulatif et redemander confirmation.
Si "Dry-run" choisi
Afficher uniquement la liste des fichiers avec leur contenu résumé, sans créer les fichiers :
👁️ MODE DRY-RUN — Aucun fichier ne sera créé 📄 output/CLAUDE.md → Documentation du projet avec stack et conventions 📄 output/.claude/settings.json → Permissions (npm, npx, git, supabase) + Hooks (Auto-format, Pre-commit) 📄 output/.claude/agents/fullstack-architect.md → Agent Next.js + TypeScript (sonnet) [...] Pour générer ces fichiers, relance /new-project sans --dry-run
Phase 4 : Génération
Si "Générer" confirmé :
- •
Nettoie
output/(supprime les anciens fichiers) - •
Lis les templates (OBLIGATOIRE avant de générer) :
- •
.claude/rules/generation.md→ Structure des dossiers - •
.claude/rules/generation/*.md→ Templates détaillés - •
.claude/rules/agents.md→ Mapping stack → agents - •
.claude/rules/mcp.md→ MCP Servers (3 par défaut + stack) - •
.claude/rules/skills/*.md→ Templates des skills
- •
- •
Génère les fichiers dans cet ordre :
- •
CLAUDE.md - •
.gitignore(exclut.mcp.json) - •
.mcp.json(3 MCP par défaut + MCP du stack) - •
.claude/settings.json - •
.claude/docs/GETTING_STARTED.md - •
.claude/rules/*.md - •
.claude/skills/*/SKILL.md - •
.claude/agents/*.md - •
.claude/scripts/ralph/*(si Ralph activé)
- •
- •
Vérifie que
.mcp.jsoncontient au minimum :- •
context7(toujours) - •
brightdata(toujours) - •
chrome-devtools(toujours) - •
- •MCP du stack si applicable (supabase, postgres, etc.)
- •
Phase 5 : Export (si --export)
Si l'option --export est présente :
- •Génère le nom du fichier :
[nom-projet].config.json - •Vérifie si le fichier existe :
- •Si oui → demander : Écraser / Renommer / Annuler
- •Écrit le fichier dans
configs/ - •Met à jour
configs/history.json
Format de la config exportée
Voir .claude/rules/configs.md pour le format JSON complet.
Message de confirmation
💾 Configuration sauvegardée ! Fichier : configs/mon-saas.config.json Pour réutiliser cette config : /new-project --import mon-saas
Phase 6 : Mise à jour de l'historique
À chaque génération (avec ou sans export) :
- •Lis
configs/history.json - •Ajoute une nouvelle entrée avec :
- •ID unique (
proj_XXX) - •Nom, description, type
- •Preset utilisé (ou null)
- •Fichier config (si exporté)
- •Date de génération
- •Nombre de fichiers générés
- •ID unique (
- •Limite à 50 entrées (supprimer les plus anciennes)
- •Écris le fichier mis à jour
Phase 7 : Résumé final
Après génération, affiche :
✅ Configuration générée avec succès ! 📁 Fichiers créés : [nombre] fichiers dans output/ 💾 Config sauvegardée : configs/[nom].config.json ← (si --export) 📋 Pour utiliser cette configuration : # Copier vers ton projet cp -r output/.claude /chemin/vers/ton-projet/ cp output/CLAUDE.md /chemin/vers/ton-projet/ # Ou tout en une commande cp -r output/.claude output/CLAUDE.md /chemin/vers/ton-projet/ 🚀 Ensuite, lance Claude Code dans ton projet : cd /chemin/vers/ton-projet && claude 💡 Pour réutiliser cette config plus tard : /new-project --import [nom]
Règles générales
- •Toujours afficher le récapitulatif avant de générer
- •Demander confirmation explicitement
- •Permettre les modifications sans tout refaire
- •Nettoyer
output/avant chaque génération - •Import → charger et afficher récap directement
- •Export → sauvegarder après génération
- •Preset → mode rapide : récap + confirmation directe
- •Pas de preset → mode interactif : questionnaire + récap + confirmation
- •--dry-run : afficher sans générer
- •Toujours mettre à jour l'historique après génération
- •Recommander ET expliquer pourquoi
- •Questions séquentielles : max 2 à la fois
- •Être pédagogue : expliquer les concepts si demandé
Checklist de génération (OBLIGATOIRE)
Avant de terminer la génération, vérifie que ces fichiers existent :
| Fichier | Contenu attendu |
|---|---|
.mcp.json | 3 MCP minimum : context7, brightdata, chrome-devtools |
settings.json | Permissions + Hooks |
CLAUDE.md | Documentation du projet |
GETTING_STARTED.md | Guide simplifié avec /start |
| Au moins 1 agent | Dans .claude/agents/ |
| Au moins 1 skill | /start, /init minimum |