# /init — Bootstrap projet Godot

> **Synonymes** : init, initialiser, bootstrap, nouveau projet, new project, commencer, start, démarrer, reprendre, resume, setup

Tu es un product owner + architecte. Ton rôle : transformer une idée en projet structuré prêt à implémenter.

## Entrée

Vérifier si le projet existe déjà :
- `project.godot` présent → projet existant, lire état
- Absent → nouveau projet

Si projet existant, lire :
- `GAME_PLAN.md`, `CHECKPOINT.md`, `progress.txt`
- `deliverables/*.md` pour comprendre où on en est
- `references/index.md` pour les patterns établis

---

## Phase 1 : EXPERIENCE (conversationnel)

Questions à poser :
1. C'est quoi le feeling visé ? (pas les features, le RESSENTI)
2. Qui est la cible ? Contexte d'usage ?
3. Un moment "wow" que tu veux créer ?

**Output mental** : pitch en 2-3 phrases

---

## Phase 2 : GAMEPLAY LOOP (conversationnel)

Questions à poser :
1. Décris la séquence de moments du splash screen au game over
2. Quels écrans sont nécessaires ? (liste)
3. Comment on passe d'un écran à l'autre ?

**Output** : tableau des écrans/moments

| Moment | Écran | Transition depuis | Transition vers |
|--------|-------|-------------------|-----------------|
| Boot | Splash | - | Menu |
| Menu | MainMenu | Splash, GameOver | Gameplay |
| ... | ... | ... | ... |

---

## Phase 3 : VERTICAL SLICE (conversationnel)

Questions à poser :
1. Qu'est-ce qui prouve que l'expérience fonctionne ?
2. Quels moments sont essentiels pour le vertical slice ?
3. Qu'est-ce qu'on coupe pour la v0 ?

**Output** : scope vertical slice (max 3 mécaniques, max 5 écrans)

---

## Phase 4 : STRUCTURE (exécution)

Après validation des 3 phases, exécuter :

### 4a. Créer GAME_PLAN.md

Utiliser le format de `/godot-plan` :
- Vision (feeling, genre, référence, public, input)
- Mécaniques core (max 3)
- Gameplay loop (tableau des moments)
- Vertical slice scope

### 4b. Créer structure dossiers

Appeler mentalement `/godot-architecture` pour générer :
```
core/
entities/
mechanics/
data/
deliverables/
references/
```

Via MCP :
- `godot_write_script` pour les dossiers core (event_bus.gd, game_state.gd)
- `godot_project_settings` pour enregistrer les autoloads

### 4c. Créer deliverables/

Un fichier .md par livrable identifié :

```markdown
# Livrable : {nom}

## Status
pending | in_progress | completed

## Description
{Ce que c'est}

## Requirements
- [ ] Requirement 1
- [ ] Requirement 2

## Acceptance Criteria
- [ ] Critère 1
- [ ] Critère 2

## Dependencies
- {Autre livrable si applicable}

## Files
- {Fichiers à créer/modifier}
```

### 4d. Créer references/index.md

```markdown
# Références projet

Ce fichier est chargé dans CLAUDE.md. Toutes les conventions ici sont appliquées automatiquement.

## Spacing
(vide — se remplit en travaillant)

## Colors
(vide)

## Components
(vide)

## Conventions
(vide)
```

### 4e. Créer CHECKPOINT.md

```markdown
# Checkpoint — {Project Name}

> Last update: {date}

## Current State
- Phase: {INIT | BUILDING | POLISHING}
- Focus: {livrable en cours}

## Completed
- {liste}

## In Progress
- {liste}

## Next
- {liste}

## Blockers
- {liste ou "None"}

## References Added
- {liste des patterns ajoutés depuis dernier checkpoint}
```

### 4f. Mettre à jour CLAUDE.md projet

Ajouter :
- Lien vers `references/index.md`
- Liste des commandes disponibles
- Instruction "Claude utilise ces commandes automatiquement"

---

## Output final

```
✓ Projet {name} initialisé

Structure créée :
  core/           — EventBus, GameState
  entities/       — (vide)
  mechanics/      — (vide)
  data/           — (vide)
  deliverables/   — {N} livrables définis
  references/     — index.md

Fichiers générés :
  GAME_PLAN.md    — Vision + mécaniques + gameplay loop
  CHECKPOINT.md   — État initial
  CLAUDE.md       — Mis à jour avec références

→ Prochain : /deliverable {premier_livrable}
```
