@atlashub/smartstack-cli 4.17.1 → 4.19.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.
Files changed (167) hide show
  1. package/package.json +1 -1
  2. package/templates/agents/ba-reader.md +86 -80
  3. package/templates/agents/ba-writer.md +321 -413
  4. package/templates/agents/docs-context-reader.md +3 -3
  5. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
  6. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
  7. package/templates/skills/apex/SKILL.md +29 -16
  8. package/templates/skills/apex/_shared.md +62 -9
  9. package/templates/skills/apex/references/analysis-methods.md +8 -6
  10. package/templates/skills/apex/references/challenge-questions.md +5 -5
  11. package/templates/skills/apex/references/core-seed-data.md +68 -45
  12. package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
  13. package/templates/skills/apex/references/parallel-execution.md +156 -0
  14. package/templates/skills/apex/references/person-extension-pattern.md +12 -12
  15. package/templates/skills/apex/references/post-checks.md +1748 -1726
  16. package/templates/skills/apex/references/smartstack-api.md +63 -57
  17. package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
  18. package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
  19. package/templates/skills/apex/references/smartstack-layers.md +98 -145
  20. package/templates/skills/apex/steps/step-00-init.md +30 -6
  21. package/templates/skills/apex/steps/step-01-analyze.md +27 -23
  22. package/templates/skills/apex/steps/step-02-plan.md +12 -12
  23. package/templates/skills/apex/steps/step-03-execute.md +198 -143
  24. package/templates/skills/apex/steps/step-04-examine.md +24 -93
  25. package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
  26. package/templates/skills/apex/steps/step-06-resolve.md +9 -9
  27. package/templates/skills/apex/steps/step-07-tests.md +3 -1
  28. package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
  29. package/templates/skills/business-analyse/SKILL.md +182 -301
  30. package/templates/skills/business-analyse/_shared.md +119 -336
  31. package/templates/skills/business-analyse/html/ba-interactive.html +703 -82
  32. package/templates/skills/business-analyse/html/build-html.js +41 -3
  33. package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
  34. package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
  35. package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
  36. package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
  37. package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
  38. package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
  39. package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
  40. package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
  41. package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
  42. package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
  43. package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
  44. package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
  45. package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
  46. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
  47. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +31 -5
  48. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
  49. package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
  50. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
  51. package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
  52. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
  53. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +142 -0
  54. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +94 -0
  55. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +150 -0
  56. package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
  57. package/templates/skills/business-analyse/questionnaire.md +23 -280
  58. package/templates/skills/business-analyse/react/application-viewer.md +2 -2
  59. package/templates/skills/business-analyse/react/components.md +4 -4
  60. package/templates/skills/business-analyse/react/i18n-template.md +1 -1
  61. package/templates/skills/business-analyse/react/schema.md +14 -14
  62. package/templates/skills/business-analyse/references/acceptance-criteria.md +25 -25
  63. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
  64. package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
  65. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +7 -7
  66. package/templates/skills/business-analyse/references/deploy-data-build.md +14 -12
  67. package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
  68. package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
  69. package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
  70. package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
  71. package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
  72. package/templates/skills/business-analyse/references/robustness-checks.md +36 -33
  73. package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
  74. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
  75. package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
  76. package/templates/skills/business-analyse/references/validation-checklist.md +9 -6
  77. package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
  78. package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
  79. package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
  80. package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
  81. package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
  82. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
  83. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
  84. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
  85. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
  86. package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -3
  87. package/templates/skills/business-analyse/steps/step-00-init.md +93 -134
  88. package/templates/skills/business-analyse/steps/step-01-cadrage.md +136 -172
  89. package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
  90. package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
  91. package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
  92. package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
  93. package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
  94. package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
  95. package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
  96. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
  97. package/templates/skills/business-analyse/templates-react.md +2 -2
  98. package/templates/skills/derive-prd/SKILL.md +92 -0
  99. package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
  100. package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
  101. package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
  102. package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
  103. package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
  104. package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -258
  105. package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
  106. package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
  107. package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
  108. package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
  109. package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
  110. package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
  111. package/templates/skills/ralph-loop/SKILL.md +10 -4
  112. package/templates/skills/ralph-loop/references/category-completeness.md +20 -4
  113. package/templates/skills/ralph-loop/references/compact-loop.md +80 -48
  114. package/templates/skills/ralph-loop/references/init-resume-recovery.md +4 -2
  115. package/templates/skills/ralph-loop/references/parallel-execution.md +27 -27
  116. package/templates/skills/ralph-loop/steps/step-00-init.md +19 -9
  117. package/templates/skills/ralph-loop/steps/step-01-task.md +12 -4
  118. package/templates/skills/ralph-loop/steps/step-02-execute.md +9 -4
  119. package/templates/skills/ralph-loop/steps/step-03-commit.md +1 -1
  120. package/templates/skills/ralph-loop/steps/step-04-check.md +5 -21
  121. package/templates/skills/ralph-loop/steps/step-05-report.md +6 -1
  122. package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
  123. package/templates/skills/business-analyse/_architecture.md +0 -124
  124. package/templates/skills/business-analyse/_elicitation.md +0 -206
  125. package/templates/skills/business-analyse/_module-loop.md +0 -115
  126. package/templates/skills/business-analyse/_suggestions.md +0 -34
  127. package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
  128. package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
  129. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
  130. package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
  131. package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
  132. package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
  133. package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
  134. package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
  135. package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
  136. package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
  137. package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -43
  138. package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
  139. package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
  140. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
  141. package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
  142. package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
  143. package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -362
  144. package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
  145. package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
  146. package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
  147. package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
  148. package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
  149. package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
  150. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
  151. package/templates/skills/business-analyse/references/team-orchestration.md +0 -1022
  152. package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
  153. package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
  154. package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
  155. package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
  156. package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -506
  157. package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -301
  158. package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -425
  159. package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -611
  160. package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -783
  161. package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
  162. package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
  163. package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
  164. package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
  165. package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -840
  166. package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
  167. package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
