@atlashub/smartstack-cli 4.18.0 → 4.20.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/package.json +1 -1
- package/templates/agents/ba-reader.md +86 -80
- package/templates/agents/ba-writer.md +318 -415
- package/templates/agents/docs-context-reader.md +3 -3
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
- package/templates/skills/apex/SKILL.md +29 -16
- package/templates/skills/apex/_shared.md +62 -9
- package/templates/skills/apex/references/analysis-methods.md +8 -6
- package/templates/skills/apex/references/challenge-questions.md +5 -5
- package/templates/skills/apex/references/core-seed-data.md +68 -45
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
- package/templates/skills/apex/references/parallel-execution.md +156 -0
- package/templates/skills/apex/references/person-extension-pattern.md +12 -12
- package/templates/skills/apex/references/post-checks.md +1748 -1726
- package/templates/skills/apex/references/smartstack-api.md +63 -57
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
- package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
- package/templates/skills/apex/references/smartstack-layers.md +98 -145
- package/templates/skills/apex/steps/step-00-init.md +30 -6
- package/templates/skills/apex/steps/step-01-analyze.md +27 -23
- package/templates/skills/apex/steps/step-02-plan.md +12 -12
- package/templates/skills/apex/steps/step-03-execute.md +198 -143
- package/templates/skills/apex/steps/step-04-examine.md +24 -93
- package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
- package/templates/skills/apex/steps/step-06-resolve.md +9 -9
- package/templates/skills/apex/steps/step-07-tests.md +3 -1
- package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
- package/templates/skills/business-analyse/SKILL.md +182 -301
- package/templates/skills/business-analyse/_shared.md +119 -336
- package/templates/skills/business-analyse/html/ba-interactive.html +706 -85
- package/templates/skills/business-analyse/html/build-html.js +41 -3
- package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
- package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
- package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
- package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +32 -6
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
- package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
- package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +1 -1
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
- package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
- package/templates/skills/business-analyse/html/src/template.html +1 -1
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
- package/templates/skills/business-analyse/questionnaire/01-context.md +11 -157
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +101 -0
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +92 -0
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +6 -0
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
- package/templates/skills/business-analyse/questionnaire.md +22 -280
- package/templates/skills/business-analyse/react/application-viewer.md +2 -2
- package/templates/skills/business-analyse/react/components.md +4 -4
- package/templates/skills/business-analyse/react/i18n-template.md +1 -1
- package/templates/skills/business-analyse/react/schema.md +14 -14
- package/templates/skills/business-analyse/references/acceptance-criteria.md +21 -21
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +5 -5
- package/templates/skills/business-analyse/references/deploy-data-build.md +12 -11
- package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
- package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
- package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
- package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
- package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
- package/templates/skills/business-analyse/references/robustness-checks.md +36 -36
- package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
- package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
- package/templates/skills/business-analyse/references/validation-checklist.md +3 -3
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
- package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
- package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
- package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
- package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -4
- package/templates/skills/business-analyse/steps/step-00-init.md +68 -77
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +50 -216
- package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
- package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
- package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
- package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
- package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
- package/templates/skills/business-analyse/templates-react.md +2 -2
- package/templates/skills/derive-prd/SKILL.md +92 -0
- package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
- package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -263
- package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
- package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
- package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
- package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
- package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
- package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
- package/templates/skills/documentation/SKILL.md +7 -0
- package/templates/skills/ralph-loop/SKILL.md +2 -1
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +1 -1
- package/templates/skills/ralph-loop/steps/step-01-task.md +2 -2
- package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
- package/templates/skills/business-analyse/_architecture.md +0 -124
- package/templates/skills/business-analyse/_elicitation.md +0 -206
- package/templates/skills/business-analyse/_module-loop.md +0 -115
- package/templates/skills/business-analyse/_rules.md +0 -142
- package/templates/skills/business-analyse/_suggestions.md +0 -34
- package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -58
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
- package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -366
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
- package/templates/skills/business-analyse/references/team-orchestration.md +0 -1093
- package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
- package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -486
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -300
- package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -405
- package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -516
- package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -691
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -937
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
# Progress Tracker Template (templates/tpl-progress.md)
|
|
2
|
-
|
|
3
|
-
> **Used by:** step-
|
|
4
|
-
> **Purpose:** Template structure for .ralph/progress.txt - populate with module-specific data
|
|
5
|
-
|
|
6
|
-
## Template
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
═════════════════════════════════════════════════════════════════
|
|
10
|
-
SMARTSTACK RALPH LOOP - PROGRESS TRACKER
|
|
11
|
-
Project: {project_name} | Application: {app_name}
|
|
12
|
-
Modules: {count} ({moduleOrder.join(', ')})
|
|
13
|
-
Strategy: {implementation_strategy}
|
|
14
|
-
Created: {timestamp}
|
|
15
|
-
Status: HANDED-OFF
|
|
16
|
-
═════════════════════════════════════════════════════════════════
|
|
17
|
-
|
|
18
|
-
{For each module in topological order:}
|
|
19
|
-
[MODULE: {module_name}] ({complexity})
|
|
20
|
-
Status: NOT STARTED
|
|
21
|
-
Dependencies: {list of module dependencies or "FOUNDATION"}
|
|
22
|
-
|
|
23
|
-
[DOMAIN] Entity & Value Object Definitions
|
|
24
|
-
□ Define {Entity1} entity with properties and validation
|
|
25
|
-
□ Define {Entity2} entity with relationships
|
|
26
|
-
□ Define {ValueObject1} value object
|
|
27
|
-
□ Define domain exceptions
|
|
28
|
-
□ Total: X tasks
|
|
29
|
-
|
|
30
|
-
[SEEDDATA-CORE] Core Configuration (MANDATORY)
|
|
31
|
-
□ NavigationApplicationSeedData - Application navigation entry (once per app)
|
|
32
|
-
□ ApplicationRolesSeedData - Application-scoped roles (once per app)
|
|
33
|
-
□ NavigationModuleSeedData - Module navigation structure (per module)
|
|
34
|
-
□ PermissionsSeedData - RBAC permissions (per module)
|
|
35
|
-
□ RolesSeedData - Role-permission mappings (per module)
|
|
36
|
-
□ {App}SeedDataProvider - IClientSeedDataProvider (4 methods)
|
|
37
|
-
Total: 2 app-level + 3 per-module + 1 provider
|
|
38
|
-
|
|
39
|
-
[SEEDDATA] Business Reference Data
|
|
40
|
-
□ Seed {Entity1} reference data
|
|
41
|
-
□ Seed {Entity2} lookup values
|
|
42
|
-
□ Total: Y business seed tasks
|
|
43
|
-
|
|
44
|
-
[APPLICATION] Services & Business Logic
|
|
45
|
-
□ Create {ServiceName}Service for {UC1}
|
|
46
|
-
□ Create {DtoName}Dto for API contracts
|
|
47
|
-
□ Create {ValidatorName}Validator for input validation
|
|
48
|
-
□ Implement query handlers
|
|
49
|
-
Total: Z tasks
|
|
50
|
-
|
|
51
|
-
[INFRASTRUCTURE] Repositories & Persistence
|
|
52
|
-
□ Create {Entity1}Repository with CRUD + custom queries
|
|
53
|
-
□ Create {Entity2}Repository
|
|
54
|
-
□ Configure DbContext for module
|
|
55
|
-
□ Setup specifications for complex queries
|
|
56
|
-
□ Create IClientSeedDataProvider (client projects ONLY - injects core seeds at runtime)
|
|
57
|
-
□ Create DevDataSeeder + SeedConstants (if first module)
|
|
58
|
-
□ Total: A tasks
|
|
59
|
-
|
|
60
|
-
[API] REST Endpoints & Controllers
|
|
61
|
-
□ Create {ModuleNameController} GET endpoints (List, GetById)
|
|
62
|
-
□ Create {ModuleNameController} POST endpoint (Create)
|
|
63
|
-
□ Create {ModuleNameController} PUT endpoint (Update)
|
|
64
|
-
□ Create {ModuleNameController} DELETE endpoint (Delete)
|
|
65
|
-
□ Implement error handling and validation responses
|
|
66
|
-
Total: B tasks
|
|
67
|
-
|
|
68
|
-
[FRONTEND] UI Components & Pages (wireframe-driven)
|
|
69
|
-
□ Create {ModuleName}Page for listing [wireframe: {module}-list]
|
|
70
|
-
□ Create {ModuleName}DetailPage for viewing [wireframe: {module}-detail]
|
|
71
|
-
□ Create {ModuleName}Form component for creation/edit [wireframe: {module}-create]
|
|
72
|
-
□ Create custom hook use{ModuleName}
|
|
73
|
-
□ Implement pagination, filtering, sorting
|
|
74
|
-
□ Validate all pages match their wireframe layout
|
|
75
|
-
□ ⚠️ Routes MUST be INSIDE the AppLayout wrapper
|
|
76
|
-
Total: C tasks
|
|
77
|
-
|
|
78
|
-
[I18N] Internationalization Keys
|
|
79
|
-
□ Define i18n keys for {Module} UI labels
|
|
80
|
-
□ Setup translations for locales: fr, en, it, de
|
|
81
|
-
Total: D keys
|
|
82
|
-
|
|
83
|
-
[TESTS] Unit & Integration Tests
|
|
84
|
-
□ Unit tests for {Entity} domain logic
|
|
85
|
-
□ Unit tests for {ServiceName}Service
|
|
86
|
-
□ Integration tests for {ModuleNameController}
|
|
87
|
-
□ Security tests for authorization & tenant isolation
|
|
88
|
-
□ E2E tests for critical user flows
|
|
89
|
-
Total: E unit + F integration + G security = H tests
|
|
90
|
-
|
|
91
|
-
[QA] Quality Assurance
|
|
92
|
-
□ Code review against SmartStack conventions
|
|
93
|
-
□ Test coverage minimum 80%
|
|
94
|
-
□ Security scan for OWASP vulnerabilities
|
|
95
|
-
□ Performance testing under load
|
|
96
|
-
Total: 4 QA tasks
|
|
97
|
-
|
|
98
|
-
Module Total: X + 5 + Y + Z + A + B + C + D + H + 4 = {module_total} tasks
|
|
99
|
-
Estimated Effort: {simple/medium/complex} - {1-3/3-8/8-15} days
|
|
100
|
-
|
|
101
|
-
{If multi-module:}
|
|
102
|
-
[CROSS-MODULE] Integration Tasks
|
|
103
|
-
Status: NOT STARTED
|
|
104
|
-
Dependencies: All modules COMPLETED
|
|
105
|
-
|
|
106
|
-
□ Verify cross-module entity relationships
|
|
107
|
-
□ Test cross-module API dependencies
|
|
108
|
-
□ Validate permission matrix across modules
|
|
109
|
-
□ E2E flow tests spanning multiple modules
|
|
110
|
-
□ Cross-module data consistency checks
|
|
111
|
-
□ Integration test suite for module interactions
|
|
112
|
-
Total: 6 CROSS-MODULE tasks
|
|
113
|
-
|
|
114
|
-
═════════════════════════════════════════════════════════════════
|
|
115
|
-
SUMMARY
|
|
116
|
-
═════════════════════════════════════════════════════════════════
|
|
117
|
-
Total Modules: {count}
|
|
118
|
-
Total Tasks: {total_count}
|
|
119
|
-
- CORE SeedData: {count} × 5 = {total_core}
|
|
120
|
-
- Business Tasks: {total_biz}
|
|
121
|
-
- Development: {total_dev}
|
|
122
|
-
- Tests: {total_tests}
|
|
123
|
-
- QA: {total_qa}
|
|
124
|
-
- Cross-Module: {cross_module_count or 0}
|
|
125
|
-
|
|
126
|
-
Strategy: {strategy}
|
|
127
|
-
Module Order: {topological order with dependencies noted}
|
|
128
|
-
|
|
129
|
-
Complexity Distribution:
|
|
130
|
-
Simple: {count} modules ({estimate} days each)
|
|
131
|
-
Medium: {count} modules ({estimate} days each)
|
|
132
|
-
Complex: {count} modules ({estimate} days each)
|
|
133
|
-
|
|
134
|
-
Total Effort Estimate: {total_days} days ({total_hours} hours)
|
|
135
|
-
Per Developer (2): {total_days / 2} days
|
|
136
|
-
Parallel Potential: {strategy_efficiency_percent}%
|
|
137
|
-
|
|
138
|
-
═════════════════════════════════════════════════════════════════
|
|
139
|
-
LEGEND
|
|
140
|
-
═════════════════════════════════════════════════════════════════
|
|
141
|
-
□ = Task not started
|
|
142
|
-
✓ = Task completed
|
|
143
|
-
⚠ = Task in progress
|
|
144
|
-
✗ = Task failed / blocked
|
|
145
|
-
|
|
146
|
-
COLORS:
|
|
147
|
-
[DOMAIN] = Domain Model & Business Logic
|
|
148
|
-
[SEEDDATA-CORE] = MANDATORY core configuration (5 entries)
|
|
149
|
-
[SEEDDATA] = Business reference & lookup data
|
|
150
|
-
[APPLICATION] = Services, DTOs, Validators
|
|
151
|
-
[INFRASTRUCTURE] = Repositories, DbContext, ORM
|
|
152
|
-
[API] = REST controllers & endpoints
|
|
153
|
-
[FRONTEND] = React pages, components, hooks
|
|
154
|
-
[I18N] = Internationalization
|
|
155
|
-
[TESTS] = Unit, Integration, Security, E2E
|
|
156
|
-
[QA] = Code quality, coverage, security
|
|
157
|
-
[CROSS-MODULE] = Multi-module integration (if applicable)
|
|
158
|
-
|
|
159
|
-
═════════════════════════════════════════════════════════════════
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Progress Tracker Rules
|
|
163
|
-
|
|
164
|
-
- One section per module, in topological order (dependencies first)
|
|
165
|
-
- CORE SeedData ALWAYS 5 entries (mandatory)
|
|
166
|
-
- Business SeedData varies by module
|
|
167
|
-
- Hierarchical task structure (module → layer → tasks)
|
|
168
|
-
- Each task is independent, assignable checkbox
|
|
169
|
-
- Effort estimate per module (simple/medium/complex)
|
|
170
|
-
- Summary with totals across all modules
|
|
171
|
-
- Identified dependencies for parallel execution
|
|
172
|
-
- Cross-module tasks only if multi-module
|
|
1
|
+
# Progress Tracker Template (templates/tpl-progress.md)
|
|
2
|
+
|
|
3
|
+
> **Used by:** step-05-deploy (section 4: Generate progress.txt)
|
|
4
|
+
> **Purpose:** Template structure for .ralph/progress.txt - populate with module-specific data
|
|
5
|
+
|
|
6
|
+
## Template
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
═════════════════════════════════════════════════════════════════
|
|
10
|
+
SMARTSTACK RALPH LOOP - PROGRESS TRACKER
|
|
11
|
+
Project: {project_name} | Application: {app_name}
|
|
12
|
+
Modules: {count} ({moduleOrder.join(', ')})
|
|
13
|
+
Strategy: {implementation_strategy}
|
|
14
|
+
Created: {timestamp}
|
|
15
|
+
Status: HANDED-OFF
|
|
16
|
+
═════════════════════════════════════════════════════════════════
|
|
17
|
+
|
|
18
|
+
{For each module in topological order:}
|
|
19
|
+
[MODULE: {module_name}] ({complexity})
|
|
20
|
+
Status: NOT STARTED
|
|
21
|
+
Dependencies: {list of module dependencies or "FOUNDATION"}
|
|
22
|
+
|
|
23
|
+
[DOMAIN] Entity & Value Object Definitions
|
|
24
|
+
□ Define {Entity1} entity with properties and validation
|
|
25
|
+
□ Define {Entity2} entity with relationships
|
|
26
|
+
□ Define {ValueObject1} value object
|
|
27
|
+
□ Define domain exceptions
|
|
28
|
+
□ Total: X tasks
|
|
29
|
+
|
|
30
|
+
[SEEDDATA-CORE] Core Configuration (MANDATORY)
|
|
31
|
+
□ NavigationApplicationSeedData - Application navigation entry (once per app)
|
|
32
|
+
□ ApplicationRolesSeedData - Application-scoped roles (once per app)
|
|
33
|
+
□ NavigationModuleSeedData - Module navigation structure (per module)
|
|
34
|
+
□ PermissionsSeedData - RBAC permissions (per module)
|
|
35
|
+
□ RolesSeedData - Role-permission mappings (per module)
|
|
36
|
+
□ {App}SeedDataProvider - IClientSeedDataProvider (4 methods)
|
|
37
|
+
Total: 2 app-level + 3 per-module + 1 provider
|
|
38
|
+
|
|
39
|
+
[SEEDDATA] Business Reference Data
|
|
40
|
+
□ Seed {Entity1} reference data
|
|
41
|
+
□ Seed {Entity2} lookup values
|
|
42
|
+
□ Total: Y business seed tasks
|
|
43
|
+
|
|
44
|
+
[APPLICATION] Services & Business Logic
|
|
45
|
+
□ Create {ServiceName}Service for {UC1}
|
|
46
|
+
□ Create {DtoName}Dto for API contracts
|
|
47
|
+
□ Create {ValidatorName}Validator for input validation
|
|
48
|
+
□ Implement query handlers
|
|
49
|
+
Total: Z tasks
|
|
50
|
+
|
|
51
|
+
[INFRASTRUCTURE] Repositories & Persistence
|
|
52
|
+
□ Create {Entity1}Repository with CRUD + custom queries
|
|
53
|
+
□ Create {Entity2}Repository
|
|
54
|
+
□ Configure DbContext for module
|
|
55
|
+
□ Setup specifications for complex queries
|
|
56
|
+
□ Create IClientSeedDataProvider (client projects ONLY - injects core seeds at runtime)
|
|
57
|
+
□ Create DevDataSeeder + SeedConstants (if first module)
|
|
58
|
+
□ Total: A tasks
|
|
59
|
+
|
|
60
|
+
[API] REST Endpoints & Controllers
|
|
61
|
+
□ Create {ModuleNameController} GET endpoints (List, GetById)
|
|
62
|
+
□ Create {ModuleNameController} POST endpoint (Create)
|
|
63
|
+
□ Create {ModuleNameController} PUT endpoint (Update)
|
|
64
|
+
□ Create {ModuleNameController} DELETE endpoint (Delete)
|
|
65
|
+
□ Implement error handling and validation responses
|
|
66
|
+
Total: B tasks
|
|
67
|
+
|
|
68
|
+
[FRONTEND] UI Components & Pages (wireframe-driven)
|
|
69
|
+
□ Create {ModuleName}Page for listing [wireframe: {module}-list]
|
|
70
|
+
□ Create {ModuleName}DetailPage for viewing [wireframe: {module}-detail]
|
|
71
|
+
□ Create {ModuleName}Form component for creation/edit [wireframe: {module}-create]
|
|
72
|
+
□ Create custom hook use{ModuleName}
|
|
73
|
+
□ Implement pagination, filtering, sorting
|
|
74
|
+
□ Validate all pages match their wireframe layout
|
|
75
|
+
□ ⚠️ Routes MUST be INSIDE the AppLayout wrapper
|
|
76
|
+
Total: C tasks
|
|
77
|
+
|
|
78
|
+
[I18N] Internationalization Keys
|
|
79
|
+
□ Define i18n keys for {Module} UI labels
|
|
80
|
+
□ Setup translations for locales: fr, en, it, de
|
|
81
|
+
Total: D keys
|
|
82
|
+
|
|
83
|
+
[TESTS] Unit & Integration Tests
|
|
84
|
+
□ Unit tests for {Entity} domain logic
|
|
85
|
+
□ Unit tests for {ServiceName}Service
|
|
86
|
+
□ Integration tests for {ModuleNameController}
|
|
87
|
+
□ Security tests for authorization & tenant isolation
|
|
88
|
+
□ E2E tests for critical user flows
|
|
89
|
+
Total: E unit + F integration + G security = H tests
|
|
90
|
+
|
|
91
|
+
[QA] Quality Assurance
|
|
92
|
+
□ Code review against SmartStack conventions
|
|
93
|
+
□ Test coverage minimum 80%
|
|
94
|
+
□ Security scan for OWASP vulnerabilities
|
|
95
|
+
□ Performance testing under load
|
|
96
|
+
Total: 4 QA tasks
|
|
97
|
+
|
|
98
|
+
Module Total: X + 5 + Y + Z + A + B + C + D + H + 4 = {module_total} tasks
|
|
99
|
+
Estimated Effort: {simple/medium/complex} - {1-3/3-8/8-15} days
|
|
100
|
+
|
|
101
|
+
{If multi-module:}
|
|
102
|
+
[CROSS-MODULE] Integration Tasks
|
|
103
|
+
Status: NOT STARTED
|
|
104
|
+
Dependencies: All modules COMPLETED
|
|
105
|
+
|
|
106
|
+
□ Verify cross-module entity relationships
|
|
107
|
+
□ Test cross-module API dependencies
|
|
108
|
+
□ Validate permission matrix across modules
|
|
109
|
+
□ E2E flow tests spanning multiple modules
|
|
110
|
+
□ Cross-module data consistency checks
|
|
111
|
+
□ Integration test suite for module interactions
|
|
112
|
+
Total: 6 CROSS-MODULE tasks
|
|
113
|
+
|
|
114
|
+
═════════════════════════════════════════════════════════════════
|
|
115
|
+
SUMMARY
|
|
116
|
+
═════════════════════════════════════════════════════════════════
|
|
117
|
+
Total Modules: {count}
|
|
118
|
+
Total Tasks: {total_count}
|
|
119
|
+
- CORE SeedData: {count} × 5 = {total_core}
|
|
120
|
+
- Business Tasks: {total_biz}
|
|
121
|
+
- Development: {total_dev}
|
|
122
|
+
- Tests: {total_tests}
|
|
123
|
+
- QA: {total_qa}
|
|
124
|
+
- Cross-Module: {cross_module_count or 0}
|
|
125
|
+
|
|
126
|
+
Strategy: {strategy}
|
|
127
|
+
Module Order: {topological order with dependencies noted}
|
|
128
|
+
|
|
129
|
+
Complexity Distribution:
|
|
130
|
+
Simple: {count} modules ({estimate} days each)
|
|
131
|
+
Medium: {count} modules ({estimate} days each)
|
|
132
|
+
Complex: {count} modules ({estimate} days each)
|
|
133
|
+
|
|
134
|
+
Total Effort Estimate: {total_days} days ({total_hours} hours)
|
|
135
|
+
Per Developer (2): {total_days / 2} days
|
|
136
|
+
Parallel Potential: {strategy_efficiency_percent}%
|
|
137
|
+
|
|
138
|
+
═════════════════════════════════════════════════════════════════
|
|
139
|
+
LEGEND
|
|
140
|
+
═════════════════════════════════════════════════════════════════
|
|
141
|
+
□ = Task not started
|
|
142
|
+
✓ = Task completed
|
|
143
|
+
⚠ = Task in progress
|
|
144
|
+
✗ = Task failed / blocked
|
|
145
|
+
|
|
146
|
+
COLORS:
|
|
147
|
+
[DOMAIN] = Domain Model & Business Logic
|
|
148
|
+
[SEEDDATA-CORE] = MANDATORY core configuration (5 entries)
|
|
149
|
+
[SEEDDATA] = Business reference & lookup data
|
|
150
|
+
[APPLICATION] = Services, DTOs, Validators
|
|
151
|
+
[INFRASTRUCTURE] = Repositories, DbContext, ORM
|
|
152
|
+
[API] = REST controllers & endpoints
|
|
153
|
+
[FRONTEND] = React pages, components, hooks
|
|
154
|
+
[I18N] = Internationalization
|
|
155
|
+
[TESTS] = Unit, Integration, Security, E2E
|
|
156
|
+
[QA] = Code quality, coverage, security
|
|
157
|
+
[CROSS-MODULE] = Multi-module integration (if applicable)
|
|
158
|
+
|
|
159
|
+
═════════════════════════════════════════════════════════════════
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Progress Tracker Rules
|
|
163
|
+
|
|
164
|
+
- One section per module, in topological order (dependencies first)
|
|
165
|
+
- CORE SeedData ALWAYS 5 entries (mandatory)
|
|
166
|
+
- Business SeedData varies by module
|
|
167
|
+
- Hierarchical task structure (module → layer → tasks)
|
|
168
|
+
- Each task is independent, assignable checkbox
|
|
169
|
+
- Effort estimate per module (simple/medium/complex)
|
|
170
|
+
- Summary with totals across all modules
|
|
171
|
+
- Identified dependencies for parallel execution
|
|
172
|
+
- Cross-module tasks only if multi-module
|
|
@@ -22,10 +22,17 @@ Works in synergy with the `/documentation module` command.
|
|
|
22
22
|
<quick_start>
|
|
23
23
|
## WHEN THIS SKILL ACTIVATES
|
|
24
24
|
|
|
25
|
+
### PREREQUISITE — ONLY post-implementation
|
|
26
|
+
This skill requires the feature page to already exist (generated by /ralph-loop).
|
|
27
|
+
It reads real TSX pages, controllers, and entities. Without them, nothing to document.
|
|
28
|
+
|
|
29
|
+
→ For reviewing/editing the analysis BEFORE implementation: use ba-interactive.html (/business-analyse step-05)
|
|
30
|
+
|
|
25
31
|
Claude automatically invokes this skill when it detects:
|
|
26
32
|
|
|
27
33
|
| Trigger | Example |
|
|
28
34
|
|---------|---------|
|
|
35
|
+
| ❌ NEVER during BA | Before /ralph-loop — feature page does not exist yet |
|
|
29
36
|
| Explicit request | "Document the SLA module" |
|
|
30
37
|
| Documentation mention | "We should create the doc for..." |
|
|
31
38
|
| After implementation | "The feature is done, generate the doc" |
|
|
@@ -5,7 +5,7 @@ argument-hint: "[-m N] [-c TEXT] [-v] <task description>"
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<objective>
|
|
8
|
-
Execute the Ralph Weegund technique — iterative module orchestration. Ralph reads PRDs from `/
|
|
8
|
+
Execute the Ralph Weegund technique — iterative module orchestration. Ralph reads PRDs from `/derive-prd`, resolves task dependencies, and delegates all code generation to `/apex -d`. Uses progress persistence and Agent Teams for multi-module parallelization.
|
|
9
9
|
|
|
10
10
|
**Key principle:** Ralph ORCHESTRATES (task selection, module sequencing, PRD state, reporting). All code generation is delegated to `/apex`.
|
|
11
11
|
</objective>
|
|
@@ -15,6 +15,7 @@ Execute the Ralph Weegund technique — iterative module orchestration. Ralph re
|
|
|
15
15
|
**From Business Analysis (RECOMMENDED):**
|
|
16
16
|
```bash
|
|
17
17
|
/business-analyse MyFeature
|
|
18
|
+
# Then: /derive-prd
|
|
18
19
|
# Then: /ralph-loop -r
|
|
19
20
|
```
|
|
20
21
|
|
|
@@ -109,7 +109,7 @@ if (handoffStatus === 'handed-off') {
|
|
|
109
109
|
// BA handoff NOT complete
|
|
110
110
|
console.warn(`⚠ BA handoff status: "${handoffStatus}" (expected "handed-off")`);
|
|
111
111
|
console.warn('Cannot auto-recover PRD files without complete handoff');
|
|
112
|
-
console.warn('Run /
|
|
112
|
+
console.warn('Run /derive-prd to generate the handoff, then retry /ralph-loop');
|
|
113
113
|
STOP;
|
|
114
114
|
}
|
|
115
115
|
```
|
|
@@ -83,13 +83,13 @@ if (!sourceFeatureJson) {
|
|
|
83
83
|
if (handoff.status !== 'handed-off') {
|
|
84
84
|
console.error(`BLOCKING: BA HANDOFF INCOMPLETE
|
|
85
85
|
handoff.status = "${handoff.status || 'missing'}" (expected "handed-off")
|
|
86
|
-
Run /
|
|
86
|
+
Run /derive-prd to generate the handoff, then re-run /ralph-loop.`);
|
|
87
87
|
STOP;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
// CHECK 2: filesToCreate must have all categories
|
|
91
91
|
const filesToCreate = handoff.filesToCreate || {};
|
|
92
|
-
const requiredCategories = ['domain', 'application', 'infrastructure', 'api', 'frontend', 'seedData', 'tests'];
|
|
92
|
+
const requiredCategories = ['domain', 'application', 'infrastructure', 'api', 'frontend', 'seedData', 'tests', 'documentation'];
|
|
93
93
|
const missingInHandoff = requiredCategories.filter(c => !filesToCreate[c] || filesToCreate[c].length === 0);
|
|
94
94
|
|
|
95
95
|
if (missingInHandoff.length > 0) {
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
# Agent Teams Protocol — APEX
|
|
2
|
-
|
|
3
|
-
> **Loaded by:** step-01 (analysis scan) and step-03 (parallel execution)
|
|
4
|
-
> **Condition:** NOT economy_mode
|
|
5
|
-
> **Purpose:** Reusable protocol for TeamCreate, coordination, and shutdown.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Team Creation (T08)
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
TeamCreate:
|
|
13
|
-
team_name: "apex-{phase}" # e.g., "apex-analyze", "apex-layer2", "apex-layer3"
|
|
14
|
-
description: "{phase purpose}" # e.g., "Scan SmartStack project for existing code"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Always provide both `team_name` and `description`.
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Teammate Spawning (T12)
|
|
22
|
-
|
|
23
|
-
```yaml
|
|
24
|
-
Task:
|
|
25
|
-
subagent_type: "Explore" | "general-purpose" # See assignment table below
|
|
26
|
-
team_name: "apex-{phase}" # Must match TeamCreate
|
|
27
|
-
name: "{teammate-name}" # e.g., "scan-backend", "entity-employee"
|
|
28
|
-
model: "sonnet" | "opus" # sonnet for scan, opus for dev (T02/T06)
|
|
29
|
-
mode: "bypassPermissions"
|
|
30
|
-
prompt: "{detailed task prompt}"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Model & Agent Assignment (T02/T03/T06)
|
|
34
|
-
|
|
35
|
-
| Task Type | subagent_type | Model | Justification |
|
|
36
|
-
|-----------|---------------|-------|---------------|
|
|
37
|
-
| Scan/read files | Explore | Sonnet | Read-only (Glob, Grep, Read) |
|
|
38
|
-
| Read context (PRD, feature.json) | Explore | Sonnet | Read-only extraction |
|
|
39
|
-
| Code development | general-purpose | Opus | Full tools via skills/MCP |
|
|
40
|
-
| Fix/resolve | general-purpose | Opus | Requires reasoning + editing |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Task List Coordination (T10)
|
|
45
|
-
|
|
46
|
-
### Task Creation (by team lead, BEFORE spawning teammates)
|
|
47
|
-
|
|
48
|
-
Tasks MUST be created upfront for the full layer scope:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
FOR EACH entity in layer:
|
|
52
|
-
TaskCreate(
|
|
53
|
-
subject: "Layer {N}: {Entity} {layer_type}",
|
|
54
|
-
description: "{detailed scope: files, skills, MCP tools}",
|
|
55
|
-
activeForm: "{Building/Creating} {Entity} {layer_type}"
|
|
56
|
-
)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Task Assignment (by team lead, WHEN spawning)
|
|
60
|
-
|
|
61
|
-
Include task ID and metadata context in teammate prompt:
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
"Your assigned task ID is {task_id}.
|
|
65
|
-
Your metadata context: entities={entities}, layer={layer}, tools={tools}.
|
|
66
|
-
Call TaskUpdate(taskId: '{task_id}', status: 'in_progress') before starting.
|
|
67
|
-
Call TaskUpdate(taskId: '{task_id}', status: 'completed', metadata: { files_created: [...] }) after ENTITY_COMPLETE message."
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Task Monitoring (by team lead)
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
1. TaskList() — check progress after each teammate message
|
|
74
|
-
2. All tasks completed → proceed to build gate
|
|
75
|
-
3. Any task stuck → investigate, reassign if needed
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Communication (T09)
|
|
81
|
-
|
|
82
|
-
**Default:** Direct messages (DM) between specific agents.
|
|
83
|
-
|
|
84
|
-
```yaml
|
|
85
|
-
SendMessage:
|
|
86
|
-
type: "message" # DM, not broadcast
|
|
87
|
-
recipient: "{teammate-name}" # By name, not UUID
|
|
88
|
-
content: "{message}"
|
|
89
|
-
summary: "{5-10 word preview}"
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**Broadcast:** ONLY for emergency (all-stop, critical blocker).
|
|
93
|
-
|
|
94
|
-
```yaml
|
|
95
|
-
SendMessage:
|
|
96
|
-
type: "broadcast" # Expensive: N teammates = N deliveries
|
|
97
|
-
content: "{urgent message}"
|
|
98
|
-
summary: "{critical issue summary}"
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Team Decomposition (C01)
|
|
104
|
-
|
|
105
|
-
### Step-01 Analyze: Split by scan scope
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
scan-backend : Domain/ + Infrastructure/ + Application/ + Api/
|
|
109
|
-
scan-frontend : src/pages/ + src/components/ + src/locales/
|
|
110
|
-
scan-context : .ralph/ + docs/business/
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Step-03 Execute: Split by entity WITHIN a layer
|
|
114
|
-
|
|
115
|
-
> **Cross-layer parallelism is FORBIDDEN.** Layers execute sequentially: 0 → 1 → 2 → 3 → 4.
|
|
116
|
-
> Agent teams parallelize **multi-entity work within a single layer.**
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
Layer 2 (Backend) — if multiple entities:
|
|
120
|
-
entity-{name1} : Service + DTO + Controller for Entity1
|
|
121
|
-
entity-{name2} : Service + DTO + Controller for Entity2
|
|
122
|
-
...
|
|
123
|
-
|
|
124
|
-
Layer 3 (Frontend) — if multiple entities:
|
|
125
|
-
entity-{name1} : Pages + i18n + routes for Entity1
|
|
126
|
-
entity-{name2} : Pages + i18n + routes for Entity2
|
|
127
|
-
...
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Each teammate has an **isolated scope** (C02): handles one entity end-to-end within the layer.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Coordination (C03)
|
|
135
|
-
|
|
136
|
-
### Step-01: Lead aggregates scan results
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
1. Spawn 3 scan teammates
|
|
140
|
-
2. Each reports findings via DM to lead
|
|
141
|
-
3. Lead merges into unified analysis
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Step-03: Lead verifies between ALL 5 layers
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
1. Layer 0: lead executes (domain + infra + migration)
|
|
148
|
-
2. Build gate: dotnet build → MUST PASS
|
|
149
|
-
3. Layer 1: lead executes (seed data — sequential, no teams)
|
|
150
|
-
4. Build gate: dotnet build → MUST PASS
|
|
151
|
-
5. Layer 2: spawn entity teammates (if multi-entity) OR lead executes (if single entity)
|
|
152
|
-
6. Build gate: dotnet build → MUST PASS
|
|
153
|
-
7. Backend tests inline (scaffold + run + fix max 3)
|
|
154
|
-
8. Layer 3: spawn entity teammates (if multi-entity) OR lead executes (if single entity)
|
|
155
|
-
9. Compliance gate: 5 frontend checks → MUST PASS
|
|
156
|
-
10. Frontend tests inline (scaffold + run + fix max 3)
|
|
157
|
-
11. Layer 4 (optional): lead executes DevData
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Idle Handling (T13)
|
|
163
|
-
|
|
164
|
-
Teammates go idle after every turn — this is **normal**.
|
|
165
|
-
- Idle does NOT mean done or unavailable
|
|
166
|
-
- Sending a message to an idle teammate wakes them up
|
|
167
|
-
- Do NOT treat idle as an error
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Graceful Shutdown (T11)
|
|
172
|
-
|
|
173
|
-
After phase completes:
|
|
174
|
-
|
|
175
|
-
```yaml
|
|
176
|
-
# For each teammate:
|
|
177
|
-
SendMessage:
|
|
178
|
-
type: "shutdown_request"
|
|
179
|
-
recipient: "{teammate-name}"
|
|
180
|
-
content: "Phase complete, shutting down"
|
|
181
|
-
|
|
182
|
-
# Teammate responds:
|
|
183
|
-
SendMessage:
|
|
184
|
-
type: "shutdown_response"
|
|
185
|
-
request_id: "{from_request}"
|
|
186
|
-
approve: true
|
|
187
|
-
|
|
188
|
-
# After all confirmations:
|
|
189
|
-
TeamDelete
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Decision Matrix
|
|
195
|
-
|
|
196
|
-
| Condition | Action |
|
|
197
|
-
|-----------|--------|
|
|
198
|
-
| economy_mode = true | NO teams, all sequential |
|
|
199
|
-
| Single entity (any layer) | NO teams, agent principal handles all |
|
|
200
|
-
| Multiple entities, Layer 2 | Teams: one teammate per entity (service + controller) |
|
|
201
|
-
| Multiple entities, Layer 3 | Teams: one teammate per entity (pages + i18n) |
|
|
202
|
-
| Layer 0, Layer 1, Layer 4 | NO teams (sequential by nature) |
|
|
203
|
-
| Analysis phase (step-01) | Teams: scan-backend + scan-frontend + scan-context |
|