@atlashub/smartstack-cli 3.4.0 → 3.5.0
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.
- package/dist/index.js +161 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +4 -3
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/templates/project/appsettings.json.template +12 -2
- package/templates/skills/_shared.md +1 -1
- package/templates/skills/application/steps/step-04-backend.md +4 -4
- package/templates/skills/application/templates-backend.md +4 -4
- package/templates/skills/business-analyse/SKILL.md +47 -143
- package/templates/skills/business-analyse/_architecture.md +3 -3
- package/templates/skills/business-analyse/_shared.md +1 -1
- package/templates/skills/business-analyse/html/ba-interactive.html +269 -28
- package/templates/skills/business-analyse/schemas/application-schema.json +3 -4
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +1 -2
- package/templates/skills/business-analyse/steps/step-00-init.md +130 -398
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +6 -14
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +65 -69
- package/templates/skills/business-analyse/templates/tpl-handoff.md +9 -19
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +23 -128
- package/templates/skills/business-analyse/templates-frd.md +3 -19
- package/templates/skills/ralph-loop/steps/step-01-task.md +249 -6
- package/templates/skills/business-analyse/steps/step-06-extract.md +0 -648
|
@@ -60,22 +60,14 @@ IF mcp_available:
|
|
|
60
60
|
Store findings in {codebase_context}
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
**Phase 2b: Parallel Agents
|
|
63
|
+
**Phase 2b: Parallel Codebase Agents**
|
|
64
64
|
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Agent 3: Search for existing page patterns (Glob: **/pages/business/**/*.tsx)
|
|
65
|
+
Launch 3 agents in parallel:
|
|
66
|
+
Agent 1: Search for existing domain entities (Glob: **/Domain/**/*.cs)
|
|
67
|
+
Agent 2: Search for existing services/integrations (Grep: IService, IRepository)
|
|
68
|
+
Agent 3: Search for existing page patterns (Glob: **/pages/business/**/*.tsx)
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**Phase 2c: Economy Mode**
|
|
75
|
-
```
|
|
76
|
-
IF economy_mode:
|
|
77
|
-
Use Glob/Grep directly (no subagents)
|
|
78
|
-
Quick scan of Domain/, Application/, pages/ directories
|
|
70
|
+
Merge findings into {codebase_context}
|
|
79
71
|
```
|
|
80
72
|
|
|
81
73
|
### 3. Application-Level Questionnaire (application mode)
|
|
@@ -78,6 +78,49 @@ prd.json generated for module {moduleCode}:
|
|
|
78
78
|
- prd.json version: "2.0.0"
|
|
79
79
|
- source.type: "ba-handoff-programmatic"
|
|
80
80
|
|
|
81
|
+
**POST-CHECK (BLOCKING — DO NOT SKIP):**
|
|
82
|
+
|
|
83
|
+
After `ss derive-prd` execution, read the generated prd-{moduleCode}.json and verify structural integrity:
|
|
84
|
+
|
|
85
|
+
```javascript
|
|
86
|
+
const prd = readJSON(`.ralph/prd-${moduleCode}.json`);
|
|
87
|
+
const featureHandoff = moduleFeature.handoff.filesToCreate;
|
|
88
|
+
|
|
89
|
+
// 1. Verify structure: filesToCreate MUST be under implementation (NOT root level)
|
|
90
|
+
if (prd.filesToCreate && !prd.implementation?.filesToCreate) {
|
|
91
|
+
BLOCKING_ERROR("prd.json has filesToCreate at ROOT level — this is NOT from ss derive-prd");
|
|
92
|
+
BLOCKING_ERROR("Re-run: ss derive-prd --feature {path} --output .ralph/prd-{moduleCode}.json");
|
|
93
|
+
STOP;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// 2. Verify ALL 7 categories present and match feature.json
|
|
97
|
+
const categories = ['domain', 'application', 'infrastructure', 'api', 'frontend', 'seedData', 'tests'];
|
|
98
|
+
for (const cat of categories) {
|
|
99
|
+
const prdCount = prd.implementation.filesToCreate[cat]?.length ?? 0;
|
|
100
|
+
const featureCount = featureHandoff[cat]?.length ?? 0;
|
|
101
|
+
if (prdCount !== featureCount) {
|
|
102
|
+
BLOCKING_ERROR(`${cat}: prd has ${prdCount} files but feature.json has ${featureCount}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Display verification table:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
POST-CHECK: prd-{moduleCode}.json integrity
|
|
111
|
+
| Category | feature.json | prd.json | Match |
|
|
112
|
+
|----------------|-------------|----------|-------|
|
|
113
|
+
| domain | {n} | {n} | OK/FAIL |
|
|
114
|
+
| application | {n} | {n} | OK/FAIL |
|
|
115
|
+
| infrastructure | {n} | {n} | OK/FAIL |
|
|
116
|
+
| api | {n} | {n} | OK/FAIL |
|
|
117
|
+
| frontend | {n} | {n} | OK/FAIL |
|
|
118
|
+
| seedData | {n} | {n} | OK/FAIL |
|
|
119
|
+
| tests | {n} | {n} | OK/FAIL |
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
IF ANY category shows FAIL → **STOP AND RE-RUN `ss derive-prd`**. DO NOT proceed with incomplete PRD.
|
|
123
|
+
|
|
81
124
|
---
|
|
82
125
|
|
|
83
126
|
### 2. Initialize Progress Tracker
|
|
@@ -224,13 +267,15 @@ prd.json generated for module {moduleCode}:
|
|
|
224
267
|
|
|
225
268
|
---
|
|
226
269
|
|
|
227
|
-
### 5.
|
|
270
|
+
### 5. Completion Summary
|
|
271
|
+
|
|
272
|
+
Display the completion summary after successful handoff:
|
|
228
273
|
|
|
229
|
-
|
|
274
|
+
> **Reference:** Read `templates/tpl-launch-displays.md` for user-facing display templates.
|
|
230
275
|
|
|
231
276
|
```
|
|
232
277
|
═══════════════════════════════════════════════════════════════
|
|
233
|
-
|
|
278
|
+
[OK] BUSINESS ANALYSE TERMINEE - {application_name}
|
|
234
279
|
═══════════════════════════════════════════════════════════════
|
|
235
280
|
|
|
236
281
|
Modules: {count} ({names})
|
|
@@ -240,82 +285,37 @@ Tasks: {total tasks} ({core_count} CORE + {biz_count} business + {dev_count}
|
|
|
240
285
|
Complexity: {complexity}
|
|
241
286
|
Effort: {total_days} days ({total_hours} hours)
|
|
242
287
|
|
|
243
|
-
|
|
244
|
-
✓ feature.json (master + per-module) -
|
|
245
|
-
✓ .ralph/prd.json or .ralph/prd-{module}.json -
|
|
246
|
-
✓ .ralph/progress.txt -
|
|
247
|
-
✓ ba-interactive.html -
|
|
248
|
-
✓ Implementation strategy selected: {strategy}
|
|
249
|
-
|
|
250
|
-
Next: Choose development approach
|
|
251
|
-
═══════════════════════════════════════════════════════════════
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
Ask via AskUserQuestion:
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
question: "Quelle approche de développement souhaitez-vous utiliser ?"
|
|
258
|
-
header: "Approche de développement"
|
|
259
|
-
options:
|
|
260
|
-
- label: "Feature Full (Recommandé)"
|
|
261
|
-
description: "Génération parallèle rapide (code + tests). Couverture 70-80%. ~{hours/3} heures."
|
|
262
|
-
- label: "Ralph Loop"
|
|
263
|
-
description: "Développement itératif task-par-task avec cycle : Analyse → Dev (backend + tests unitaires + tests non-régression + frontend + tests + documentation) → Validation → Correction → Test ... jusqu'à 100% tests pass. Couverture 95-100%. ~{hours} heures."
|
|
264
|
-
- label: "Terminer le BA"
|
|
265
|
-
description: "Finir l'analyse, développement manuel par l'équipe."
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**Recommendations by complexity:**
|
|
269
|
-
- **Simple:** Feature Full (1-3 days) or Ralph Loop (2-4 days)
|
|
270
|
-
- **Medium:** Ralph Loop recommended (5-10 days), Feature Full possible (3-6 days)
|
|
271
|
-
- **Complex:** Ralph Loop strongly recommended (10-20 days), Feature Full (8-12 days)
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
### 5-bis. Execute User Choice (Automatic Skill Launch)
|
|
276
|
-
|
|
277
|
-
> Automatically launch the chosen development approach for seamless transition.
|
|
278
|
-
|
|
279
|
-
**After receiving AskUserQuestion response:**
|
|
288
|
+
[DIR] Artefacts generés:
|
|
289
|
+
✓ feature.json (master + per-module) - spécification complète
|
|
290
|
+
✓ .ralph/prd.json or .ralph/prd-{module}.json - task breakdown
|
|
291
|
+
✓ .ralph/progress.txt - tracker de progression
|
|
292
|
+
✓ ba-interactive.html - document de revue interactif
|
|
280
293
|
|
|
281
|
-
|
|
294
|
+
[TARGET] Prochaines étapes:
|
|
295
|
+
1. Ouvrir ba-interactive.html dans le navigateur
|
|
296
|
+
2. Partager avec les stakeholders pour validation
|
|
297
|
+
3. Si retours --> relancer /business-analyse pour une nouvelle itération
|
|
298
|
+
4. Une fois validé, lancer le développement:
|
|
282
299
|
|
|
283
|
-
|
|
300
|
+
/ralph-loop -r
|
|
284
301
|
|
|
285
|
-
|
|
286
|
-
const choice = userAnswer; // "Feature Full (Recommandé)" | "Ralph Loop" | "Terminer le BA"
|
|
287
|
-
const choiceLabel = choice.replace(/\s*\(.*?\)\s*$/g, '').trim();
|
|
288
|
-
|
|
289
|
-
if (choiceLabel === "Ralph Loop") {
|
|
290
|
-
// Display: Ralph Loop explanation and configuration (from tpl-launch-displays.md)
|
|
291
|
-
// Then launch: Skill({ skill: "ralph-loop" });
|
|
292
|
-
// EXIT - ralph-loop takes over
|
|
293
|
-
|
|
294
|
-
} else if (choiceLabel === "Feature Full") {
|
|
295
|
-
// Display: Feature Full configuration summary (from tpl-launch-displays.md)
|
|
296
|
-
// Then launch: Skill({ skill: "feature-full" });
|
|
297
|
-
// EXIT
|
|
298
|
-
|
|
299
|
-
} else {
|
|
300
|
-
// Display: BA completion summary and next steps (from tpl-launch-displays.md)
|
|
301
|
-
// EXIT gracefully
|
|
302
|
-
}
|
|
302
|
+
═══════════════════════════════════════════════════════════════
|
|
303
303
|
```
|
|
304
304
|
|
|
305
|
-
**
|
|
305
|
+
**No AskUserQuestion here.** The BA ends after displaying the summary. The user will manually launch `/ralph-loop -r` when ready (typically after stakeholder validation).
|
|
306
306
|
|
|
307
307
|
---
|
|
308
308
|
|
|
309
309
|
## SELF-VERIFICATION (FINAL)
|
|
310
310
|
|
|
311
|
-
Before presenting
|
|
311
|
+
Before presenting completion summary, VERIFY:
|
|
312
312
|
|
|
313
313
|
1. **`.ralph/prd-{module}.json`** exists for ALL modules (file size > 100 bytes each)
|
|
314
314
|
2. **`.ralph/progress.txt`** exists (file size > 500 bytes)
|
|
315
315
|
3. **`ba-interactive.html`** exists at `docs/business/{app}/business-analyse/v{version}/` and file size > 100KB (pre-populated, not empty template)
|
|
316
316
|
4. **`docs/business/index.json`** exists with correct entry count (1 app + N modules)
|
|
317
317
|
|
|
318
|
-
**IF any check fails → GENERATE the missing artifact before presenting
|
|
318
|
+
**IF any check fails → GENERATE the missing artifact before presenting completion summary.**
|
|
319
319
|
|
|
320
320
|
---
|
|
321
321
|
|
|
@@ -337,7 +337,7 @@ Simplified handoff with minimal scope:
|
|
|
337
337
|
- 3 core SeedData entries (omit some optional ones)
|
|
338
338
|
- Basic prd.json with simplified sections
|
|
339
339
|
- Lightweight progress.txt
|
|
340
|
-
-
|
|
340
|
+
- Display `/ralph-loop -r` command for later use
|
|
341
341
|
|
|
342
342
|
### Delta Mode (use_case = refactoring)
|
|
343
343
|
|
|
@@ -381,10 +381,7 @@ Also generates working files and updates the manifest:
|
|
|
381
381
|
- Effort estimates per module
|
|
382
382
|
- Cross-module integration tasks (if multi-module)
|
|
383
383
|
|
|
384
|
-
|
|
385
|
-
1. **Feature Full** - Parallel rapid code generation (70-80% coverage)
|
|
386
|
-
2. **Ralph Loop** - Sequential task-driven development (95-100% coverage)
|
|
387
|
-
3. **End BA** - Manual development by team
|
|
384
|
+
Completion: Display summary with `/ralph-loop -r` command for later execution after stakeholder validation.
|
|
388
385
|
|
|
389
386
|
---
|
|
390
387
|
|
|
@@ -471,7 +468,6 @@ Before presenting handoff to user:
|
|
|
471
468
|
| progress.txt incomplete | Ensure all 5 CORE SeedData entries are present per module. Check topological order. |
|
|
472
469
|
| ba-interactive.html deployment failed | Verify output directory exists. Check file permissions. Ensure HTML template is readable. |
|
|
473
470
|
| BA manifest not found | Create docs/business/index.json if missing. Use schema provided in section 4. |
|
|
474
|
-
| User choice question failed | Catch AskUserQuestion error and display manual instructions for skill launch. |
|
|
475
471
|
| HTML pre-populated but empty | Verify FEATURE_DATA and EMBEDDED_ARTIFACTS objects are serialized correctly. Check JSON syntax. |
|
|
476
472
|
|
|
477
473
|
---
|
|
@@ -12,23 +12,18 @@
|
|
|
12
12
|
> **Version:** {version}
|
|
13
13
|
> **Validated Specs:** feature.json (validation.decision = APPROVED)
|
|
14
14
|
> **Source:** `docs/business/{app}/{module}/business-analyse/v{version}/feature.json`
|
|
15
|
-
> **Implementation:** `/ralph-loop -r`
|
|
15
|
+
> **Implementation:** `/ralph-loop -r`
|
|
16
16
|
|
|
17
17
|
## DEVELOPER INSTRUCTIONS
|
|
18
18
|
|
|
19
19
|
This document is a self-contained prompt for Claude Code.
|
|
20
20
|
|
|
21
|
-
**
|
|
21
|
+
**Lancement:**
|
|
22
22
|
```
|
|
23
23
|
/ralph-loop -r
|
|
24
24
|
```
|
|
25
25
|
> Pre-generated `.ralph/prd.json` with atomic task breakdown.
|
|
26
26
|
|
|
27
|
-
**Option 2 - One-shot:**
|
|
28
|
-
```
|
|
29
|
-
/feature-full business/{app}/{module}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
27
|
---
|
|
33
28
|
|
|
34
29
|
## 1. QUICK CONTEXT
|
|
@@ -52,8 +47,8 @@ BACKEND:
|
|
|
52
47
|
- src/{project_namespace}.Domain/Business/ -> Entity structure + folder hierarchy
|
|
53
48
|
- src/{project_namespace}.Application/Business/ -> DTOs + service interfaces
|
|
54
49
|
- src/{project_namespace}.Application/Common/Interfaces/ -> Service contracts
|
|
55
|
-
- src/{project_namespace}.Infrastructure/Persistence/Configurations/ -> EF Core configs (subfolder per module)
|
|
56
|
-
- src/{project_namespace}.Infrastructure/Services/ -> Service implementations (subfolder per module)
|
|
50
|
+
- src/{project_namespace}.Infrastructure/Persistence/Configurations/ -> EF Core configs (subfolder per context/app/module)
|
|
51
|
+
- src/{project_namespace}.Infrastructure/Services/ -> Service implementations (subfolder per context/app/module)
|
|
57
52
|
- src/{project_namespace}.Infrastructure/Persistence/Seeding/Data/ -> SeedData patterns
|
|
58
53
|
|
|
59
54
|
SEED DATA (CRITICAL):
|
|
@@ -81,8 +76,8 @@ FRONTEND:
|
|
|
81
76
|
| DTOs | `Application/Business/{Application}/{Module}/DTOs/{Entity}Dto.cs` | Response, Create, Update records |
|
|
82
77
|
| Mapping | `Application/Business/{Application}/{Module}/DTOs/{Entity}MappingExtensions.cs` | Entity <-> DTO mapping |
|
|
83
78
|
| Permission Constants | `Application/Business/{Application}/{Module}/Permissions.cs` | Compile-time constants |
|
|
84
|
-
| EF Configuration | `Infrastructure/Persistence/Configurations/{Module}/{Entity}Configuration.cs` | Table + indexes + HasData |
|
|
85
|
-
| Service Implementation | `Infrastructure/Services/{Module}/{Entity}Service.cs` | Business logic |
|
|
79
|
+
| EF Configuration | `Infrastructure/Persistence/Configurations/{Context}/{Application}/{Module}/{Entity}Configuration.cs` | Table + indexes + HasData |
|
|
80
|
+
| Service Implementation | `Infrastructure/Services/{Context}/{Application}/{Module}/{Entity}Service.cs` | Business logic |
|
|
86
81
|
| Controller | `Api/Controllers/Business/{Application}/{Module}Controller.cs` | NavRoute + RequirePermission |
|
|
87
82
|
|
|
88
83
|
### 3.2 SeedData Core (CRITICAL -- without these, module is invisible and returns 403)
|
|
@@ -161,8 +156,8 @@ From: `feature.specification.seedDataCore` (5 core files), `feature.specificatio
|
|
|
161
156
|
**Folder Conventions:**
|
|
162
157
|
- [ ] Domain entities in `Domain/Business/{Application}/{Module}/`
|
|
163
158
|
- [ ] Application DTOs in `Application/Business/{Application}/{Module}/DTOs/`
|
|
164
|
-
- [ ] Infrastructure configs in `Configurations/{Module}/`
|
|
165
|
-
- [ ] Infrastructure services in `Services/{Module}/`
|
|
159
|
+
- [ ] Infrastructure configs in `Configurations/{Context}/{Application}/{Module}/`
|
|
160
|
+
- [ ] Infrastructure services in `Services/{Context}/{Application}/{Module}/`
|
|
166
161
|
- [ ] Controller in `Controllers/Business/{Application}/`
|
|
167
162
|
|
|
168
163
|
**SeedData Core (CRITICAL):**
|
|
@@ -181,13 +176,8 @@ From: `feature.specification.seedDataCore` (5 core files), `feature.specificatio
|
|
|
181
176
|
|
|
182
177
|
## EXECUTION
|
|
183
178
|
|
|
184
|
-
**
|
|
179
|
+
**Lancement:**
|
|
185
180
|
```bash
|
|
186
181
|
/ralph-loop -r
|
|
187
182
|
```
|
|
188
|
-
|
|
189
|
-
**One-shot:**
|
|
190
|
-
```bash
|
|
191
|
-
/feature-full business/{app}/{module}
|
|
192
|
-
```
|
|
193
183
|
```
|
|
@@ -1,158 +1,53 @@
|
|
|
1
1
|
# Skill Launch Display Templates (templates/tpl-launch-displays.md)
|
|
2
2
|
|
|
3
|
-
> **Used by:** step-05b-deploy (section 5
|
|
4
|
-
> **Purpose:** User-facing display templates for
|
|
3
|
+
> **Used by:** step-05b-deploy (section 5: Completion Summary)
|
|
4
|
+
> **Purpose:** User-facing display templates for BA completion
|
|
5
5
|
> **Note:** No emojis - uses text markers per Claude Code conventions
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## 1.
|
|
9
|
+
## 1. BA Completion Display
|
|
10
10
|
|
|
11
|
-
Display
|
|
11
|
+
Display at the end of the business analysis:
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
[LAUNCH] Lancement de Ralph Loop - Développement itératif automatique
|
|
15
|
-
|
|
16
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
17
|
-
║ CYCLE RALPH LOOP - Comment ça fonctionne ? ║
|
|
18
|
-
╠══════════════════════════════════════════════════════════════╣
|
|
19
|
-
║ ║
|
|
20
|
-
║ Ralph Loop exécute un cycle itératif jusqu'à 100% tests: ║
|
|
21
|
-
║ ║
|
|
22
|
-
║ 1. ANALYSE --> Charger task suivante du prd.json ║
|
|
23
|
-
║ 2. DÉVELOPPEMENT --> Générer le code demandé ║
|
|
24
|
-
║ • Backend (Entities, Services, Controllers, Repos) ║
|
|
25
|
-
║ • Tests unitaires (xUnit) + non-régression ║
|
|
26
|
-
║ • Frontend (Pages, Components, Hooks) ║
|
|
27
|
-
║ • Tests frontend (React Testing Library) ║
|
|
28
|
-
║ • SeedData (Core RBAC + business data) ║
|
|
29
|
-
║ • Documentation utilisateur (inline + tooltips) ║
|
|
30
|
-
║ 3. VALIDATION --> Commit + MCP conventions check ║
|
|
31
|
-
║ 4. TEST --> Exécuter dotnet test + npm test ║
|
|
32
|
-
║ 5. CORRECTION --> Si échec, analyser et corriger ║
|
|
33
|
-
║ 6. BOUCLE --> Répéter 4-5 jusqu'à 100% tests pass ║
|
|
34
|
-
║ 7. NEXT TASK --> Passer à la task suivante (retour à 1) ║
|
|
35
|
-
║ ║
|
|
36
|
-
║ [TARGET] Objectif: ZÉRO ERREUR avant de passer à la task suivante║
|
|
37
|
-
║ [STATS] Couverture: 95-100% (tests générés automatiquement) ║
|
|
38
|
-
║ ║
|
|
39
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
40
|
-
|
|
41
|
-
Configuration du projet:
|
|
42
|
-
┌────────────────────────────────────────────────────────────┐
|
|
43
|
-
│ Modules: {modules_list}
|
|
44
|
-
│ Stratégie: {implementation_strategy}
|
|
45
|
-
│ PRD: {prd_file_path}
|
|
46
|
-
│ Progress: .ralph/progress.txt
|
|
47
|
-
│ Ordre: {module_order}
|
|
48
|
-
│ └────────────────────────────────────────────────────────────┘
|
|
49
|
-
|
|
50
|
-
Modules à traiter (dans l'ordre):
|
|
51
|
-
{modules_numbered_list}
|
|
52
|
-
|
|
53
|
-
[DIR] Fichiers générés par le BA (inputs pour Ralph):
|
|
54
|
-
├─ feature.json (master + modules) --> Spécification source
|
|
55
|
-
├─ prd.json (ou prd-{module}.json) --> Task breakdown avec UC/FR/BR
|
|
56
|
-
├─ progress.txt --> Tracker hiérarchique (module --> layer --> tasks)
|
|
57
|
-
└─ ba-interactive.html --> Revue client (mockups, wireframes)
|
|
58
|
-
|
|
59
|
-
[LOOP] Ralph Loop va maintenant:
|
|
60
|
-
1. Détecter les prd-*.json par module (si multi-module)
|
|
61
|
-
2. Créer modules-queue.json avec l'ordre de traitement
|
|
62
|
-
3. Traiter module par module dans l'ordre topologique
|
|
63
|
-
4. Pour chaque module: parcourir les tasks (domain --> seeddata --> application --> infrastructure --> api --> frontend --> i18n --> tests)
|
|
64
|
-
5. Pour chaque task: générer code --> commit --> tests --> correction si échec --> re-test --> next task
|
|
65
|
-
6. Passer au module suivant quand 100% tasks du module actuel = completed
|
|
66
|
-
7. Générer rapport final avec métriques de couverture
|
|
67
|
-
|
|
68
14
|
═══════════════════════════════════════════════════════════════
|
|
69
|
-
|
|
70
|
-
--> Transition vers Ralph Loop...
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 2. Feature Full Launch Display
|
|
76
|
-
|
|
77
|
-
Display when user selects "Feature Full" development approach:
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
[LAUNCH] Lancement de Feature Full...
|
|
81
|
-
|
|
82
|
-
Configuration:
|
|
83
|
-
- Mode: Parallel generation
|
|
84
|
-
- Couverture: 70-80%
|
|
85
|
-
- Durée estimée: ~{estimated_hours} heures
|
|
86
|
-
|
|
15
|
+
[OK] BUSINESS ANALYSE TERMINEE - {application_name}
|
|
87
16
|
═══════════════════════════════════════════════════════════════
|
|
88
|
-
```
|
|
89
17
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
[OK] Business Analysis terminée.
|
|
98
|
-
|
|
99
|
-
Les équipes peuvent commencer le développement manuel.
|
|
100
|
-
Tous les artefacts sont prêts pour l'implémentation.
|
|
18
|
+
Modules: {count} ({names})
|
|
19
|
+
Strategy: {strategy}
|
|
20
|
+
Files: {total files across all modules}
|
|
21
|
+
Tasks: {total tasks} ({core_count} CORE + {biz_count} business + {dev_count} development)
|
|
22
|
+
Complexity: {complexity}
|
|
23
|
+
Effort: {total_days} days ({total_hours} hours)
|
|
101
24
|
|
|
102
|
-
[DIR]
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
25
|
+
[DIR] Artefacts générés:
|
|
26
|
+
✓ feature.json (master + per-module) - spécification complète
|
|
27
|
+
✓ .ralph/prd.json or .ralph/prd-{module}.json - task breakdown
|
|
28
|
+
✓ .ralph/progress.txt - tracker de progression
|
|
29
|
+
✓ ba-interactive.html - document de revue interactif
|
|
107
30
|
|
|
108
|
-
[
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- Fichiers à créer: {total_files}
|
|
31
|
+
[TARGET] Prochaines étapes:
|
|
32
|
+
1. Ouvrir ba-interactive.html dans le navigateur
|
|
33
|
+
2. Partager avec les stakeholders pour validation
|
|
34
|
+
3. Si retours --> relancer /business-analyse pour une nouvelle itération
|
|
35
|
+
4. Une fois validé, lancer le développement:
|
|
114
36
|
|
|
115
|
-
|
|
116
|
-
1. Ouvrir ba-interactive.html dans le navigateur
|
|
117
|
-
2. Partager avec les stakeholders pour validation finale
|
|
118
|
-
3. Utiliser progress.txt comme guide de développement
|
|
119
|
-
4. Implémenter module par module selon l'ordre topologique
|
|
120
|
-
|
|
121
|
-
[TIP] Pour lancer le développement assisté plus tard:
|
|
122
|
-
- Ralph Loop: /ralph-loop (détecte automatiquement .ralph/prd.json)
|
|
123
|
-
- Feature Full: /feature-full
|
|
37
|
+
/ralph-loop -r
|
|
124
38
|
|
|
125
39
|
═══════════════════════════════════════════════════════════════
|
|
126
40
|
```
|
|
127
41
|
|
|
128
42
|
---
|
|
129
43
|
|
|
130
|
-
## 4. Error Handling Display
|
|
131
|
-
|
|
132
|
-
Display when skill launch fails:
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
[!] Échec du lancement automatique de Ralph Loop
|
|
136
|
-
|
|
137
|
-
Veuillez lancer manuellement:
|
|
138
|
-
/ralph-loop
|
|
139
|
-
|
|
140
|
-
Si le problème persiste:
|
|
141
|
-
1. Vérifier que la skill ralph-loop est installée
|
|
142
|
-
2. Vérifier les permissions Claude Code
|
|
143
|
-
3. Consulter les logs: .ralph/logs/
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
44
|
## Text Marker Legend
|
|
149
45
|
|
|
150
46
|
| Marker | Replaces | Usage |
|
|
151
47
|
|--------|----------|-------|
|
|
152
|
-
| `-->` |
|
|
48
|
+
| `-->` | `->` or `→` | Directional flow, transitions |
|
|
153
49
|
| `[OK]` | `✅` | Success, completion |
|
|
154
50
|
| `[!]` | `⚠️` | Warning, caution |
|
|
155
|
-
| `[LAUNCH]` | `🚀` | Skill launch, startup |
|
|
156
51
|
| `[DIR]` | `📂` | Files, directories, structure |
|
|
157
52
|
| `[STATS]` | `📊` | Metrics, statistics, coverage |
|
|
158
53
|
| `[TIP]` | `💡` | Advice, suggestions |
|
|
@@ -353,23 +353,18 @@ Feature: {FEAT-XXX} {Feature Name}
|
|
|
353
353
|
> **Module:** business/{application}/{module}
|
|
354
354
|
> **Version:** 1.0
|
|
355
355
|
> **Validated Specs:** Specification v1.0 (validation.json)
|
|
356
|
-
> **Implementation:** `/ralph-loop -r`
|
|
356
|
+
> **Implementation:** `/ralph-loop -r`
|
|
357
357
|
|
|
358
358
|
## DEVELOPER INSTRUCTIONS
|
|
359
359
|
|
|
360
360
|
This document is a self-contained prompt for Claude Code.
|
|
361
361
|
|
|
362
|
-
**
|
|
362
|
+
**Lancement:**
|
|
363
363
|
```
|
|
364
364
|
/ralph-loop -r
|
|
365
365
|
```
|
|
366
366
|
> Pre-generated `.ralph/prd.json` with atomic task breakdown.
|
|
367
367
|
|
|
368
|
-
**Option 2 - One-shot:**
|
|
369
|
-
```
|
|
370
|
-
/feature-full business/{app}/{module}
|
|
371
|
-
```
|
|
372
|
-
|
|
373
368
|
---
|
|
374
369
|
|
|
375
370
|
## 1. QUICK CONTEXT
|
|
@@ -462,21 +457,10 @@ FRONTEND:
|
|
|
462
457
|
|
|
463
458
|
## EXECUTION
|
|
464
459
|
|
|
465
|
-
**
|
|
460
|
+
**Lancement:**
|
|
466
461
|
```bash
|
|
467
462
|
/ralph-loop -r
|
|
468
463
|
```
|
|
469
|
-
|
|
470
|
-
**One-shot:**
|
|
471
|
-
```bash
|
|
472
|
-
/feature-full business/{app}/{module}
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
Options (one-shot only):
|
|
476
|
-
- `--phase=1` : Backend only
|
|
477
|
-
- `--phase=2` : Frontend only
|
|
478
|
-
- `--phase=3` : Tests only
|
|
479
|
-
- `--phase=4` : Documentation only
|
|
480
464
|
```
|
|
481
465
|
|
|
482
466
|
---
|