@@ -1,383 +1,166 @@
1
- # Business Analysis - Shared Core
2
-
3
- > **Ref:** Core shared functions loaded by ALL BA steps.
4
- >
5
- > **Conditional files (loaded per-step as needed):**
6
- > - `_elicitation.md` — Interactive protocol, techniques 1-8, AskUserQuestion format, ULTRATHINK
7
- > - `_architecture.md` — SmartStack 5 layers, entity base classes, DB conventions, SeedData Core
8
- > - `_module-loop.md` — Module iteration protocol, state management, resume logic
9
- > - `_suggestions.md` — Proactive suggestions, Context7 libraries
10
-
11
- ---
1
+ # Business Analysis Shared Conventions
12
2
 
13
3
  ## JSON-First Architecture
14
4
 
15
- All BA outputs are stored in up to **three levels** of feature.json, enriched progressively:
16
-
17
- ### Project-Level (Multi-App Master) — Only if 2+ applications
18
- **Path:** `docs/business-analyse/v{X.Y}/feature.json`
19
- **Schema:** `docs/business-analyse/schemas/project-schema.json`
20
- **$schema:** `"../schemas/project-schema.json"`
21
-
22
- | Step | Section enriched | Status after |
23
- |------|-----------------|--------------|
24
- | 00-init | metadata | draft |
25
- | 01-cadrage | cadrage (global problem, stakeholders, scope, roles) | framed |
26
- | 01b-applications | applications[], applicationDependencyGraph | decomposed |
27
- | 02-05 | applications[].status updated per iteration | specified → handed-off |
28
-
29
- > **Backward compatibility:** If only 1 application is identified, the project level is NOT created. The application-level feature.json remains the master (current behavior).
30
-
31
- ### Application-Level (Master)
32
- **Path:** `docs/{app}/business-analyse/v{X.Y}/feature.json`
33
- **Schema:** `docs/{app}/business-analyse/schemas/application-schema.json` (deployed to project by step-00)
34
- **$schema:** `"../schemas/application-schema.json"` (relative in feature.json)
35
-
36
- | Step | Section enriched | Status after |
37
- |------|-----------------|--------------|
38
- | 00-init (or 01b) | metadata | draft |
39
- | 01-cadrage | cadrage (problem, stakeholders, scope, roles) | framed |
40
- | 02-decomposition | modules, dependencyGraph | decomposed |
41
- | 03-specify | modules[].status updated per iteration | specified |
42
- | 04-consolidation | consolidation | consolidated |
43
- | 05-handoff | (per-module handoff) | handed-off |
44
-
45
- ### Module-Level (Per Module)
46
- **Path:** `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json`
47
- **Schema:** `docs/{app}/business-analyse/schemas/feature-schema.json` (deployed to project by step-00)
48
- **$schema:** `"../../../business-analyse/schemas/feature-schema.json"` (relative in feature.json)
49
-
50
- | Step | Section enriched | Status after |
51
- |------|-----------------|--------------|
52
- | 03-specify (init) | metadata, applicationContext | in-progress |
53
- | 03-specify (sections) | specification.wireframes | in-progress |
54
- | 03-specify (entities) | analysis.entities, analysis.businessRules | in-progress |
55
- | 03-specify (spec) | specification (full) | specified |
56
- | 03-specify (validate) | validation | validated |
57
-
58
- **Agents:**
59
- - **ba-writer**: Writes/updates feature.json (create, enrichSection, updateStatus, createVersion, createApplicationFeature, createProjectFeature, enrichApplicationRegistry, advanceModuleLoop, advanceApplicationLoop)
60
- - **ba-reader**: Reads feature.json (findFeature, findProjectFeature, readSection, answerQuestion, getSummaryForSkill, readApplicationContext, getCompletedModulesSummary, getCompletedApplicationsSummary)
61
-
62
- **Schemas:** Deployed to project at `docs/{app}/business-analyse/schemas/` (10 files, including project-schema.json). Source: `schemas/` in skill directory. Every feature.json includes `$schema` relative reference.
63
-
64
- ### Workflow Modes
65
-
66
- | Mode | Trigger | Master Level | Loop |
67
- |------|---------|-------------|------|
68
- | `"module"` | 1 module only | Application | No loop |
69
- | `"application"` | 1 app, 2+ modules | Application | Module loop |
70
- | `"project"` | 2+ applications | Project | Application loop → Module loop per app |
71
-
72
- ---
73
-
74
- ## 4-Level Navigation Hierarchy (SmartStack)
75
-
76
- > **This is the structuring principle of the entire BA workflow.**
77
-
78
- The BA aligns with the SmartStack navigation hierarchy:
79
-
80
- ```
81
- Level 1: Application (Sales)
82
- Level 2: Module (Customers)
83
- Level 3: Section (list) ← sidebar nav
84
- Level 4: Resource (customer-grid)
85
- Level 4: Resource (customer-filters)
86
- Level 3: Section (detail) [hidden] ← reached by row click, route :id
87
- Level 4: Resource (customer-detail-header)
88
- Level 4: Resource (customer-detail-tabs)
89
- Level 4: Resource (customer-info-card)
90
- Level 4: Resource (customer-orders-grid) ← relation tab
91
- Level 4: Resource (customer-history) ← audit tab
92
- Level 2: Module (Orders)
93
- Level 3: Section (list) ← sidebar nav
94
- Level 3: Section (detail) [hidden] ← reached by row click
95
- Level 3: Section (approve) ← sidebar nav (workflow)
96
- ```
97
-
98
- **CRITICAL — Application identification (Level 1):**
99
- The application is formally identified in step-01b (ALWAYS, even for single-app mode):
100
- - Code: PascalCase (e.g., "HumanResources")
101
- - Route: kebab-case (e.g., "/human-resources")
102
- - Icon: Lucide icon name
103
- - Sort order: position in navigation
104
- This creates the `seedDataCore.navigationApplications` entry that links modules to their parent application.
105
- The `seedDataCore.applicationRoles` entries are also built from `cadrage.applicationRoles`.
106
-
107
- | BA Phase | Levels treated | What is defined |
108
- |----------|---------------|-----------------|
109
- | Cadrage (step-01) | Application | Problem, stakeholders, scope, application-level roles |
110
- | Decomposition (step-02) | Modules | Module list, dependencies, processing order |
111
- | Specification (step-03) | Module → Sections → Resources (levels 2-3-4) | Entities, BR, UC, permissions, ASCII/SVG mockups per section |
112
- | Consolidation (step-04) | Cross-module | Interactions, permission coherence, E2E flows |
113
- | Handoff (step-05) | All levels | Implementation mapping, prd.json |
114
-
115
- ### Route patterns
116
- ```
117
- /{application}/{module} ← list section (= module route, NO /list suffix)
118
- /{application}/{module}/:id ← detail page (= module route + /:id, NO /detail prefix)
119
- /{application}/{module}/{section} ← other sidebar sections (dashboard, approve, import, etc.)
120
- ```
121
-
122
- **Detail page routing:**
123
- - The detail page uses a parameterized route with `:id`
124
- - It is NOT registered as a sidebar navigation entry (`navigation: "hidden"`)
125
- - It is reached by clicking a row in the `list` section (action: `navigate:detail`)
126
- - The back button navigates to `/{application}/{module}`
127
- - Route MUST be registered in frontend routing (App.tsx) alongside the list route
128
-
129
- > **ROUTE SPECIAL CASES (list and detail sections):**
130
- > `list` and `detail` are view modes of the module, NOT functional sub-areas.
131
- > - `list` route = module route (NO `/list` suffix) — React Router index route
132
- > - `detail` route = module route + `/:id` (NO `/detail/` prefix) — React Router `:id` child
133
- > - FORBIDDEN in navigation seed: `/module/list`, `/module/detail/:id`
134
- > - Other sections (dashboard, approve, import) add `/{section-kebab}` normally
135
-
136
- ### Standard Sections per Module
137
-
138
- > **RULE: Sections are functional zones, NOT CRUD operations.**
139
- > `create` and `edit` are SEPARATE PAGES with their own URL routes (`/create` and `/:id/edit`).
140
- > `detail` is a page with tabs accessible by clicking a row in `list` (not a standalone nav section).
141
-
142
- | Section | Purpose | Typical Components |
143
- |---------|---------|-------------------|
144
- | `list` | **Main page**: entity grid + create button (navigates to `/create` page) + click to detail | DataGrid, FilterBar, Pagination, CreateButton |
145
- | `detail` | **Reached from list** (hidden nav, route `:id`): tabbed view of entity details + edit button (navigates to `/:id/edit` page) | BackButton, DetailHeader, StatusBadge, TabPanel, DetailCard, SmartTable (relations), Timeline (history) |
146
- | `dashboard` | Module overview/KPIs (if analytics needed) | Charts, StatCards, RecentActivity |
147
- | `approve` | Approval workflow queue (if validation workflow) | ApprovalPanel, StatusTimeline |
148
- | `import` | Bulk data import (if volume > 100) | FileUpload, MappingTable, Preview |
149
- | `rapport` | Module-specific reporting | ReportBuilder, ExportPanel |
150
- | `planning` | Calendar/planning view (if time-based data) | Calendar, GanttChart, TimelineView |
151
-
152
- **What is NEVER a section:**
153
-
154
- | NOT a sidebar section | What it really is |
155
- |---------------|-------------------|
156
- | `create` | Action button in `list` page → navigates to `/create` page with form |
157
- | `edit` | Action in list/detail page → navigates to `/:id/edit` page with pre-filled form |
158
- | `delete` | Action with inline confirmation in `list` or detail |
159
- | `search` | FilterBar component integrated in the `list` section |
160
-
161
- > **Note on `detail`:** The detail page IS a `specification.sections[]` entry (with `navigation: "hidden"`) so it gets a wireframe, resources, and route. But it is NOT shown in the sidebar — it is reached by clicking a row in `list`. Every module with a `list` section MUST have a companion `detail` section.
162
-
163
- ---
164
-
165
- ---
5
+ Feature data is stored as granular JSON files, NOT markdown. Each module has an `index.json` referencing thematic files.
166
6
 
