@atlashub/smartstack-cli 3.37.0 → 3.39.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 +16 -24
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +235 -265
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/scripts/extract-api-endpoints.ts +5 -5
- package/scripts/generate-doc-with-mock-ui.ts +10 -17
- package/templates/agents/ba-reader.md +9 -9
- package/templates/agents/ba-writer.md +12 -15
- package/templates/agents/code-reviewer.md +1 -1
- package/templates/agents/docs-context-reader.md +1 -1
- package/templates/agents/efcore/scan.md +3 -1
- package/templates/agents/gitflow/commit.md +74 -0
- package/templates/agents/gitflow/finish.md +5 -2
- package/templates/agents/gitflow/init-clone.md +3 -3
- package/templates/agents/gitflow/init-validate.md +3 -2
- package/templates/agents/gitflow/merge.md +5 -4
- package/templates/agents/gitflow/pr.md +5 -4
- package/templates/agents/gitflow/start.md +37 -5
- package/templates/hooks/hooks.json +11 -0
- package/templates/hooks/wsl-dotnet-cleanup.sh +24 -0
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +20 -20
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +16 -24
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +2 -2
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +3 -3
- package/templates/skills/_shared.md +15 -17
- package/templates/skills/ai-prompt/SKILL.md +1 -1
- package/templates/skills/ai-prompt/steps/step-00-init.md +47 -0
- package/templates/skills/apex/SKILL.md +3 -4
- package/templates/skills/apex/_shared.md +10 -20
- package/templates/skills/apex/references/analysis-methods.md +141 -0
- package/templates/skills/apex/references/challenge-questions.md +1 -21
- package/templates/skills/apex/references/core-seed-data.md +35 -58
- package/templates/skills/apex/references/examine-build-validation.md +82 -0
- package/templates/skills/apex/references/execution-frontend-gates.md +177 -0
- package/templates/skills/apex/references/execution-frontend-patterns.md +105 -0
- package/templates/skills/apex/references/execution-layer1-rules.md +96 -0
- package/templates/skills/apex/references/initialization-challenge-flow.md +110 -0
- package/templates/skills/apex/references/planning-layer-mapping.md +151 -0
- package/templates/skills/apex/references/post-checks.md +145 -40
- package/templates/skills/apex/references/smartstack-api.md +35 -51
- package/templates/skills/apex/references/smartstack-frontend.md +18 -18
- package/templates/skills/apex/references/smartstack-layers.md +38 -62
- package/templates/skills/apex/steps/step-00-init.md +14 -26
- package/templates/skills/apex/steps/step-01-analyze.md +10 -143
- package/templates/skills/apex/steps/step-02-plan.md +10 -92
- package/templates/skills/apex/steps/step-03-execute.md +45 -252
- package/templates/skills/apex/steps/step-04-examine.md +14 -78
- package/templates/skills/apex/steps/step-05-deep-review.md +2 -2
- package/templates/skills/apex/steps/step-08-run-tests.md +1 -0
- package/templates/skills/application/SKILL.md +241 -242
- package/templates/skills/application/references/backend-controller-hierarchy.md +16 -16
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -0
- package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -0
- package/templates/skills/application/references/backend-verification.md +1 -1
- package/templates/skills/application/references/frontend-i18n-and-output.md +67 -0
- package/templates/skills/application/references/frontend-route-naming.md +117 -0
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -0
- package/templates/skills/application/references/frontend-verification.md +12 -12
- package/templates/skills/application/references/init-parameter-detection.md +121 -0
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +100 -0
- package/templates/skills/application/references/nav-fallback-procedure.md +199 -200
- package/templates/skills/application/references/provider-template.md +2 -6
- package/templates/skills/application/references/roles-client-project-handling.md +55 -0
- package/templates/skills/application/references/roles-fallback-procedure.md +149 -0
- package/templates/skills/application/references/test-coverage-requirements.md +213 -0
- package/templates/skills/application/references/test-frontend.md +3 -3
- package/templates/skills/application/steps/step-00-init.md +130 -260
- package/templates/skills/application/steps/step-01-navigation.md +170 -170
- package/templates/skills/application/steps/step-02-permissions.md +196 -196
- package/templates/skills/application/steps/step-03-roles.md +182 -339
- package/templates/skills/application/steps/step-03b-provider.md +133 -134
- package/templates/skills/application/steps/step-04-backend.md +174 -265
- package/templates/skills/application/steps/step-05-frontend.md +18 -144
- package/templates/skills/application/steps/step-06-migration.md +12 -60
- package/templates/skills/application/steps/step-07-tests.md +9 -76
- package/templates/skills/application/templates-backend.md +29 -27
- package/templates/skills/application/templates-frontend.md +49 -49
- package/templates/skills/application/templates-seed.md +57 -131
- package/templates/skills/business-analyse/SKILL.md +27 -30
- package/templates/skills/business-analyse/_architecture.md +6 -6
- package/templates/skills/business-analyse/_shared.md +60 -88
- package/templates/skills/business-analyse/questionnaire/04-data.md +3 -3
- package/templates/skills/business-analyse/questionnaire/06-security.md +1 -1
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +1 -1
- package/templates/skills/business-analyse/react/application-viewer.md +12 -12
- package/templates/skills/business-analyse/react/components.md +8 -12
- package/templates/skills/business-analyse/react/schema.md +836 -836
- package/templates/skills/business-analyse/references/agent-module-prompt.md +2 -3
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -0
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +2 -2
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -0
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -0
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +69 -0
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +1 -1
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -0
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +2 -2
- package/templates/skills/business-analyse/references/deploy-modes.md +5 -5
- package/templates/skills/business-analyse/references/detection-strategies.md +7 -7
- package/templates/skills/business-analyse/references/handoff-file-templates.md +14 -22
- package/templates/skills/business-analyse/references/handoff-mappings.md +4 -4
- package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -0
- package/templates/skills/business-analyse/references/init-schema-deployment.md +3 -3
- package/templates/skills/business-analyse/references/naming-conventions.md +22 -24
- package/templates/skills/business-analyse/references/prd-generation.md +2 -2
- package/templates/skills/business-analyse/references/review-data-mapping.md +2 -2
- package/templates/skills/business-analyse/references/robustness-checks.md +1 -1
- package/templates/skills/business-analyse/references/spec-auto-inference.md +3 -3
- package/templates/skills/business-analyse/references/team-orchestration.md +49 -6
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
- package/templates/skills/business-analyse/references/ui-resource-cards.md +18 -18
- package/templates/skills/business-analyse/references/validate-incremental-html.md +2 -2
- package/templates/skills/business-analyse/references/validation-checklist.md +2 -2
- package/templates/skills/business-analyse/schemas/application-schema.json +4 -5
- package/templates/skills/business-analyse/schemas/project-schema.json +1 -6
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +2 -3
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +4 -4
- package/templates/skills/business-analyse/steps/step-00-init.md +8 -17
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +35 -198
- package/templates/skills/business-analyse/steps/step-01b-applications.md +16 -20
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +1 -1
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +4 -4
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +1 -1
- package/templates/skills/business-analyse/steps/step-03b-ui.md +4 -4
- package/templates/skills/business-analyse/steps/step-03c-compile.md +66 -140
- package/templates/skills/business-analyse/steps/step-03d-validate.md +2 -2
- package/templates/skills/business-analyse/steps/step-04a-collect.md +2 -2
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +42 -160
- package/templates/skills/business-analyse/steps/step-04c-decide.md +1 -1
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +74 -104
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +13 -11
- package/templates/skills/business-analyse/steps/step-06-review.md +3 -3
- package/templates/skills/business-analyse/templates/tpl-frd.md +13 -13
- package/templates/skills/business-analyse/templates/tpl-handoff.md +12 -12
- package/templates/skills/business-analyse/templates/tpl-progress.md +1 -1
- package/templates/skills/business-analyse/templates-frd.md +25 -25
- package/templates/skills/business-analyse/templates-react.md +15 -21
- package/templates/skills/controller/SKILL.md +1 -1
- package/templates/skills/controller/postman-templates.md +1 -1
- package/templates/skills/controller/references/controller-code-templates.md +2 -2
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -0
- package/templates/skills/controller/references/permission-sync-templates.md +13 -16
- package/templates/skills/controller/steps/step-00-init.md +11 -11
- package/templates/skills/controller/steps/step-03-generate.md +64 -103
- package/templates/skills/controller/templates.md +67 -71
- package/templates/skills/debug/SKILL.md +13 -218
- package/templates/skills/debug/steps/step-00-init.md +57 -0
- package/templates/skills/debug/steps/step-01-analyze.md +219 -0
- package/templates/skills/debug/steps/step-02-resolve.md +85 -0
- package/templates/skills/documentation/SKILL.md +49 -345
- package/templates/skills/documentation/data-schema.md +11 -8
- package/templates/skills/documentation/steps/step-00-init.md +70 -0
- package/templates/skills/documentation/steps/step-01-scan.md +113 -0
- package/templates/skills/documentation/steps/step-02-generate.md +231 -0
- package/templates/skills/documentation/steps/step-03-validate.md +238 -0
- package/templates/skills/documentation/templates.md +480 -322
- package/templates/skills/efcore/SKILL.md +1 -1
- package/templates/skills/efcore/references/both-contexts.md +32 -0
- package/templates/skills/efcore/references/database-operations.md +67 -0
- package/templates/skills/efcore/references/destructive-operations.md +38 -0
- package/templates/skills/efcore/references/reset-operations.md +81 -0
- package/templates/skills/efcore/references/seed-methods.md +86 -0
- package/templates/skills/efcore/references/shared-init-functions.md +250 -0
- package/templates/skills/efcore/references/sql-objects-injection.md +61 -0
- package/templates/skills/efcore/references/troubleshooting.md +81 -0
- package/templates/skills/efcore/steps/db/step-deploy.md +1 -32
- package/templates/skills/efcore/steps/db/step-reset.md +7 -103
- package/templates/skills/efcore/steps/db/step-seed.md +10 -132
- package/templates/skills/efcore/steps/db/step-status.md +5 -44
- package/templates/skills/efcore/steps/migration/step-02-create.md +1 -14
- package/templates/skills/efcore/steps/migration/step-03-validate.md +8 -62
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +1 -57
- package/templates/skills/efcore/steps/shared/step-00-init.md +11 -254
- package/templates/skills/efcore/steps/squash/step-03-create.md +1 -58
- package/templates/skills/feature-full/SKILL.md +1 -1
- package/templates/skills/feature-full/steps/step-00-init.md +57 -0
- package/templates/skills/feature-full/steps/step-01-implementation.md +1 -1
- package/templates/skills/gitflow/SKILL.md +28 -5
- package/templates/skills/gitflow/_shared.md +109 -12
- package/templates/skills/gitflow/phases/abort.md +4 -0
- package/templates/skills/gitflow/phases/cleanup.md +4 -0
- package/templates/skills/gitflow/references/commit-message-generation.md +58 -0
- package/templates/skills/gitflow/references/commit-migration-validation.md +49 -0
- package/templates/skills/gitflow/references/finish-cleanup.md +55 -0
- package/templates/skills/gitflow/references/finish-version-bumping.md +45 -0
- package/templates/skills/gitflow/references/init-environment-detection.md +41 -0
- package/templates/skills/gitflow/references/init-questions.md +185 -0
- package/templates/skills/gitflow/references/init-structure-creation.md +75 -0
- package/templates/skills/gitflow/references/init-version-detection.md +21 -0
- package/templates/skills/gitflow/references/init-workspace-detection.md +43 -0
- package/templates/skills/gitflow/references/merge-ci-status.md +36 -0
- package/templates/skills/gitflow/references/merge-execution.md +62 -0
- package/templates/skills/gitflow/references/merge-pr-context.md +76 -0
- package/templates/skills/gitflow/references/pr-build-checks.md +60 -0
- package/templates/skills/gitflow/references/pr-generation.md +58 -0
- package/templates/skills/gitflow/references/start-branch-normalization.md +28 -0
- package/templates/skills/gitflow/references/start-worktree-creation.md +50 -0
- package/templates/skills/gitflow/references/sync-push-verify.md +44 -0
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -0
- package/templates/skills/gitflow/steps/step-commit.md +12 -91
- package/templates/skills/gitflow/steps/step-finish.md +15 -159
- package/templates/skills/gitflow/steps/step-init.md +24 -326
- package/templates/skills/gitflow/steps/step-merge.md +17 -176
- package/templates/skills/gitflow/steps/step-pr.md +10 -116
- package/templates/skills/gitflow/steps/step-start.md +16 -109
- package/templates/skills/gitflow/steps/step-sync.md +6 -69
- package/templates/skills/ralph-loop/SKILL.md +6 -0
- package/templates/skills/ralph-loop/references/category-completeness.md +185 -0
- package/templates/skills/ralph-loop/references/compact-loop.md +1 -1
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -0
- package/templates/skills/ralph-loop/references/module-transition.md +151 -0
- package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -0
- package/templates/skills/ralph-loop/references/parallel-execution.md +246 -0
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +6 -9
- package/templates/skills/ralph-loop/references/team-orchestration.md +45 -3
- package/templates/skills/ralph-loop/steps/step-00-init.md +36 -109
- package/templates/skills/ralph-loop/steps/step-01-task.md +15 -163
- package/templates/skills/ralph-loop/steps/step-02-execute.md +8 -154
- package/templates/skills/ralph-loop/steps/step-04-check.md +20 -73
- package/templates/skills/review-code/references/owasp-api-top10.md +5 -5
- package/templates/skills/review-code/references/smartstack-conventions.md +568 -568
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -0
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -0
- package/templates/skills/validate-feature/steps/step-01-compile.md +1 -3
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +34 -145
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +74 -260
- package/templates/skills/workflow/SKILL.md +1 -1
- package/templates/skills/workflow/steps/step-00-init.md +57 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-00-init
|
|
3
|
-
description: Parse flags, detect
|
|
3
|
+
description: Parse flags, detect application, verify MCP, define hierarchy (4 levels), challenge the need
|
|
4
4
|
model: sonnet
|
|
5
5
|
next_step: steps/step-01-analyze.md
|
|
6
6
|
---
|
|
@@ -62,7 +62,6 @@ IF delegate_mode:
|
|
|
62
62
|
Read prd.json from {delegate_prd_path}
|
|
63
63
|
|
|
64
64
|
Extract context:
|
|
65
|
-
{context_code} = prd.project.context (e.g., "business")
|
|
66
65
|
{app_name} = prd.project.application (e.g., "HumanResources")
|
|
67
66
|
{module_code} = prd.project.module (e.g., "EmployeeManagement")
|
|
68
67
|
{prd_path} = {delegate_prd_path}
|
|
@@ -89,13 +88,13 @@ IF delegate_mode:
|
|
|
89
88
|
{has_dependencies} = prd.tasks.some(t => t.dependencies.length > 0) ? "references" : "none"
|
|
90
89
|
{key_properties} = [] (extracted during step-01 from feature.json if available)
|
|
91
90
|
|
|
92
|
-
SKIP sections 2 (detect
|
|
91
|
+
SKIP sections 2 (detect application), 4 (hierarchy), 5 (challenge questions)
|
|
93
92
|
Jump to section 3 (MCP verify) → then section 6 (determine needs, already set) → section 9 (summary)
|
|
94
93
|
```
|
|
95
94
|
|
|
96
95
|
---
|
|
97
96
|
|
|
98
|
-
## 2. Detect SmartStack
|
|
97
|
+
## 2. Detect SmartStack Application
|
|
99
98
|
|
|
100
99
|
Scan the project to identify the SmartStack hierarchy:
|
|
101
100
|
|
|
@@ -107,7 +106,6 @@ Scan the project to identify the SmartStack hierarchy:
|
|
|
107
106
|
```
|
|
108
107
|
|
|
109
108
|
**From task description, infer:**
|
|
110
|
-
- `{context_code}`: business (default), platform, personal
|
|
111
109
|
- `{app_name}`: application name
|
|
112
110
|
- `{module_code}`: target module
|
|
113
111
|
- `{sections}`: sections being added/modified
|
|
@@ -116,7 +114,7 @@ Scan the project to identify the SmartStack hierarchy:
|
|
|
116
114
|
- `{prd_path}`: `.ralph/prd-{module_code}.json` if exists
|
|
117
115
|
- `{feature_path}`: `docs/business/{app}/{module}/business-analyse/*/feature.json` if exists
|
|
118
116
|
|
|
119
|
-
If hierarchy cannot be inferred → load
|
|
117
|
+
If hierarchy cannot be inferred → load application question from `references/challenge-questions.md`.
|
|
120
118
|
|
|
121
119
|
---
|
|
122
120
|
|
|
@@ -131,24 +129,14 @@ IF failure → warn user, continue in degraded mode (manual tools only)
|
|
|
131
129
|
|
|
132
130
|
---
|
|
133
131
|
|
|
134
|
-
## 4. Define Navigation Hierarchy (
|
|
132
|
+
## 4. Define Navigation Hierarchy (4 Levels)
|
|
135
133
|
|
|
136
|
-
> **
|
|
137
|
-
>
|
|
138
|
-
>
|
|
139
|
-
>
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Load and execute application question from `references/challenge-questions.md` section 4a.
|
|
144
|
-
|
|
145
|
-
### 4b. Validate Module Level
|
|
146
|
-
|
|
147
|
-
Load and execute module question from `references/challenge-questions.md` section 4b.
|
|
148
|
-
|
|
149
|
-
### 4c. Define Sections (MANDATORY — at least one)
|
|
150
|
-
|
|
151
|
-
Load and execute section questions from `references/challenge-questions.md` section 4c (includes validation and storage format).
|
|
134
|
+
> **Reference:** Load `references/initialization-challenge-flow.md` for detailed challenge flow:
|
|
135
|
+
> - 4-level hierarchy structure (Application → Module → Section → Resource)
|
|
136
|
+
> - Challenge questions (4a: Application, 4b: Module, 4c: Sections)
|
|
137
|
+
> - Validation rules (sections MUST have at least one entry)
|
|
138
|
+
> - Storage format for each level
|
|
139
|
+
> - Delegate mode skip (if -d)
|
|
152
140
|
|
|
153
141
|
### 4d. Resources (Optional)
|
|
154
142
|
|
|
@@ -163,8 +151,8 @@ Resources are OPTIONAL — only define if explicitly mentioned or inferred.
|
|
|
163
151
|
Display before proceeding:
|
|
164
152
|
|
|
165
153
|
```
|
|
166
|
-
{
|
|
167
|
-
Routes: /{
|
|
154
|
+
{app_name} ({app_code}) → {module_code} → [{sections[].code}]
|
|
155
|
+
Routes: /{app-kebab}/{module-kebab}/{section-kebab}
|
|
168
156
|
```
|
|
169
157
|
|
|
170
158
|
---
|
|
@@ -305,7 +293,7 @@ IF save_mode:
|
|
|
305
293
|
```
|
|
306
294
|
APEX INIT COMPLETE — v{{SMARTSTACK_VERSION}}
|
|
307
295
|
Task: {task_description}
|
|
308
|
-
|
|
296
|
+
Hierarchy: {app_name} → {module_code} → {sections[].code}
|
|
309
297
|
Entities: {entities} | Complexity: {module_complexity} | Deps: {has_dependencies}
|
|
310
298
|
PRD: {prd_path||none} | Feature: {feature_path||none} | Flags: {active_flags}
|
|
311
299
|
MCP: {available|degraded} | Needs: migration/seed/workflow/notification = {yes|no}
|
|
@@ -141,149 +141,16 @@ Identify: NavigationModuleSeedData, PermissionsSeedData, RolesSeedData, SeedCons
|
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
-
## 4.
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 4a. Tenant Mode Decision
|
|
157
|
-
|
|
158
|
-
For each entity found (or to be created), determine the `tenantMode`:
|
|
159
|
-
|
|
160
|
-
- **`strict`** (default) — Data belongs to a specific tenant. Examples: Employee, Order, Invoice, CustomerInteraction
|
|
161
|
-
- **`optional`** — Data can be shared across tenants OR tenant-specific. Examples: Department, Currency, JobTitle, Language
|
|
162
|
-
- **`scoped`** — Data has explicit visibility scope controlled by workflow/feature rules. Examples: Settings, Workflow, EmailTemplate, ApprovalConfig
|
|
163
|
-
- **`none`** — Platform-wide data (never tenant-filtered). Examples: Navigation, Permission, User, SystemConfiguration
|
|
164
|
-
|
|
165
|
-
**Why:** Tenant mode drives EF query filters, seed data generation, and API access control. Must be decided before planning.
|
|
166
|
-
|
|
167
|
-
**Reference:** See `references/smartstack-api.md` for TenantId handling patterns and `smartstack-layers.md` for seed data strategies per tenant mode.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 4b. Code Pattern Detection
|
|
172
|
-
|
|
173
|
-
For each entity found (or to be created), identify code generation needs:
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
IF feature.json exists AND entity has codePattern:
|
|
177
|
-
→ Use codePattern config from feature.json (strategy, prefix, digits, etc.)
|
|
178
|
-
→ Record in analysis: entity has auto-generated code
|
|
179
|
-
|
|
180
|
-
ELSE IF feature.json exists BUT entity has NO codePattern:
|
|
181
|
-
→ Record: entity needs codePattern decision in step-02
|
|
182
|
-
→ Apply heuristic default based on entity name:
|
|
183
|
-
Invoice/Order/Receipt → timestamp-daily
|
|
184
|
-
Ticket/Incident → timestamp-minute
|
|
185
|
-
Contract/Policy → year-sequential
|
|
186
|
-
Reference/Category → uuid-short
|
|
187
|
-
Employee/Customer/Project → sequential
|
|
188
|
-
|
|
189
|
-
ELSE (no feature.json):
|
|
190
|
-
→ Propose codePattern during step-02 planning based on task description
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**Why:** Code generation strategy drives CreateDto structure (Code field removed when auto-generated), service injection (ICodeGenerator<T>), and DI registration. Must be decided before planning.
|
|
194
|
-
|
|
195
|
-
**Reference:** See `references/code-generation.md` for strategy table, volume-to-digits calculation, and backend patterns.
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## 5. Gap Analysis
|
|
200
|
-
|
|
201
|
-
Compare what EXISTS vs what the TASK REQUIRES:
|
|
202
|
-
|
|
203
|
-
```
|
|
204
|
-
For each element: EXISTS+COMPLETE → "skip" | EXISTS+INCOMPLETE → "modify" | MISSING → "create"
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Cross-reference with step-00 challenge responses:
|
|
208
|
-
- Each entity: entity, EF config, service, controller, frontend pages → exists/missing
|
|
209
|
-
- Each section: NavigationSectionSeedData, frontend route → exists/missing
|
|
210
|
-
- If dependencies: verify FK target entities and their `?search=` support
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## 5b. Scope Re-Check (after exploration)
|
|
215
|
-
|
|
216
|
-
> **Re-validate scope after code exploration reveals the true entity count.**
|
|
217
|
-
> Step-00 guard uses the user's description (may undercount). Now we know the actual entities.
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
IF NOT delegate_mode:
|
|
221
|
-
actual_entities = count of entities marked "create" in gap analysis
|
|
222
|
-
actual_sections = count of sections marked "create"
|
|
223
|
-
|
|
224
|
-
IF actual_entities > 6:
|
|
225
|
-
WARNING: "Code exploration reveals {actual_entities} entities to create.
|
|
226
|
-
This exceeds the recommended maximum (4) for a single /apex invocation.
|
|
227
|
-
Risk: incomplete migrations, lost conventions, missing pages.
|
|
228
|
-
Consider: split into {ceil(actual_entities/4)} iterations of ~4 entities each."
|
|
229
|
-
|
|
230
|
-
AskUserQuestion: (same options as step-00 section 5d)
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## 6. Analysis Validation (User Checkpoint)
|
|
236
|
-
|
|
237
|
-
> **Objective:** Present findings and validate scope with the user BEFORE planning.
|
|
238
|
-
|
|
239
|
-
### 6a. Present Findings
|
|
240
|
-
|
|
241
|
-
```
|
|
242
|
-
ANALYSIS FINDINGS
|
|
243
|
-
═══════════════════════════════════════════════════════════════
|
|
244
|
-
|
|
245
|
-
Entities expected / found / to create: {summary}
|
|
246
|
-
Sections expected / found / to create: {summary}
|
|
247
|
-
FK Relationships: {fkFields summary}
|
|
248
|
-
Dependencies: {cross-module refs or "none"}
|
|
249
|
-
Complexity: {module_complexity}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### 6b. Validate with User (if NOT auto_mode)
|
|
253
|
-
|
|
254
|
-
```yaml
|
|
255
|
-
questions:
|
|
256
|
-
- header: "Scope"
|
|
257
|
-
question: "Based on the analysis above, is the scope accurate?"
|
|
258
|
-
options:
|
|
259
|
-
- label: "Scope is correct (Recommended)"
|
|
260
|
-
description: "Proceed to planning with the identified elements"
|
|
261
|
-
- label: "Add elements"
|
|
262
|
-
description: "I need to add entities, properties, or sections"
|
|
263
|
-
- label: "Reduce scope"
|
|
264
|
-
description: "Remove some elements — smaller first iteration"
|
|
265
|
-
- label: "Change approach"
|
|
266
|
-
description: "The analysis reveals issues — let's adjust"
|
|
267
|
-
multiSelect: false
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
If "Add elements": update `{entities}`, `{sections}`, `{key_properties}`, re-run gap analysis.
|
|
271
|
-
If "Reduce scope": update variables accordingly.
|
|
272
|
-
If "Change approach": discuss with user, potentially restart from step-00.
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## 7. Analysis Summary
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
**APEX SmartStack - Analysis Complete**
|
|
280
|
-
Navigation: {context_code} → {app_name} → {module_code} → {sections[].code}
|
|
281
|
-
Entities: {entity_name → create | modify | skip}
|
|
282
|
-
Existing: entities, configs, services, controllers, pages, seed data, tests (with paths)
|
|
283
|
-
Required: create / modify / skip lists
|
|
284
|
-
Profile: complexity, dependencies, FK fields, workflow, notifications
|
|
285
|
-
ACs: AC1..ACn (inferred from PRD/feature/task/challenge)
|
|
286
|
-
```
|
|
144
|
+
## 4-7. Analysis Methods & Validation
|
|
145
|
+
|
|
146
|
+
> **Reference:** Load `references/analysis-methods.md` for detailed analysis procedures:
|
|
147
|
+
> - FK field detection (frontend EntityLookup + backend search support)
|
|
148
|
+
> - Tenant mode decision (strict/optional/scoped/none)
|
|
149
|
+
> - Code pattern detection (auto-generated strategies)
|
|
150
|
+
> - Gap analysis (exists/missing/modify classification)
|
|
151
|
+
> - Scope re-check (entity count validation)
|
|
152
|
+
> - Analysis validation checkpoint (user confirmation)
|
|
153
|
+
> - Analysis summary output format
|
|
287
154
|
|
|
288
155
|
---
|
|
289
156
|
|
|
@@ -52,98 +52,16 @@ IF delegate_mode:
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
## 1.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| 1 | API (controllers) | Parallel |
|
|
66
|
-
| 1 | Infrastructure - Seed Data | Parallel |
|
|
67
|
-
| 2 | Frontend (pages, components) | Parallel |
|
|
68
|
-
| 2 | I18n (translations) | Parallel |
|
|
69
|
-
| 3 | Tests | Sequential |
|
|
70
|
-
|
|
71
|
-
**Entity Definition Template:** Each entity in the plan MUST include:
|
|
72
|
-
```
|
|
73
|
-
Entity: {EntityName}
|
|
74
|
-
- tenantMode: strict | optional | scoped | none
|
|
75
|
-
- codePattern: auto-generated strategy (if applicable)
|
|
76
|
-
- fkFields: [{field, targetEntity}] (if applicable)
|
|
77
|
-
- acceptance criteria: [AC1, AC2, ...]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
The `tenantMode` decision (from step-01, section 4a) drives EF query filters, seed data approach, and API authorization. See `smartstack-layers.md` for tenant mode seed data strategies.
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 2. Assign Skill/MCP per File
|
|
85
|
-
|
|
86
|
-
For EACH file in the plan, specify HOW it will be created/modified:
|
|
87
|
-
|
|
88
|
-
```markdown
|
|
89
|
-
### Layer 0 — Domain + Infrastructure (sequential)
|
|
90
|
-
|
|
91
|
-
| # | File | Action | Tool |
|
|
92
|
-
|---|------|--------|------|
|
|
93
|
-
| 1 | Domain/Entities/.../MyEntity.cs | create | MCP scaffold_extension |
|
|
94
|
-
| 2 | Infrastructure/.../MyEntityConfiguration.cs | create | MCP scaffold_extension |
|
|
95
|
-
| 3 | Migration | create | MCP suggest_migration + dotnet ef |
|
|
96
|
-
|
|
97
|
-
### Layer 1 — Application + API (parallel)
|
|
98
|
-
|
|
99
|
-
| # | File | Action | Tool |
|
|
100
|
-
|---|------|--------|------|
|
|
101
|
-
| 4 | Application/Services/.../MyService.cs | create | MCP scaffold_extension |
|
|
102
|
-
| 5 | Application/DTOs/.../MyDto.cs | create | MCP scaffold_extension |
|
|
103
|
-
| 6 | Api/Controllers/.../MyController.cs | create | /controller skill |
|
|
104
|
-
| 7 | Seeding/Data/NavigationApplicationSeedData.cs | create | ref smartstack-layers.md (once per app) |
|
|
105
|
-
| 7b | Seeding/Data/ApplicationRolesSeedData.cs | create | ref smartstack-layers.md (once per app) |
|
|
106
|
-
| 7c | Infrastructure/Services/CodeGeneration/ | create | ref code-generation.md (ICodeGenerator<T> + DI, per entity with codePattern != manual) |
|
|
107
|
-
| 8 | Seeding/Data/.../NavigationModuleSeedData.cs | create | ref smartstack-layers.md |
|
|
108
|
-
| 8b | Application/Authorization/Permissions.cs | create | MCP generate_permissions → static constants |
|
|
109
|
-
| 9 | Seeding/Data/.../PermissionsSeedData.cs | create | MCP generate_permissions |
|
|
110
|
-
| 10 | Seeding/Data/.../RolesSeedData.cs | create | ref smartstack-layers.md |
|
|
111
|
-
|
|
112
|
-
### Layer 2 — Frontend + I18n (parallel)
|
|
113
|
-
|
|
114
|
-
| # | File | Action | Tool |
|
|
115
|
-
|---|------|--------|------|
|
|
116
|
-
| 11 | src/pages/{Ctx}/{App}/{Mod}/ListPage.tsx | create | /ui-components skill |
|
|
117
|
-
| 11b | src/pages/{Ctx}/{App}/{Mod}/CreatePage.tsx | create | /ui-components skill (EntityLookup for FK fields) |
|
|
118
|
-
| 11c | src/pages/{Ctx}/{App}/{Mod}/EditPage.tsx | create | /ui-components skill (EntityLookup for FK fields) |
|
|
119
|
-
| 11d | src/pages/{Ctx}/{App}/{Mod}/{Section}Page.tsx | create | /ui-components skill (per section in `{sections}`) |
|
|
120
|
-
| 11e | src/pages/{Ctx}/{App}/{Mod}/{Section}DetailPage.tsx | create | /ui-components skill (per section in `{sections}`) |
|
|
121
|
-
| 12 | src/services/api/{module}Api.ts | create | MCP scaffold_api_client |
|
|
122
|
-
| 13 | src/routes/{module}.tsx | create | MCP scaffold_routes |
|
|
123
|
-
| 14 | src/i18n/locales/{lang}/{module}.json | create | ref smartstack-frontend.md (4 languages: fr, en, it, de) |
|
|
124
|
-
|
|
125
|
-
**FK Field Guidance:** If step-01 identified `fkFields[]`, every Create/Edit page MUST use `EntityLookup` for those fields (see `smartstack-frontend.md` section 6). The corresponding backend GetAll endpoints (Layer 1) MUST support `?search=` parameter.
|
|
126
|
-
|
|
127
|
-
### Layer 2b — Documentation (after frontend pages exist)
|
|
128
|
-
|
|
129
|
-
| # | File | Action | Tool |
|
|
130
|
-
|---|------|--------|------|
|
|
131
|
-
| 14b | src/pages/docs/business/{app}/{module}/doc-data.ts | create | /documentation skill |
|
|
132
|
-
| 14c | src/pages/docs/business/{app}/{module}/index.tsx | create | /documentation skill |
|
|
133
|
-
|
|
134
|
-
### Layer 3 — Tests (sequential)
|
|
135
|
-
|
|
136
|
-
| # | File | Action | Tool |
|
|
137
|
-
|---|------|--------|------|
|
|
138
|
-
| 15 | tests/.../MyEntityTests.cs | create | MCP scaffold_tests |
|
|
139
|
-
| 16 | tests/.../MyServiceTests.cs | create | MCP scaffold_tests |
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 3. Identify Parallelization (Agent Teams)
|
|
145
|
-
|
|
146
|
-
If NOT economy_mode AND Layer 1 has both backend and frontend work:
|
|
55
|
+
## 1-3. Layer Mapping, Skill Assignment, Parallelization
|
|
56
|
+
|
|
57
|
+
> **Reference:** Load `references/planning-layer-mapping.md` for detailed planning procedures:
|
|
58
|
+
> - Layer assignment matrix (Domain/Infrastructure/Application/API/Seed/Frontend/Tests)
|
|
59
|
+
> - Entity definition template (tenantMode, codePattern, fkFields, ACs)
|
|
60
|
+
> - Skill/MCP assignment table (per file, per layer)
|
|
61
|
+
> - Layer 0/1/2b/3 file lists with tools
|
|
62
|
+
> - FK field guidance (EntityLookup + backend ?search= parameter)
|
|
63
|
+
> - Parallelization strategy (Agent Teams for Layer 1 backend+frontend)
|
|
64
|
+
> - Delegate mode fast path (PRD task mapping to layers)
|
|
147
65
|
|
|
148
66
|
```
|
|
149
67
|
Layer 0: SEQUENTIAL (agent principal)
|