cc-ship 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,103 +1,112 @@
1
- ---
2
- name: ship:shape
3
- description: "Lance le shaping d'un package en scopes indépendants"
4
- ---
5
-
6
- # Commande shape
7
-
8
- Lance l'agent ship-shaper pour planifier UN package en scopes indépendants avec critères de vérification.
9
-
10
- ## Instructions
11
-
12
- Tu dois lancer l'agent `ship-shaper` en utilisant le tool Task avec les paramètres suivants:
13
-
14
- ```
15
- subagent_type: ship-shaper
16
- prompt: [Le nom du package à shaper ou "Demande quel package shaper"]
17
- ```
18
-
19
- ## Prérequis
20
-
21
- Avant de lancer l'agent, vérifie que ces fichiers existent :
22
-
23
- | Fichier | Obligatoire | Créé par |
24
- |---------|-------------|----------|
25
- | `.ship/packages/mapping.md` | Oui | splitter |
26
- | `.ship/prd.md` | Oui | brainstormer-prd |
27
- | `.ship/architecture.md` | Oui | architect |
28
- | `.ship/requirements.md` | Oui | specifier |
29
-
30
- Si un fichier manque, indique à l'utilisateur quelle commande lancer :
31
- - Pas de mapping.md → `/ship:split`
32
- - Pas de prd.md `/ship:brainstorm-prd`
33
- - Pas d'architecture.md → `/ship:architect`
34
- - Pas de requirements.md `/ship:specify`
35
-
36
- ## Comportement de relais (IMPORTANT)
37
-
38
- Tu es un **relais transparent** entre l'agent et l'utilisateur.
39
-
40
- Quand l'agent te retourne une question pour l'utilisateur :
41
- 1. **Utilise `AskUserQuestion`** pour la poser exactement comme l'agent l'a formulée
42
- 2. Récupère la réponse de l'utilisateur
43
- 3. Relance l'agent avec cette réponse
44
-
45
- **Ce que tu ne fais JAMAIS** :
46
- - Résumer les questions de l'agent
47
- - Reformuler ce que l'agent demande
48
- - Répondre à la place de l'utilisateur
49
-
50
- **Ce que tu fais TOUJOURS** :
51
- - Utiliser AskUserQuestion avec la question exacte de l'agent
52
- - Passer la réponse de l'utilisateur à l'agent
53
- - Continuer jusqu'à ce que l'agent ait terminé
54
-
55
- ## Comportement attendu
56
-
57
- 1. **Vérifier les prérequis** : mapping.md, prd.md, architecture.md, requirements.md
58
-
59
- 2. **Identifier le package** :
60
- - Si un nom de package est fourni en argument → utiliser ce package
61
- - Sinon l'agent demandera lequel shaper
62
-
63
- 3. **Lancer l'agent ship-shaper** qui va :
64
- - Lire le mapping et les inputs globaux
65
- - Extraire les exigences pertinentes
66
- - Proposer un découpage en scopes (validation utilisateur)
67
- - Définir les must-haves par scope
68
- - Définir les critères de vérification
69
- - Produire package.md et verification.md
70
-
71
- ## Syntaxe
72
-
73
- ```
74
- /ship:shape
75
- ```
76
-
77
- Shape un package (l'agent demandera lequel si plusieurs dans le mapping).
78
-
79
- ```
80
- /ship:shape auth
81
- ```
82
-
83
- Shape le package "auth" spécifiquement.
84
-
85
- ## Output
86
-
87
- Le package sera planifié dans `.ship/packages/<nom-package>/` avec :
88
- - `package.md` : Vision, scopes, truths, artifacts, key links
89
- - `verification.md` : Critères de vérification par scope
90
-
91
- ## Exemples
92
-
93
- ```
94
- /ship:shape
95
- ```
96
-
97
- Lance le shaping. Si le mapping contient plusieurs packages, l'agent demande lequel shaper.
98
-
99
- ```
100
- /ship:shape dashboard
101
- ```
102
-
103
- Shape directement le package "dashboard".
1
+ ---
2
+ name: ship:shape
3
+ description: "Lance le shaping d'un package en scopes indépendants"
4
+ ---
5
+
6
+ # Commande shape
7
+
8
+ Lance l'agent ship-shaper pour planifier UN package en scopes indépendants avec critères de vérification.
9
+
10
+ ## Instructions
11
+
12
+ ### Résolution du projet (PREMIÈRE ÉTAPE)
13
+
14
+ 1. Lire `cc-ship.json` à la racine du repo
15
+ 2. Résoudre le chemin : `{projectsDir}/{currentProject}/`
16
+ 3. Si `cc-ship.json` n'existe pas OU `currentProject` est null → ERREUR : "Lance `/ship:init` ou `/ship:next` d'abord pour initialiser un projet."
17
+ 4. Utiliser ce chemin partout au lieu de `.ship/`
18
+
19
+ ### Lancement de l'agent
20
+
21
+ Tu dois lancer l'agent `ship-shaper` en utilisant le tool Task avec les paramètres suivants:
22
+
23
+ ```
24
+ subagent_type: ship-shaper
25
+ prompt: "Le chemin du projet est {projectPath}. [Le nom du package à shaper ou 'Demande quel package shaper']"
26
+ ```
27
+
28
+ ## Prérequis
29
+
30
+ Avant de lancer l'agent, vérifie que ces fichiers existent :
31
+
32
+ | Fichier | Obligatoire | Créé par |
33
+ |---------|-------------|----------|
34
+ | `{projectPath}/packages/mapping.md` | Oui | splitter |
35
+ | `{projectPath}/prd.md` | Oui | brainstormer-prd |
36
+ | `{projectPath}/architecture.md` | Oui | architect |
37
+ | `{projectPath}/requirements.md` | Oui | specifier |
38
+
39
+ Si un fichier manque, indique à l'utilisateur quelle commande lancer :
40
+ - Pas de mapping.md `/ship:split`
41
+ - Pas de prd.md `/ship:prd`
42
+ - Pas d'architecture.md `/ship:architect`
43
+ - Pas de requirements.md `/ship:specify`
44
+
45
+ ## Comportement de relais (IMPORTANT)
46
+
47
+ Tu es un **relais transparent** entre l'agent et l'utilisateur.
48
+
49
+ Quand l'agent te retourne une question pour l'utilisateur :
50
+ 1. **Utilise `AskUserQuestion`** pour la poser exactement comme l'agent l'a formulée
51
+ 2. Récupère la réponse de l'utilisateur
52
+ 3. Relance l'agent avec cette réponse
53
+
54
+ **Ce que tu ne fais JAMAIS** :
55
+ - Résumer les questions de l'agent
56
+ - Reformuler ce que l'agent demande
57
+ - Répondre à la place de l'utilisateur
58
+
59
+ **Ce que tu fais TOUJOURS** :
60
+ - Utiliser AskUserQuestion avec la question exacte de l'agent
61
+ - Passer la réponse de l'utilisateur à l'agent
62
+ - Continuer jusqu'à ce que l'agent ait terminé
63
+
64
+ ## Comportement attendu
65
+
66
+ 1. **Vérifier les prérequis** : mapping.md, prd.md, architecture.md, requirements.md
67
+
68
+ 2. **Identifier le package** :
69
+ - Si un nom de package est fourni en argument → utiliser ce package
70
+ - Sinon → l'agent demandera lequel shaper
71
+
72
+ 3. **Lancer l'agent ship-shaper** qui va :
73
+ - Lire le mapping et les inputs globaux
74
+ - Extraire les exigences pertinentes
75
+ - Proposer un découpage en scopes (validation utilisateur)
76
+ - Définir les must-haves par scope
77
+ - Définir les critères de vérification
78
+ - Produire package.md et verification.md
79
+
80
+ ## Syntaxe
81
+
82
+ ```
83
+ /ship:shape
84
+ ```
85
+
86
+ Shape un package (l'agent demandera lequel si plusieurs dans le mapping).
87
+
88
+ ```
89
+ /ship:shape auth
90
+ ```
91
+
92
+ Shape le package "auth" spécifiquement.
93
+
94
+ ## Output
95
+
96
+ Le package sera planifié dans `{projectPath}/packages/<nom-package>/` avec :
97
+ - `package.md` : Vision, scopes, truths, artifacts, key links
98
+ - `verification.md` : Critères de vérification par scope
99
+
100
+ ## Exemples
101
+
102
+ ```
103
+ /ship:shape
104
+ ```
105
+
106
+ Lance le shaping. Si le mapping contient plusieurs packages, l'agent demande lequel shaper.
107
+
108
+ ```
109
+ /ship:shape dashboard
110
+ ```
111
+
112
+ Shape directement le package "dashboard".
@@ -9,19 +9,28 @@ Transforme un PRD existant en Software Requirements Specification (SRS) formel.
9
9
 
10
10
  ## Instructions
11
11
 
12
+ ### Resolution du projet (PREMIERE ETAPE)
13
+
14
+ 1. Lire `cc-ship.json` a la racine du repo
15
+ 2. Resoudre le chemin : `{projectsDir}/{currentProject}/`
16
+ 3. Si `cc-ship.json` n'existe pas OU `currentProject` est null → ERREUR : "Lance `/ship:init` ou `/ship:next` d'abord pour initialiser un projet."
17
+ 4. Utiliser ce chemin partout au lieu de `.ship/`
18
+
19
+ ### Lancement de l'agent
20
+
12
21
  Tu dois lancer l'agent `ship-specifier` en utilisant le tool Task avec les parametres suivants:
13
22
 
14
23
  ```
15
24
  subagent_type: ship-specifier
16
- prompt: [Le contexte de l'utilisateur ou "Transforme le PRD en requirements"]
25
+ prompt: "Le chemin du projet est {projectPath}. [Le contexte de l'utilisateur ou 'Transforme le PRD en requirements']"
17
26
  ```
18
27
 
19
28
  ## Prerequis
20
29
 
21
- Un PRD doit exister dans `.ship/prd.md`.
30
+ Un PRD doit exister dans `{projectPath}/prd.md`.
22
31
 
23
32
  **Si aucun PRD n'existe** :
24
- > "Je ne trouve pas de PRD dans `.ship/prd.md`. Lance d'abord `/ship:prd` pour creer un PRD, puis reviens ici."
33
+ > "Je ne trouve pas de PRD dans `{projectPath}/prd.md`. Lance d'abord `/ship:prd` pour creer un PRD, puis reviens ici."
25
34
 
26
35
  ## Comportement de relais (IMPORTANT)
27
36
 
@@ -45,13 +54,13 @@ Quand l'agent te retourne une question pour l'utilisateur :
45
54
 
46
55
  ## Comportement attendu
47
56
 
48
- 1. Verifier que `.ship/prd.md` existe
57
+ 1. Verifier que `{projectPath}/prd.md` existe
49
58
  2. L'agent va:
50
59
  - Lire le PRD et la research (si presente)
51
60
  - Extraire les exigences fonctionnelles, non-fonctionnelles et contraintes
52
61
  - Poser des questions pour clarifier les ambiguites
53
62
  - Prioriser avec MoSCoW (Must/Should/Could/Won't)
54
- - Produire un SRS structure dans `.ship/requirements.md`
63
+ - Produire un SRS structure dans `{projectPath}/requirements.md`
55
64
 
56
65
  ## Exemple d'utilisation
57
66
 
@@ -61,8 +70,8 @@ Quand l'agent te retourne une question pour l'utilisateur :
61
70
 
62
71
  ## Output
63
72
 
64
- **Fichier genere** :
65
- - `.ship/requirements.md` : Le Software Requirements Specification
73
+ **Fichier genere** (dans le dossier projet) :
74
+ - `requirements.md` : Le Software Requirements Specification
66
75
 
67
76
  **Structure du requirements.md** :
68
77
  - Meta (version, date, source, statut)
@@ -9,11 +9,20 @@ Decoupe le projet en packages livrables et cree le mapping exigences <-> package
9
9
 
10
10
  ## Instructions
11
11
 
12
+ ### Resolution du projet (PREMIERE ETAPE)
13
+
14
+ 1. Lire `cc-ship.json` a la racine du repo
15
+ 2. Resoudre le chemin : `{projectsDir}/{currentProject}/`
16
+ 3. Si `cc-ship.json` n'existe pas OU `currentProject` est null → ERREUR : "Lance `/ship:init` ou `/ship:next` d'abord pour initialiser un projet."
17
+ 4. Utiliser ce chemin partout au lieu de `.ship/`
18
+
19
+ ### Lancement de l'agent
20
+
12
21
  Tu dois lancer l'agent `ship-splitter` en utilisant le tool Task avec les parametres suivants:
13
22
 
14
23
  ```
15
24
  subagent_type: ship-splitter
16
- prompt: [Le contexte de l'utilisateur ou "Decoupe le projet en packages livrables"]
25
+ prompt: "Le chemin du projet est {projectPath}. [Le contexte de l'utilisateur ou 'Decoupe le projet en packages livrables']"
17
26
  ```
18
27
 
19
28
  ## Syntaxe
@@ -26,18 +35,18 @@ prompt: [Le contexte de l'utilisateur ou "Decoupe le projet en packages livrable
26
35
 
27
36
  Les fichiers suivants doivent exister :
28
37
 
29
- - `.ship/requirements.md` (obligatoire)
30
- - `.ship/architecture.md` (obligatoire)
31
- - `.ship/prd.md` (recommande)
38
+ - `{projectPath}/requirements.md` (obligatoire)
39
+ - `{projectPath}/architecture.md` (obligatoire)
40
+ - `{projectPath}/prd.md` (recommande)
32
41
 
33
42
  **Si requirements.md n'existe pas** :
34
- > "Je ne trouve pas de requirements dans `.ship/requirements.md`. Lance d'abord `/ship:specify` pour creer les requirements, puis reviens ici."
43
+ > "Je ne trouve pas de requirements dans `{projectPath}/requirements.md`. Lance d'abord `/ship:specify` pour creer les requirements, puis reviens ici."
35
44
 
36
45
  **Si architecture.md n'existe pas** :
37
- > "Je ne trouve pas d'architecture dans `.ship/architecture.md`. Lance d'abord `/ship:architect` pour definir l'architecture, puis reviens ici."
46
+ > "Je ne trouve pas d'architecture dans `{projectPath}/architecture.md`. Lance d'abord `/ship:architect` pour definir l'architecture, puis reviens ici."
38
47
 
39
48
  **Si le PRD n'existe pas** :
40
- > "Note: Je ne trouve pas de PRD dans `.ship/prd.md`. Je vais travailler avec les requirements et l'architecture uniquement."
49
+ > "Note: Je ne trouve pas de PRD dans `{projectPath}/prd.md`. Je vais travailler avec les requirements et l'architecture uniquement."
41
50
 
42
51
  ## Comportement de relais (IMPORTANT)
43
52
 
@@ -61,7 +70,7 @@ Quand l'agent te retourne une question pour l'utilisateur :
61
70
 
62
71
  ## Comportement attendu
63
72
 
64
- 1. Verifier que `.ship/requirements.md` et `.ship/architecture.md` existent
73
+ 1. Verifier que `{projectPath}/requirements.md` et `{projectPath}/architecture.md` existent
65
74
  2. L'agent va:
66
75
  - Lire les requirements, architecture et PRD (si present)
67
76
  - Identifier les frontieres naturelles
@@ -70,7 +79,7 @@ Quand l'agent te retourne une question pour l'utilisateur :
70
79
  - Creer le mapping exigences <-> packages
71
80
  - Identifier les dependances entre packages
72
81
  - Suggerer l'ordre d'implementation
73
- - Produire le mapping dans `.ship/packages/mapping.md`
82
+ - Produire le mapping dans `{projectPath}/packages/mapping.md`
74
83
 
75
84
  ## Exemple d'utilisation
76
85
 
@@ -80,8 +89,8 @@ Quand l'agent te retourne une question pour l'utilisateur :
80
89
 
81
90
  ## Output
82
91
 
83
- **Fichier genere** :
84
- - `.ship/packages/mapping.md` : Le document de mapping
92
+ **Fichier genere** (dans le dossier projet) :
93
+ - `packages/mapping.md` : Le document de mapping
85
94
 
86
95
  **Structure du mapping.md** :
87
96
  - Vue d'ensemble (nombre de packages, approche de decoupage)
@@ -1,129 +1,136 @@
1
- ---
2
- name: ship:status
3
- description: "Affiche l'état du projet ship et recommande l'étape suivante"
4
- ---
5
-
6
- # Commande status
7
-
8
- Affiche l'état actuel du projet ship et recommande la prochaine étape.
9
-
10
- ## Instructions
11
-
12
- ### Étape 1 : Vérifier les fichiers globaux
13
-
14
- Vérifie l'existence de chaque fichier dans l'ordre:
15
-
16
- 1. `.ship/` - Le dossier ship existe-t-il?
17
- 2. `.ship/brief.md` - Brief du projet (output brainstormer)
18
- 3. `.ship/research.md` - Recherche domaine (optionnel)
19
- 4. `.ship/prd.md` - Product Requirements Document
20
- 5. `.ship/requirements.md` - Spécifications (SRS)
21
- 6. `.ship/architecture.md` - Architecture technique
22
- 7. `.ship/packages/mapping.md` - Mapping des packages
23
-
24
- ### Étape 2 : Analyser les packages
25
-
26
- Si `mapping.md` existe, lire son contenu pour identifier les packages.
27
-
28
- Pour chaque package listé:
29
- 1. Vérifier si le dossier `.ship/packages/<nom>/` existe
30
- 2. Lire le front-matter de `package.md` pour obtenir le status et current_scope
31
-
32
- ### Algorithme de détection
33
-
34
- ```
35
- 1. SI .ship/ n'existe pas
36
- État: "Non initialisé"
37
- Recommandation: /ship:brainstorm
38
-
39
- 2. SI .ship/brief.md n'existe pas
40
- → Recommandation: /ship:brainstorm
41
-
42
- 3. SI .ship/prd.md n'existe pas
43
- Recommandation: /ship:prd
44
-
45
- 4. SI .ship/requirements.md n'existe pas
46
- Recommandation: /ship:specify
47
-
48
- 5. SI .ship/architecture.md n'existe pas
49
- Recommandation: /ship:architect
50
-
51
- 6. SI .ship/packages/mapping.md n'existe pas
52
- Recommandation: /ship:split
53
-
54
- 7. SINON analyser les packages par leur front-matter
55
- ```
56
-
57
- ### Front-matter des packages
58
-
59
- Format attendu dans `package.md`:
60
-
61
- ```yaml
62
- ---
63
- status: pending | shaping | shaped | executing | executed | verifying | done
64
- current_scope: scope-1-auth-basic
65
- ---
66
- ```
67
-
68
- ### États possibles d'un package
69
-
70
- | Status | Description | Recommandation |
71
- |--------|-------------|----------------|
72
- | `pending` | Non commencé | /ship:shape <package> |
73
- | `shaping` | Shaping en cours | /ship:shape <package> |
74
- | `shaped` | Shape terminé | /ship:execute <package> |
75
- | `executing` | Exécution en cours | /ship:execute <package> |
76
- | `executed` | Exécution terminée | /ship:verify <package> |
77
- | `verifying` | Vérification en cours | /ship:verify <package> |
78
- | `done` | Package terminé | Passer au suivant |
79
-
80
- ## Format de sortie
81
-
82
- ```
83
- ==========================================
84
- SHIP STATUS - [Nom Projet]
85
- ==========================================
86
-
87
- FICHIERS GLOBAUX
88
- ----------------
89
- [OK] brief.md Brief du projet
90
- [OK] research.md Recherche domaine (optionnel)
91
- [OK] prd.md Product Requirements
92
- [OK] requirements.md Spécifications (SRS)
93
- [OK] architecture.md Architecture technique
94
- [OK] packages/mapping.md Mapping des packages
95
-
96
- PACKAGES (N)
97
- ------------
98
- [DONE] auth Scope 3/3 - Terminé
99
- [EXECUTING] dashboard Scope 2/5 - En cours: scope-2-widgets
100
- [PENDING] notifications Scope 0/4 - Non commencé
101
-
102
- ==========================================
103
- PROCHAINE ÉTAPE RECOMMANDÉE:
104
- /ship:execute dashboard
105
-
106
- Continuer l'implémentation du scope "scope-2-widgets"
107
- ==========================================
108
- ```
109
-
110
- ## Recommandations contextualisées
111
-
112
- | Situation | Message |
113
- |-----------|---------|
114
- | Rien n'existe | "Lance `/ship:brainstorm` pour démarrer" |
115
- | Brief seul | "Lance `/ship:prd` pour créer le PRD" |
116
- | PRD présent | "Lance `/ship:specify` pour définir les exigences" |
117
- | Requirements présents | "Lance `/ship:architect` pour définir l'architecture" |
118
- | Architecture présente | "Lance `/ship:split` pour découper en packages" |
119
- | Mapping présent, aucun package shapé | "Lance `/ship:shape <premier-package>`" |
120
- | Package executing | "Continue avec `/ship:execute <package>` (scope: <name>)" |
121
- | Package executed | "Lance `/ship:verify <package>`" |
122
- | Vérification failed | "Corrige puis `/ship:execute <package>`" |
123
- | Tout done | "Tous les packages sont terminés!" |
124
-
125
- ## Notes
126
-
127
- - Si un front-matter est absent ou malformé, considérer le package comme `pending`
128
- - Ne pas lister tous les fichiers, juste vérifier l'existence
129
- - Les messages doivent être clairs et actionnables
1
+ ---
2
+ name: ship:status
3
+ description: "Affiche l'état du projet ship et recommande l'étape suivante"
4
+ ---
5
+
6
+ # Commande status
7
+
8
+ Affiche l'état actuel du projet ship et recommande la prochaine étape.
9
+
10
+ ## Instructions
11
+
12
+ ### Résolution du projet (PREMIÈRE ÉTAPE)
13
+
14
+ 1. Lire `cc-ship.json` à la racine du repo
15
+ 2. Résoudre le chemin : `{projectsDir}/{currentProject}/`
16
+ 3. Si `cc-ship.json` n'existe pas OU `currentProject` est null → ERREUR : "Lance `/ship:init` ou `/ship:next` d'abord pour initialiser un projet."
17
+ 4. Utiliser ce chemin partout au lieu de `.ship/`
18
+
19
+ ### Étape 1 : Vérifier les fichiers globaux
20
+
21
+ Vérifie l'existence de chaque fichier dans l'ordre:
22
+
23
+ 1. `{projectPath}/` - Le dossier projet existe-t-il?
24
+ 2. `{projectPath}/brief.md` - Brief du projet (output brainstormer)
25
+ 3. `{projectPath}/research.md` - Recherche domaine (optionnel)
26
+ 4. `{projectPath}/prd.md` - Product Requirements Document
27
+ 5. `{projectPath}/requirements.md` - Spécifications (SRS)
28
+ 6. `{projectPath}/architecture.md` - Architecture technique
29
+ 7. `{projectPath}/packages/mapping.md` - Mapping des packages
30
+
31
+ ### Étape 2 : Analyser les packages
32
+
33
+ Si `mapping.md` existe, lire son contenu pour identifier les packages.
34
+
35
+ Pour chaque package listé:
36
+ 1. Vérifier si le dossier `{projectPath}/packages/<nom>/` existe
37
+ 2. Lire le front-matter de `package.md` pour obtenir le status et current_scope
38
+
39
+ ### Algorithme de détection
40
+
41
+ ```
42
+ 1. SI {projectPath}/ n'existe pas
43
+ État: "Non initialisé"
44
+ → Recommandation: /ship:brainstorm
45
+
46
+ 2. SI {projectPath}/brief.md n'existe pas
47
+ → Recommandation: /ship:brainstorm
48
+
49
+ 3. SI {projectPath}/prd.md n'existe pas
50
+ → Recommandation: /ship:prd
51
+
52
+ 4. SI {projectPath}/requirements.md n'existe pas
53
+ → Recommandation: /ship:specify
54
+
55
+ 5. SI {projectPath}/architecture.md n'existe pas
56
+ → Recommandation: /ship:architect
57
+
58
+ 6. SI {projectPath}/packages/mapping.md n'existe pas
59
+ Recommandation: /ship:split
60
+
61
+ 7. SINON analyser les packages par leur front-matter
62
+ ```
63
+
64
+ ### Front-matter des packages
65
+
66
+ Format attendu dans `package.md`:
67
+
68
+ ```yaml
69
+ ---
70
+ status: pending | shaping | shaped | executing | executed | verifying | done
71
+ current_scope: scope-1-auth-basic
72
+ ---
73
+ ```
74
+
75
+ ### États possibles d'un package
76
+
77
+ | Status | Description | Recommandation |
78
+ |--------|-------------|----------------|
79
+ | `pending` | Non commencé | /ship:shape <package> |
80
+ | `shaping` | Shaping en cours | /ship:shape <package> |
81
+ | `shaped` | Shape terminé | /ship:execute <package> |
82
+ | `executing` | Exécution en cours | /ship:execute <package> |
83
+ | `executed` | Exécution terminée | /ship:verify <package> |
84
+ | `verifying` | Vérification en cours | /ship:verify <package> |
85
+ | `done` | Package terminé | Passer au suivant |
86
+
87
+ ## Format de sortie
88
+
89
+ ```
90
+ ==========================================
91
+ SHIP STATUS - [Nom Projet]
92
+ ==========================================
93
+
94
+ FICHIERS GLOBAUX
95
+ ----------------
96
+ [OK] brief.md Brief du projet
97
+ [OK] research.md Recherche domaine (optionnel)
98
+ [OK] prd.md Product Requirements
99
+ [OK] requirements.md Spécifications (SRS)
100
+ [OK] architecture.md Architecture technique
101
+ [OK] packages/mapping.md Mapping des packages
102
+
103
+ PACKAGES (N)
104
+ ------------
105
+ [DONE] auth Scope 3/3 - Terminé
106
+ [EXECUTING] dashboard Scope 2/5 - En cours: scope-2-widgets
107
+ [PENDING] notifications Scope 0/4 - Non commencé
108
+
109
+ ==========================================
110
+ PROCHAINE ÉTAPE RECOMMANDÉE:
111
+ /ship:execute dashboard
112
+
113
+ Continuer l'implémentation du scope "scope-2-widgets"
114
+ ==========================================
115
+ ```
116
+
117
+ ## Recommandations contextualisées
118
+
119
+ | Situation | Message |
120
+ |-----------|---------|
121
+ | Rien n'existe | "Lance `/ship:brainstorm` pour démarrer" |
122
+ | Brief seul | "Lance `/ship:prd` pour créer le PRD" |
123
+ | PRD présent | "Lance `/ship:specify` pour définir les exigences" |
124
+ | Requirements présents | "Lance `/ship:architect` pour définir l'architecture" |
125
+ | Architecture présente | "Lance `/ship:split` pour découper en packages" |
126
+ | Mapping présent, aucun package shapé | "Lance `/ship:shape <premier-package>`" |
127
+ | Package executing | "Continue avec `/ship:execute <package>` (scope: <name>)" |
128
+ | Package executed | "Lance `/ship:verify <package>`" |
129
+ | Vérification failed | "Corrige puis `/ship:execute <package>`" |
130
+ | Tout done | "Tous les packages sont terminés!" |
131
+
132
+ ## Notes
133
+
134
+ - Si un front-matter est absent ou malformé, considérer le package comme `pending`
135
+ - Ne pas lister tous les fichiers, juste vérifier l'existence
136
+ - Les messages doivent être clairs et actionnables