167
- ## Feature Directory Structure
7
+ ### File structure
168
8
 
169
9
  ```
170
10
  docs/
171
- business-analyse/ <- PROJECT level (only if multi-app)
172
- schemas/
173
- project-schema.json
174
- v1.0/
175
- feature.json <- PROJECT master ($schema: ../schemas/project-schema.json)
176
- {application}/
177
- business-analyse/
178
- schemas/ <- JSON SCHEMAS (deployed by step-00)
179
- feature-schema.json
180
- application-schema.json
181
- project-schema.json
182
- sections/
183
- analysis-schema.json
184
- discovery-schema.json
185
- handoff-schema.json
186
- metadata-schema.json
187
- specification-schema.json
188
- validation-schema.json
189
- shared/
190
- common-defs.json
191
- v1.0/
192
- feature.json <- APPLICATION master ($schema: ../schemas/application-schema.json)
193
- {module1}/
194
- business-analyse/
195
- v1.0/
196
- feature.json <- MODULE detail ($schema: ../../../business-analyse/schemas/feature-schema.json)
197
- {module2}/
198
- business-analyse/
199
- v1.0/
200
- feature.json <- MODULE detail
11
+ business-analyse/v{X.Y}/
12
+ index.json ← Project index (multi-app only)
13
+ cadrage.json ← Project-level framing
14
+ {app}/
15
+ business-analyse/v{X.Y}/
16
+ index.json ← Application index
17
+ cadrage.json ← App-level framing
18
+ {module}/
19
+ business-analyse/v{X.Y}/
20
+ index.json ← Module index
21
+ entities.json ← Entities, attributes, relations
22
+ rules.json ← Business rules
23
+ usecases.json ← Use cases
24
+ permissions.json ← Permissions matrix
25
+ screens.json ← Interface specs (sections, resources, mockups)
26
+ validation.json ← Validation results
27
+ handoff.json ← File mapping, API specs
28
+ ```
29
+
30
+ ### Index.json structure
31
+
32
+ ```json
33
+ {
34
+ "metadata": {
35
+ "featureId": "FEAT-001",
36
+ "moduleCode": "Employees",
37
+ "applicationCode": "HumanResources",
38
+ "version": "1.0",
39
+ "status": "specified",
40
+ "createdAt": "...",
41
+ "lastModified": "..."
42
+ },
43
+ "files": {
44
+ "entities": { "path": "entities.json", "hash": "abc123", "lastModified": "..." },
45
+ "rules": { "path": "rules.json", "hash": "def456", "lastModified": "..." },
46
+ ...
47
+ },
48
+ "summary": {
49
+ "entityCount": 3,
50
+ "ruleCount": 5,
51
+ "useCaseCount": 8,
52
+ "permissionCount": 22,
53
+ "screenCount": 4,
54
+ "dependencies": ["Absences"]
55
+ }
56
+ }
201
57
  ```
202
58
 
203
- > In standalone mode (single app), the project-level directory is NOT created.
59
+ ### Partial loading
204
60
 
205
- **Ralph Loop Integration (generated by step-05):**
61
+ Steps load only the files they need:
62
+ - **ba-reader** reads `index.json` to discover files, then loads only the requested file
63
+ - **ba-writer** writes to specific files (e.g., `entities.json`) and updates the hash in `index.json`
206
64
 
207
- ```
208
- .ralph/
209
- prd.json # Task breakdown derived from handoff (for /ralph-loop)
210
- progress.txt # Links back to BA feature documents
211
- logs/
212
- reports/
213
- ```
65
+ ## Workflow Modes
214
66
 
215
- ---
67
+ | Mode | Trigger | Description |
68
+ |------|---------|-------------|
69
+ | `new` | No existing index.json | Full analysis from scratch |
70
+ | `update` | Existing index.json found | Delta analysis (add modules, update specs) |
71
+ | `review` | ba-review.json provided | Apply client corrections from HTML export |
216
72
 
217
- ## Feature ID Generation
73
+ ### Workflow detection
218
74
 
219
75
  ```
220
- generate_feature_id():
221
- last_id = read_config(".business-analyse/config.json", "lastFeatureId") OR 0
222
- new_id = last_id + 1
223
- update_config(".business-analyse/config.json", "lastFeatureId", new_id)
224
- RETURN format("FEAT-%03d", new_id)
225
-
226
- generate_project_id():
227
- last_id = read_config(".business-analyse/config.json", "lastProjectId") OR 0
228
- new_id = last_id + 1
229
- update_config(".business-analyse/config.json", "lastProjectId", new_id)
230
- RETURN format("PROJ-%03d", new_id)
76
+ 1. Check for ba-review.json in project root → mode = "review"
77
+ 2. Check for existing docs/**/index.json → mode = "update"
78
+ 3. Otherwise mode = "new"
231
79
  ```
232
80
 
233
- ---
81
+ ## Navigation Hierarchy
234
82
 
235
- ## Permission Path Format
83
+ Maps to SmartStack DB tables:
236
84
 
237
- | Level | Format | Example |
238
- |-------|--------|---------|
239
- | Module | `{app}.{module}.{action}` | `human-resources.employees.read` |
240
- | Section | `{app}.{module}.{section}.{action}` | `human-resources.employees.departments.read` |
85
+ | Level | DB Table | Example |
86
+ |-------|----------|---------|
87
+ | Application | nav_Applications | HumanResources |
88
+ | Module | nav_Modules | Employees |
89
+ | Section | nav_Sections | list, detail |
90
+ | Resource | nav_Resources | employees-grid, employee-form |
241
91
 
242
- > **Rule:** Use module-level permissions for standard CRUD. Use section-level permissions only when a section requires distinct access control (e.g., dashboard, approve, import).
243
- >
244
- > **CRITICAL — All segments use kebab-case:** Multi-word codes MUST have hyphens. `human-resources`, NOT `humanresources`. Matches NavRoute convention. SmartStack.app ref: `support-client.my-tickets.read`
92
+ ### Naming conventions
245
93
 
246
- | Action | Permission | Usage |
247
- |--------|------------|-------|
248
- | Read | `.read` | GET endpoints |
249
- | Create | `.create` | POST endpoints |
250
- | Update | `.update` | PUT endpoints |
251
- | Delete | `.delete` | DELETE endpoints |
252
- | Export | `.export` | Export data |
253
- | Import | `.import` | Import data |
254
- | Admin | `.admin` | Administrative |
94
+ - **Application code**: PascalCase (e.g., `HumanResources`)
95
+ - **Module code**: PascalCase (e.g., `Employees`)
96
+ - **Section code**: kebab-case (e.g., `list`, `detail`, `dashboard`)
97
+ - **Resource code**: kebab-case (e.g., `employees-grid`, `employee-form`)
255
98
 
256
- ---
99
+ ## Permission Paths
257
100
 
258
- ## i18n (4 required languages)
101
+ Format: `{ApplicationCode}.{ModuleCode}.{Action}`
259
102
 
260
- | Language | File | Code |
261
- |----------|------|------|
262
- | French | `fr/docs-{app}-{module}.json` | fr |
263
- | English | `en/docs-{app}-{module}.json` | en |
264
- | Italian | `it/docs-{app}-{module}.json` | it |
265
- | German | `de/docs-{app}-{module}.json` | de |
103
+ Actions: `Read`, `Create`, `Update`, `Delete`, `Export`, `Validate`
266
104
 
267
- ---
105
+ Example: `HumanResources.Employees.Read`
268
106
 
269
- ## Output Paths
107
+ For section-level: `{ApplicationCode}.{ModuleCode}.{SectionCode}.{Action}`
270
108
 
271
- | Type | Path |
272
- |------|------|
273
- | BA Feature | `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json` |
274
- | User Guide | `docs/{app}/{module}/user-guide/v{X.Y}/guide.json` |
275
- | i18n | `web/smartstack-web/src/i18n/locales/{lang}/` |
109
+ ## Agents
276
110
 
277
- ---
111
+ ### ba-writer
278
112
 
279
- ## State Persistence
113
+ Writes granular JSON files. Key operations:
114
+ - `create(scope, data)` — Create index.json + initial files
115
+ - `enrichSection(fileType, data)` — Write to specific file (entities.json, rules.json, etc.)
116
+ - `updateIndex(summary)` — Update index.json metadata and summary
117
+ - `createVersion(type)` — Create new version (major/minor)
118
+ - `applyReview(reviewData)` — Apply ba-review.json corrections
280
119
 
281
- State is persisted in `feature.json.metadata` and `feature.json.metadata.steps`. Each step reads/writes via `ba-writer` and `ba-reader` agents.
282
-
283
- ```json
284
- {
285
- "metadata": {
286
- "featureId": "FEAT-001",
287
- "status": "analysed",
288
- "steps": {
289
- "00-init": { "completed": "2025-02-01T10:00:00Z" },
290
- "01-analyse": { "completed": "2025-02-01T11:30:00Z" },
291
- "02-specify": { "inProgress": true }
292
- }
293
- }
294
- }
295
- ```
120
+ ### ba-reader
296
121
 
297
- ---
122
+ Reads via index.json. Key operations:
123
+ - `findFeature(featureId)` — Locate feature by ID
124
+ - `readSection(moduleCode, fileType)` — Read specific file via index
125
+ - `getModuleStatus()` — Status table of all modules
126
+ - `getCompletedModulesSummary()` — Compact summaries for context loading
127
+ - `getSummaryForSkill(skill)` — Context for other skills (ralph-loop, etc.)
298
128
 
299
- ## Resume Workflow
129
+ ## Status Progression
300
130
 
301
131
  ```
302
- resume_workflow(feat_id):
303
- 1. ba-reader.findFeature(feat_id) -> latest feature.json
304
- 2. Read feature.json.metadata.steps -> find last completed step
305
- 3. Load next step file
306
- 4. If not found: offer to create fresh feature.json
132
+ draft → identified → specified → validated → reviewed
307
133
  ```
308
134
 
309
- ---
135
+ | Status | Set by | Meaning |
136
+ |--------|--------|---------|
137
+ | draft | Step 00 | Feature created, no content |
138
+ | identified | Step 02 | Hierarchy identified (App > Module > Section > Resource) |
139
+ | specified | Step 03 | Module fully specified (entities, UCs, BRs, permissions, screens) |
140
+ | validated | Step 04 | Cross-module validation passed |
141
+ | reviewed | Step 06 | Client review applied |
310
142
 
311
- ## Standard Summary (End of Step)
143
+ ## Handoff & PRD Generation
312
144
 
313
- ```
314
- {STEP_NAME} - {feature_id}
315
- Status: {status in feature.json}
316
- Section enriched: {discovery|analysis|specification|validation|handoff}
317
- feature.json: {path}
318
- Next: {next step name}
319
- ```
320
-
321
- ---
322
-
323
- ## Configuration Langue de Communication
324
-
325
- > **Objectif :** La langue de communication avec le client est configurable.
326
- > Toute interaction via `AskUserQuestion` (questions, options, reformulations, relances)
327
- > doit etre dans la langue configuree.
328
-
329
- ### Configuration
330
-
331
- Le champ `language` dans `feature.json.metadata.language` definit la langue :
332
-
333
- | Langue | Code | Defaut |
334
- |--------|------|--------|
335
- | Francais | `fr` | **Oui** |
336
- | English | `en` | Non |
337
- | Italiano | `it` | Non |
338
- | Deutsch | `de` | Non |
339
-
340
- ### Portee
341
-
342
- | Element | Adapte a la langue ? |
343
- |---------|---------------------|
344
- | Questions `AskUserQuestion` (labels, descriptions, options) | **OUI** — toujours dans `{language}` |
345
- | Reformulations et resumes de categorie | **OUI** — toujours dans `{language}` |
346
- | Relances et follow-ups (Elicitation Guide) | **OUI** — traduire les probes a la volee |
347
- | Documents generes (discovery, analysis, specification, handoff) | **OUI** — rediges dans `{language}` |
348
- | Reference technique interne (patterns, architecture) | NON — reste en langue du fichier |
349
- | Noms de code (entites, permissions, paths) | NON — toujours en anglais (convention plateforme) |
350
-
351
- ### Regle
145
+ Handoff data and PRD files are generated by the `/derive-prd` skill, not by step-05. Step-05 only deploys the interactive HTML document. The workflow is:
352
146
 
353
147
  ```
354
- 1. Lire {language} depuis feature.json.metadata.language (defaut: "fr")
355
- 2. Adapter TOUTE communication AskUserQuestion dans {language}
356
- 3. Les exemples de probes/relances dans les questionnaires sont en francais
357
- -> Si {language} != "fr", les traduire a la volee
358
- 4. Les documents generes sont rediges dans {language}
359
- 5. Le code, les noms d'entites et les paths restent TOUJOURS en anglais
360
- 6. Ne JAMAIS utiliser "SmartStack" dans les communications utilisateur
361
- -> Utiliser "la plateforme", "l'application" ou "le systeme" a la place
362
- -> SmartStack est le nom interne du framework, le projet client a son propre nom
148
+ /business-analyse (steps 00-05) /derive-prd /ralph-loop
363
149
  ```
364
150
 
365
- ---
151
+ ## HTML Integration
366
152
 
367
- ## Config Template
153
+ Single unified HTML (`ba-interactive.html`) generated in step 05:
368
154
 
369
- ```json
370
- {
371
- "project": "{Name}",
372
- "lastFeatureId": 0,
373
- "language": "fr",
374
- "standards": ["BABOK-v3", "IEEE-830"],
375
- "contact": "support@atlshub.ch"
376
- }
377
- ```
155
+ - **Single-app**: `docs/{app}/business-analyse/v{X.Y}/ba-interactive.html`
156
+ - **Multi-app**: `docs/business-analyse/v{X.Y}/ba-interactive.html`
157
+
158
+ The HTML embeds all data as `FEATURE_DATA` JavaScript object. See `references/html-data-mapping.md` for the complete mapping.
378
159
 
379
- ---
160
+ ## Resume Protocol
380
161
 
381
- ## Support
162
+ State is tracked in `index.json` metadata:
163
+ - `metadata.status` — Current status
164
+ - `metadata.lastModified` — Last modification timestamp
382
165
 
383
- Contact: **support@atlshub.ch**
166
+ The step system checks metadata to determine where to resume.