@atlashub/smartstack-cli 3.39.0 → 3.40.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/.documentation/apex.html +644 -644
- package/.documentation/css/styles.css +2320 -2320
- package/.documentation/init.html +1377 -1377
- package/.documentation/js/app.js +780 -780
- package/.documentation/prd-json-v2.0.0.md +396 -396
- package/.documentation/testing-ba-e2e.md +462 -462
- package/config/default-config.json +95 -95
- package/config/mcp-defaults.json +62 -62
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +6 -4
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +115 -115
- package/scripts/extract-api-endpoints.ts +325 -325
- package/scripts/extract-business-rules.ts +440 -440
- package/scripts/generate-doc-with-mock-ui.ts +804 -804
- package/scripts/health-check.sh +168 -168
- package/scripts/postinstall.js +18 -18
- package/templates/agents/action.md +37 -37
- package/templates/agents/ba-reader.md +378 -378
- package/templates/agents/ba-writer.md +861 -861
- package/templates/agents/code-reviewer.md +163 -163
- package/templates/agents/db-reader.md +149 -149
- package/templates/agents/docs-context-reader.md +143 -143
- package/templates/agents/docs-sync-checker.md +122 -122
- package/templates/agents/efcore/conflicts.md +84 -84
- package/templates/agents/efcore/db-deploy.md +74 -74
- package/templates/agents/efcore/db-reset.md +85 -85
- package/templates/agents/efcore/db-seed.md +61 -61
- package/templates/agents/efcore/db-status.md +86 -86
- package/templates/agents/efcore/migration.md +186 -186
- package/templates/agents/efcore/rebase-snapshot.md +108 -108
- package/templates/agents/efcore/scan.md +92 -92
- package/templates/agents/efcore/squash.md +161 -161
- package/templates/agents/explore-codebase.md +66 -66
- package/templates/agents/explore-docs.md +98 -98
- package/templates/agents/fix-grammar.md +50 -50
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +96 -96
- package/templates/agents/gitflow/commit.md +236 -236
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +146 -146
- package/templates/agents/gitflow/init-clone.md +199 -199
- package/templates/agents/gitflow/init-detect.md +137 -137
- package/templates/agents/gitflow/init-validate.md +225 -225
- package/templates/agents/gitflow/init.md +340 -340
- package/templates/agents/gitflow/merge.md +145 -145
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +191 -191
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +147 -147
- package/templates/agents/gitflow/status.md +95 -95
- package/templates/agents/mcp-healthcheck.md +163 -163
- package/templates/agents/snipper.md +37 -37
- package/templates/agents/websearch.md +46 -46
- package/templates/hooks/appsettings-guard.sh +76 -76
- package/templates/hooks/docs-drift-check.md +96 -96
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +58 -58
- package/templates/hooks/mcp-check.md +64 -64
- package/templates/hooks/ralph-mcp-logger.sh +46 -46
- package/templates/hooks/ralph-session-end.sh +69 -69
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/hooks/wsl-dotnet-cleanup.sh +24 -24
- package/templates/mcp-scaffolding/component.tsx.hbs +318 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +192 -192
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +239 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -116
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -133
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -126
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +436 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +402 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -428
- package/templates/project/DependencyInjection.Application.cs.template +25 -25
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -61
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -70
- package/templates/project/ExampleEntity.cs.template +116 -116
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -64
- package/templates/project/ExampleService.cs.template +146 -146
- package/templates/project/ExtensionsDbContext.cs.template +41 -41
- package/templates/project/IExtensionsDbContext.cs.template +22 -22
- package/templates/project/Program.cs.template +47 -47
- package/templates/project/README.md +79 -79
- package/templates/project/api.ts.template +12 -12
- package/templates/project/appsettings.json.template +170 -170
- package/templates/project/claude-settings.json.template +5 -5
- package/templates/project/test-frontend/msw/handlers.ts +58 -58
- package/templates/project/test-frontend/msw/server.ts +25 -25
- package/templates/project/test-frontend/setup.ts +16 -16
- package/templates/project/test-frontend/test-utils.tsx +59 -59
- package/templates/project/test-frontend/vitest.config.ts +31 -31
- package/templates/ralph/README.md +93 -93
- package/templates/ralph/ralph.config.yaml +113 -113
- package/templates/scripts/setup-ralph-loop.sh +173 -173
- package/templates/skills/_resources/config-safety.md +61 -61
- package/templates/skills/_resources/context-digest-template.md +53 -53
- package/templates/skills/_resources/doc-context-cache.md +60 -60
- package/templates/skills/_resources/docs-manifest-schema.md +155 -155
- package/templates/skills/_resources/formatting-guide.md +124 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +181 -181
- package/templates/skills/_shared.md +228 -228
- package/templates/skills/admin/SKILL.md +48 -48
- package/templates/skills/ai-prompt/SKILL.md +107 -107
- package/templates/skills/ai-prompt/steps/step-00-init.md +47 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -122
- package/templates/skills/apex/SKILL.md +168 -168
- package/templates/skills/apex/_shared.md +141 -141
- package/templates/skills/apex/references/agent-teams-protocol.md +164 -164
- package/templates/skills/apex/references/analysis-methods.md +141 -141
- package/templates/skills/apex/references/challenge-questions.md +145 -145
- package/templates/skills/apex/references/code-generation.md +412 -412
- package/templates/skills/apex/references/core-seed-data.md +1437 -1437
- package/templates/skills/apex/references/error-classification.md +144 -144
- package/templates/skills/apex/references/examine-build-validation.md +82 -82
- package/templates/skills/apex/references/execution-frontend-gates.md +177 -177
- package/templates/skills/apex/references/execution-frontend-patterns.md +105 -105
- package/templates/skills/apex/references/execution-layer1-rules.md +96 -96
- package/templates/skills/apex/references/initialization-challenge-flow.md +110 -110
- package/templates/skills/apex/references/planning-layer-mapping.md +151 -151
- package/templates/skills/apex/references/post-checks.md +1584 -1584
- package/templates/skills/apex/references/smartstack-api.md +1053 -1053
- package/templates/skills/apex/references/smartstack-frontend.md +1571 -1571
- package/templates/skills/apex/references/smartstack-layers.md +402 -402
- package/templates/skills/apex/steps/step-00-init.md +307 -307
- package/templates/skills/apex/steps/step-01-analyze.md +165 -165
- package/templates/skills/apex/steps/step-02-plan.md +144 -144
- package/templates/skills/apex/steps/step-03-execute.md +328 -328
- package/templates/skills/apex/steps/step-04-examine.md +263 -263
- package/templates/skills/apex/steps/step-05-deep-review.md +129 -129
- package/templates/skills/apex/steps/step-06-resolve.md +101 -101
- package/templates/skills/apex/steps/step-07-tests.md +238 -238
- package/templates/skills/apex/steps/step-08-run-tests.md +125 -125
- package/templates/skills/application/SKILL.md +4 -4
- package/templates/skills/application/references/application-roles-template.md +227 -227
- package/templates/skills/application/references/backend-controller-hierarchy.md +58 -58
- package/templates/skills/application/references/backend-entity-seeding.md +72 -72
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -79
- package/templates/skills/application/references/backend-verification.md +88 -88
- package/templates/skills/application/references/frontend-i18n-and-output.md +67 -67
- package/templates/skills/application/references/frontend-route-naming.md +117 -117
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -107
- package/templates/skills/application/references/frontend-verification.md +156 -156
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +1 -1
- package/templates/skills/application/references/provider-template.md +177 -177
- package/templates/skills/application/references/roles-client-project-handling.md +55 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +149 -149
- package/templates/skills/application/references/test-coverage-requirements.md +213 -213
- package/templates/skills/application/references/test-frontend.md +73 -73
- package/templates/skills/application/references/test-prerequisites.md +72 -72
- package/templates/skills/application/steps/step-05-frontend.md +176 -176
- package/templates/skills/application/steps/step-06-migration.md +193 -193
- package/templates/skills/application/steps/step-07-tests.md +356 -356
- package/templates/skills/application/steps/step-08-documentation.md +137 -137
- package/templates/skills/application/templates-backend.md +463 -463
- package/templates/skills/application/templates-frontend.md +685 -685
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +1096 -1096
- package/templates/skills/business-analyse/SKILL.md +327 -327
- package/templates/skills/business-analyse/_architecture.md +123 -123
- package/templates/skills/business-analyse/_elicitation.md +206 -206
- package/templates/skills/business-analyse/_module-loop.md +115 -115
- package/templates/skills/business-analyse/_shared.md +383 -383
- package/templates/skills/business-analyse/_suggestions.md +34 -34
- package/templates/skills/business-analyse/html/ba-interactive.html +4477 -4477
- package/templates/skills/business-analyse/html/build-html.js +77 -77
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +150 -150
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +227 -227
- package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +199 -199
- package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +205 -205
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +647 -647
- package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +195 -195
- package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +92 -92
- package/templates/skills/business-analyse/html/src/scripts/08-editing.js +135 -135
- package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -168
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -171
- package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +166 -166
- package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -38
- package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -101
- package/templates/skills/business-analyse/html/src/styles/03-navigation.css +120 -120
- package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -196
- package/templates/skills/business-analyse/html/src/styles/05-modules.css +454 -454
- package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +272 -272
- package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -184
- package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -241
- package/templates/skills/business-analyse/html/src/template.html +516 -516
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +546 -546
- package/templates/skills/business-analyse/questionnaire/00-application.md +160 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +85 -85
- package/templates/skills/business-analyse/questionnaire/01-context.md +185 -185
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +189 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +164 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +88 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +58 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +68 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +76 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +42 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +45 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +43 -43
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +59 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +58 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +69 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -136
- package/templates/skills/business-analyse/questionnaire.md +337 -337
- package/templates/skills/business-analyse/react/application-viewer.md +242 -242
- package/templates/skills/business-analyse/react/components.md +551 -551
- package/templates/skills/business-analyse/react/i18n-template.md +306 -306
- package/templates/skills/business-analyse/references/acceptance-criteria.md +169 -169
- package/templates/skills/business-analyse/references/agent-module-prompt.md +362 -362
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +557 -557
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -190
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +566 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +115 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +68 -69
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +85 -85
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +107 -107
- package/templates/skills/business-analyse/references/deploy-data-build.md +180 -180
- package/templates/skills/business-analyse/references/deploy-modes.md +118 -118
- package/templates/skills/business-analyse/references/detection-strategies.md +424 -424
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +218 -218
- package/templates/skills/business-analyse/references/handoff-file-templates.md +120 -120
- package/templates/skills/business-analyse/references/handoff-mappings.md +81 -81
- package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/business-analyse/references/html-data-mapping.md +299 -299
- package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -65
- package/templates/skills/business-analyse/references/naming-conventions.md +243 -243
- package/templates/skills/business-analyse/references/prd-generation.md +258 -258
- package/templates/skills/business-analyse/references/review-data-mapping.md +363 -363
- package/templates/skills/business-analyse/references/robustness-checks.md +542 -542
- package/templates/skills/business-analyse/references/spec-auto-inference.md +111 -111
- package/templates/skills/business-analyse/references/team-orchestration.md +1022 -1022
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +259 -259
- package/templates/skills/business-analyse/references/validate-incremental-html.md +121 -121
- package/templates/skills/business-analyse/references/validation-checklist.md +347 -347
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +335 -335
- package/templates/skills/business-analyse/schemas/application-schema.json +453 -453
- package/templates/skills/business-analyse/schemas/feature-schema.json +53 -53
- package/templates/skills/business-analyse/schemas/project-schema.json +485 -485
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +201 -201
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +82 -82
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +80 -80
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +70 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +547 -547
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +93 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +226 -226
- package/templates/skills/business-analyse/steps/step-00-init.md +575 -576
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +767 -767
- package/templates/skills/business-analyse/steps/step-01b-applications.md +419 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +387 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +16 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +506 -506
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +252 -252
- package/templates/skills/business-analyse/steps/step-03b-ui.md +425 -425
- package/templates/skills/business-analyse/steps/step-03c-compile.md +611 -611
- package/templates/skills/business-analyse/steps/step-03d-validate.md +783 -783
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +17 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +415 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +163 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +186 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +840 -840
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +522 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +703 -703
- package/templates/skills/business-analyse/steps/step-06-review.md +278 -278
- package/templates/skills/business-analyse/templates/tpl-frd.md +168 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +186 -186
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +59 -59
- package/templates/skills/business-analyse/templates/tpl-progress.md +172 -172
- package/templates/skills/business-analyse/templates-frd.md +476 -476
- package/templates/skills/business-analyse/templates-react.md +574 -574
- package/templates/skills/cc-agent/SKILL.md +129 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -213
- package/templates/skills/cc-agent/references/permission-modes.md +102 -102
- package/templates/skills/cc-agent/references/tools-reference.md +144 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +134 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +186 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +131 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +130 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +67 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +56 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -94
- package/templates/skills/cc-audit/SKILL.md +108 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +91 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +110 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +70 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +98 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +142 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +142 -142
- package/templates/skills/cc-skill/SKILL.md +134 -134
- package/templates/skills/cc-skill/references/best-practices.md +167 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +199 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +119 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +199 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +145 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +151 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +124 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +85 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +102 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +75 -75
- package/templates/skills/cc-skill/templates/step-template.md +82 -82
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/controller/SKILL.md +162 -162
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/references/controller-code-templates.md +159 -159
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -209
- package/templates/skills/controller/references/permission-sync-templates.md +149 -149
- package/templates/skills/controller/steps/step-00-init.md +193 -191
- package/templates/skills/controller/steps/step-01-analyze.md +146 -146
- package/templates/skills/controller/steps/step-02-plan.md +176 -176
- package/templates/skills/controller/steps/step-03-generate.md +189 -189
- package/templates/skills/controller/steps/step-04-perms.md +80 -80
- package/templates/skills/controller/steps/step-05-validate.md +107 -107
- package/templates/skills/controller/templates.md +1555 -1555
- package/templates/skills/debug/SKILL.md +70 -70
- package/templates/skills/debug/references/team-protocol.md +232 -232
- package/templates/skills/debug/steps/step-00-init.md +57 -57
- package/templates/skills/debug/steps/step-01-analyze.md +219 -219
- package/templates/skills/debug/steps/step-02-resolve.md +85 -85
- package/templates/skills/documentation/SKILL.md +132 -132
- package/templates/skills/documentation/data-schema.md +227 -227
- package/templates/skills/documentation/steps/step-00-init.md +70 -70
- package/templates/skills/documentation/steps/step-01-scan.md +113 -113
- package/templates/skills/documentation/steps/step-02-generate.md +231 -231
- package/templates/skills/documentation/steps/step-03-validate.md +251 -238
- package/templates/skills/documentation/templates.md +662 -663
- package/templates/skills/efcore/SKILL.md +167 -167
- package/templates/skills/efcore/references/both-contexts.md +32 -32
- package/templates/skills/efcore/references/database-operations.md +67 -67
- package/templates/skills/efcore/references/destructive-operations.md +38 -38
- package/templates/skills/efcore/references/reset-operations.md +81 -81
- package/templates/skills/efcore/references/seed-methods.md +86 -86
- package/templates/skills/efcore/references/shared-init-functions.md +250 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +61 -61
- package/templates/skills/efcore/references/troubleshooting.md +81 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +227 -227
- package/templates/skills/efcore/steps/db/step-deploy.md +217 -217
- package/templates/skills/efcore/steps/db/step-reset.md +186 -186
- package/templates/skills/efcore/steps/db/step-seed.md +166 -166
- package/templates/skills/efcore/steps/db/step-status.md +173 -173
- package/templates/skills/efcore/steps/migration/step-00-init.md +102 -102
- package/templates/skills/efcore/steps/migration/step-01-check.md +164 -164
- package/templates/skills/efcore/steps/migration/step-02-create.md +160 -160
- package/templates/skills/efcore/steps/migration/step-03-validate.md +168 -168
- package/templates/skills/efcore/steps/rebase-snapshot/step-00-init.md +173 -173
- package/templates/skills/efcore/steps/rebase-snapshot/step-01-backup.md +100 -100
- package/templates/skills/efcore/steps/rebase-snapshot/step-02-fetch.md +115 -115
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +112 -112
- package/templates/skills/efcore/steps/rebase-snapshot/step-04-validate.md +157 -157
- package/templates/skills/efcore/steps/shared/step-00-init.md +131 -131
- package/templates/skills/efcore/steps/squash/step-00-init.md +141 -141
- package/templates/skills/efcore/steps/squash/step-01-backup.md +120 -120
- package/templates/skills/efcore/steps/squash/step-02-fetch.md +168 -168
- package/templates/skills/efcore/steps/squash/step-03-create.md +184 -184
- package/templates/skills/efcore/steps/squash/step-04-validate.md +174 -174
- package/templates/skills/explore/SKILL.md +98 -98
- package/templates/skills/feature-full/SKILL.md +111 -111
- package/templates/skills/feature-full/steps/step-00-init.md +57 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +120 -120
- package/templates/skills/gitflow/SKILL.md +377 -377
- package/templates/skills/gitflow/_shared.md +620 -620
- package/templates/skills/gitflow/phases/abort.md +189 -189
- package/templates/skills/gitflow/phases/cleanup.md +234 -234
- package/templates/skills/gitflow/phases/status.md +192 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +58 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +49 -49
- package/templates/skills/gitflow/references/finish-cleanup.md +55 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +45 -45
- package/templates/skills/gitflow/references/init-config-template.md +135 -135
- package/templates/skills/gitflow/references/init-environment-detection.md +41 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +103 -103
- package/templates/skills/gitflow/references/init-questions.md +185 -185
- package/templates/skills/gitflow/references/init-structure-creation.md +75 -75
- package/templates/skills/gitflow/references/init-version-detection.md +21 -21
- package/templates/skills/gitflow/references/init-workspace-detection.md +43 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +36 -36
- package/templates/skills/gitflow/references/merge-execution.md +62 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +76 -76
- package/templates/skills/gitflow/references/plan-template.md +69 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +60 -60
- package/templates/skills/gitflow/references/pr-generation.md +58 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +28 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -70
- package/templates/skills/gitflow/references/start-local-config.md +113 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +50 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +44 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -38
- package/templates/skills/gitflow/steps/step-commit.md +199 -199
- package/templates/skills/gitflow/steps/step-finish.md +147 -147
- package/templates/skills/gitflow/steps/step-init.md +190 -190
- package/templates/skills/gitflow/steps/step-merge.md +85 -85
- package/templates/skills/gitflow/steps/step-plan.md +151 -151
- package/templates/skills/gitflow/steps/step-pr.md +199 -199
- package/templates/skills/gitflow/steps/step-start.md +195 -195
- package/templates/skills/gitflow/steps/step-sync.md +161 -161
- package/templates/skills/gitflow/templates/config.json +72 -72
- package/templates/skills/mcp/SKILL.md +62 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -108
- package/templates/skills/mcp/steps/step-02-tools.md +73 -73
- package/templates/skills/notification/SKILL.md +173 -173
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/ralph-loop/SKILL.md +234 -234
- package/templates/skills/ralph-loop/references/category-completeness.md +185 -185
- package/templates/skills/ralph-loop/references/category-rules.md +96 -96
- package/templates/skills/ralph-loop/references/compact-loop.md +300 -300
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -127
- package/templates/skills/ralph-loop/references/module-transition.md +151 -151
- package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -171
- package/templates/skills/ralph-loop/references/parallel-execution.md +246 -246
- package/templates/skills/ralph-loop/references/section-splitting.md +439 -439
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +256 -256
- package/templates/skills/ralph-loop/references/team-orchestration.md +547 -547
- package/templates/skills/ralph-loop/steps/step-00-init.md +150 -150
- package/templates/skills/ralph-loop/steps/step-01-task.md +174 -174
- package/templates/skills/ralph-loop/steps/step-02-execute.md +177 -177
- package/templates/skills/ralph-loop/steps/step-03-commit.md +92 -92
- package/templates/skills/ralph-loop/steps/step-04-check.md +207 -207
- package/templates/skills/ralph-loop/steps/step-05-report.md +175 -175
- package/templates/skills/refactor/SKILL.md +56 -56
- package/templates/skills/refactor/steps/step-01-discover.md +60 -60
- package/templates/skills/refactor/steps/step-02-execute.md +67 -67
- package/templates/skills/review-code/SKILL.md +94 -94
- package/templates/skills/review-code/references/clean-code-principles.md +292 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -174
- package/templates/skills/review-code/references/feedback-patterns.md +149 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +243 -243
- package/templates/skills/review-code/references/security-checklist.md +212 -212
- package/templates/skills/review-code/steps/step-01-smartstack.md +96 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -80
- package/templates/skills/review-code/steps/step-03-react.md +44 -44
- package/templates/skills/ui-components/SKILL.md +137 -137
- package/templates/skills/ui-components/accessibility.md +170 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +327 -327
- package/templates/skills/ui-components/patterns/data-table.md +39 -39
- package/templates/skills/ui-components/patterns/entity-card.md +77 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +91 -91
- package/templates/skills/ui-components/patterns/kanban.md +43 -43
- package/templates/skills/ui-components/responsive-guidelines.md +278 -278
- package/templates/skills/ui-components/style-guide.md +113 -113
- package/templates/skills/utils/SKILL.md +44 -44
- package/templates/skills/utils/subcommands/test-web-config.md +152 -152
- package/templates/skills/utils/subcommands/test-web.md +123 -123
- package/templates/skills/validate/SKILL.md +181 -181
- package/templates/skills/validate-feature/SKILL.md +101 -101
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
- package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
- package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
- package/templates/skills/workflow/SKILL.md +127 -127
- package/templates/skills/workflow/steps/step-00-init.md +57 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +84 -84
- package/templates/test-web/api-health.json +38 -38
- package/templates/test-web/minimal.json +19 -19
- package/templates/test-web/npm-package.json +46 -46
- package/templates/test-web/seo-check.json +54 -54
|
@@ -1,252 +1,252 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-03a2-analysis
|
|
3
|
-
description: Analysis section - objectives, entities, business rules, process flow
|
|
4
|
-
model: opus
|
|
5
|
-
next_step: steps/step-03b-ui.md
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
> **Context files:** `_shared.md` | `_elicitation.md` | `_architecture.md` | `_module-loop.md`
|
|
9
|
-
> **Reference (check 7):** `references/entity-architecture-decision.md` — Entity scoring for unresolved relationship targets
|
|
10
|
-
|
|
11
|
-
# Step 3a2: Analysis - Entities & Business Logic
|
|
12
|
-
|
|
13
|
-
## MANDATORY EXECUTION RULES
|
|
14
|
-
|
|
15
|
-
- ALWAYS use ULTRATHINK mode
|
|
16
|
-
- This step follows step-03a1-setup.md (module already initialized)
|
|
17
|
-
- **ID NAMING RULE:** All IDs MUST include module prefix (BR-{CAT}-{PREFIX}-{NNN}, OBJ-{PREFIX}-{NNN}, etc.)
|
|
18
|
-
- **SCHEMA CONFORMITY RULE:** ALL data MUST fit within feature-schema.json structure
|
|
19
|
-
|
|
20
|
-
## MODE DETECTION (inherited from step-03a1)
|
|
21
|
-
|
|
22
|
-
> **CRITICAL: Re-check your execution mode before proceeding.**
|
|
23
|
-
|
|
24
|
-
**IF you are running as a TEAM AGENT** (your prompt contains `PROPOSE & REVIEW` or `team-lead` as recipient):
|
|
25
|
-
→ **NEVER** use `AskUserQuestion` — replace ALL user interactions with ULTRATHINK autonomous decisions
|
|
26
|
-
→ You are in autonomous mode — make all choices based on decomposition data + SmartStack conventions
|
|
27
|
-
→ Do NOT present options to the user — you PROPOSE to the team lead via SendMessage, not to the user
|
|
28
|
-
|
|
29
|
-
**IF you are running in the MAIN CONVERSATION** (classic inline mode):
|
|
30
|
-
→ Normal interactive mode — use `AskUserQuestion` as documented below
|
|
31
|
-
|
|
32
|
-
## YOUR TASK
|
|
33
|
-
|
|
34
|
-
Define the module's analysis section: objectives, entities (with attributes and relationships), business rules, process flow, and data lifecycle.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## EXECUTION SEQUENCE
|
|
39
|
-
|
|
40
|
-
### 6. Analysis Section
|
|
41
|
-
|
|
42
|
-
#### 6a. Objectives
|
|
43
|
-
|
|
44
|
-
Define measurable business objectives for this module:
|
|
45
|
-
|
|
46
|
-
> **STRUCTURE CARD: analysis.objectives[]**
|
|
47
|
-
> ```json
|
|
48
|
-
> { "id": "OBJ-{PREFIX}-001", "objective": "Reduce order processing time", "metric": "Average time to fulfillment", "target": "< 4 hours" }
|
|
49
|
-
> ```
|
|
50
|
-
|
|
51
|
-
#### 6b. Entity Definition
|
|
52
|
-
|
|
53
|
-
Define entities for this module (business attributes, not technical):
|
|
54
|
-
|
|
55
|
-
> **STRUCTURE CARD: analysis.entities[]** — Field names are EXACT. Do NOT deviate.
|
|
56
|
-
> ```json
|
|
57
|
-
> {
|
|
58
|
-
> "name": "PascalCase",
|
|
59
|
-
> "description": "1-2 sentences describing the entity purpose",
|
|
60
|
-
> "attributes": [
|
|
61
|
-
> {
|
|
62
|
-
> "name": "attributeName",
|
|
63
|
-
> "description": "What this attribute represents",
|
|
64
|
-
> "required": true,
|
|
65
|
-
> "unique": false,
|
|
66
|
-
> "validation": "Format: XXX-NNNNN, max 100 chars, etc."
|
|
67
|
-
> }
|
|
68
|
-
> ],
|
|
69
|
-
> "relationships": [
|
|
70
|
-
> { "target": "OtherEntity", "type": "1:1|1:N|N:1|N:M", "description": "description" }
|
|
71
|
-
> ]
|
|
72
|
-
> }
|
|
73
|
-
> ```
|
|
74
|
-
> **FORBIDDEN fields in attributes:** Do NOT use `type`, `values`, `rules`.
|
|
75
|
-
> Use `description` to explain what the attribute is, `validation` for format/constraint rules, `unique` as boolean.
|
|
76
|
-
>
|
|
77
|
-
> **FORBIDDEN FORMAT — DO NOT USE (technical/database schema):**
|
|
78
|
-
> ```json
|
|
79
|
-
> {
|
|
80
|
-
> "name": "Project",
|
|
81
|
-
> "tableName": "rh_projects",
|
|
82
|
-
> "primaryKey": "id",
|
|
83
|
-
> "fields": [
|
|
84
|
-
> { "name": "code", "type": "UUID", "required": true }
|
|
85
|
-
> ]
|
|
86
|
-
> }
|
|
87
|
-
> ```
|
|
88
|
-
> **Why forbidden:** `tableName`, `primaryKey` are technical fields that do NOT belong in analysis. `fields[]` is NOT recognized by the build pipeline — only `attributes[]` is. `type` with SQL types (UUID, string, timestamp) belongs in implementation, not analysis. Using this format causes **empty entity data in the HTML documentation** and **broken PRD extraction**.
|
|
89
|
-
> The canonical format uses `attributes[]` (not `fields[]`), `relationships[]` (not FK inside fields), and NO technical fields (tableName, primaryKey).
|
|
90
|
-
|
|
91
|
-
#### 6b-bis. Code Pattern Definition
|
|
92
|
-
|
|
93
|
-
For EACH entity defined above, determine the code generation strategy.
|
|
94
|
-
|
|
95
|
-
> **STRUCTURE CARD: analysis.entities[].codePattern**
|
|
96
|
-
> ```json
|
|
97
|
-
> {
|
|
98
|
-
> "strategy": "sequential|timestamp-daily|timestamp-minute|year-sequential|uuid-short|manual",
|
|
99
|
-
> "prefix": "emp",
|
|
100
|
-
> "includeTenantSlug": true,
|
|
101
|
-
> "separator": "-",
|
|
102
|
-
> "estimatedVolume": 1000,
|
|
103
|
-
> "digits": 5,
|
|
104
|
-
> "example": "acme-emp-00001"
|
|
105
|
-
> }
|
|
106
|
-
> ```
|
|
107
|
-
|
|
108
|
-
**Strategy selection heuristic** (use as default when user does not specify):
|
|
109
|
-
|
|
110
|
-
| Entity type / name pattern | Default strategy | Example |
|
|
111
|
-
|---------------------------|-----------------|---------|
|
|
112
|
-
| Invoice, Order, Receipt, Bill, Delivery | `timestamp-daily` | `acme-inv-20260215-001` |
|
|
113
|
-
| Ticket, Request, Incident, Support, Alert | `timestamp-minute` | `acme-ticket-202602151430-001` |
|
|
114
|
-
| Contract, Agreement, Policy, License | `year-sequential` | `acme-ctr-2026-00001` |
|
|
115
|
-
| Reference, Category, Tag, Type, Status | `uuid-short` | `acme-ref-a1b2c3d4` |
|
|
116
|
-
| Employee, Customer, Partner, Project, Product | `sequential` | `acme-emp-00001` |
|
|
117
|
-
| User says "manual" or "user-provided" | `manual` | (user types the code) |
|
|
118
|
-
|
|
119
|
-
**Digits calculation (x10 rule):**
|
|
120
|
-
- Use Q4.4 (estimated volume) as input
|
|
121
|
-
- Apply: `digits = max(4, ceil(log10(volume * 10)))`
|
|
122
|
-
- If no volume estimate: default to 5 digits (capacity: 99,999)
|
|
123
|
-
|
|
124
|
-
**Interactive question (if NOT team agent):**
|
|
125
|
-
|
|
126
|
-
```yaml
|
|
127
|
-
questions:
|
|
128
|
-
- header: "Code Pattern"
|
|
129
|
-
question: "For entity {entityName}, how should the Code be generated?"
|
|
130
|
-
options:
|
|
131
|
-
- label: "Auto-sequential (Recommended)"
|
|
132
|
-
description: "{tenant}-{prefix}-00001 — simple sequential numbering"
|
|
133
|
-
- label: "Date-based (daily)"
|
|
134
|
-
description: "{tenant}-{prefix}-20260215-001 — includes creation date"
|
|
135
|
-
- label: "Year-sequential"
|
|
136
|
-
description: "{tenant}-{prefix}-2026-00001 — yearly numbering"
|
|
137
|
-
- label: "Manual entry"
|
|
138
|
-
description: "User provides the code — no auto-generation"
|
|
139
|
-
multiSelect: false
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
If team agent: use heuristic defaults autonomously.
|
|
143
|
-
|
|
144
|
-
**Reference:** See `apex/references/code-generation.md` for full ICodeGenerator<T> implementation details, DI registration patterns, and backend service integration.
|
|
145
|
-
|
|
146
|
-
#### 6c. Process Flow
|
|
147
|
-
|
|
148
|
-
Define the main business process flow for this module (not lifecycle — that's in 8j):
|
|
149
|
-
|
|
150
|
-
> **STRUCTURE CARD: analysis.processFlow**
|
|
151
|
-
> ```json
|
|
152
|
-
> {
|
|
153
|
-
> "entryPoints": ["User navigates to module", "System event triggers action"],
|
|
154
|
-
> "mainFlow": [
|
|
155
|
-
> { "step": 1, "actor": "Manager", "action": "Opens the list", "system": "Displays filtered records" },
|
|
156
|
-
> { "step": 2, "actor": "Manager", "action": "Creates a record", "system": "Validates BR-VAL-{PREFIX}-001" },
|
|
157
|
-
> { "step": 3, "actor": "System", "action": "Saves record", "system": "Sends notification" }
|
|
158
|
-
> ],
|
|
159
|
-
> "decisionPoints": [
|
|
160
|
-
> { "condition": "Is amount > threshold?", "ifTrue": "Route to approver", "ifFalse": "Auto-approve", "rule": "BR-WF-{PREFIX}-001" }
|
|
161
|
-
> ],
|
|
162
|
-
> "alternativeFlows": ["Bulk import via CSV", "Automatic sync from SFTP"]
|
|
163
|
-
> }
|
|
164
|
-
> ```
|
|
165
|
-
> **FORBIDDEN:** Do NOT put lifecycle/state machine data here. Use `specification.lifeCycles[]` for that.
|
|
166
|
-
|
|
167
|
-
#### 6d. Data Lifecycle (MANDATORY — ALL modules)
|
|
168
|
-
|
|
169
|
-
> **CRITICAL:** This section is MANDATORY for EVERY module, even simple ones without GDPR requirements.
|
|
170
|
-
> Missing `analysis.dataLifecycle` causes BLOCKING errors in step-03d validation and consolidation structural checks.
|
|
171
|
-
|
|
172
|
-
Define data retention and lifecycle policies:
|
|
173
|
-
|
|
174
|
-
> **STRUCTURE CARD: analysis.dataLifecycle**
|
|
175
|
-
> ```json
|
|
176
|
-
> {
|
|
177
|
-
> "retentionPeriod": "7 years",
|
|
178
|
-
> "archiveStrategy": "Move to cold storage after 2 years",
|
|
179
|
-
> "gdprCompliance": "PII anonymized on request, data export available",
|
|
180
|
-
> "states": [
|
|
181
|
-
> { "name": "active", "transitions": ["archived", "deleted"] },
|
|
182
|
-
> { "name": "archived", "transitions": ["active"] },
|
|
183
|
-
> { "name": "deleted", "transitions": [] }
|
|
184
|
-
> ]
|
|
185
|
-
> }
|
|
186
|
-
> ```
|
|
187
|
-
>
|
|
188
|
-
> **Standard defaults** (use for modules without specific GDPR/retention requirements):
|
|
189
|
-
> ```json
|
|
190
|
-
> {
|
|
191
|
-
> "retentionPeriod": "Standard (as per company policy)",
|
|
192
|
-
> "archiveStrategy": "Soft-delete with audit trail",
|
|
193
|
-
> "gdprCompliance": "N/A — no PII or standard audit trail only",
|
|
194
|
-
> "states": [
|
|
195
|
-
> { "name": "active", "transitions": ["archived"] },
|
|
196
|
-
> { "name": "archived", "transitions": ["active"] }
|
|
197
|
-
> ]
|
|
198
|
-
> }
|
|
199
|
-
> ```
|
|
200
|
-
|
|
201
|
-
### 7. Business Rules Extraction
|
|
202
|
-
|
|
203
|
-
Extract business rules specific to this module:
|
|
204
|
-
|
|
205
|
-
> **STRUCTURE CARD: analysis.businessRules[]** — Field names are EXACT. Do NOT deviate.
|
|
206
|
-
> ```json
|
|
207
|
-
> {
|
|
208
|
-
> "id": "BR-VAL-{PREFIX}-001",
|
|
209
|
-
> "name": "Short rule name",
|
|
210
|
-
> "category": "validation|calculation|workflow|security|data",
|
|
211
|
-
> "statement": "IF {condition} THEN {consequence} ELSE {alternative}",
|
|
212
|
-
> "priority": "must|should|could",
|
|
213
|
-
> "conditions": ["Condition 1", "Condition 2"],
|
|
214
|
-
> "examples": [{ "input": "Order total $5000, budget $2000", "expected": "Order rejected" }],
|
|
215
|
-
> "testability": "Via unit test with mock data / integration test"
|
|
216
|
-
> }
|
|
217
|
-
> ```
|
|
218
|
-
> **MANDATORY fields:** `id`, `name`, `category`, `statement`, `priority`
|
|
219
|
-
> **FORBIDDEN fields:** Do NOT use `rule`, `condition` (singular), `action`. Use `name` + `statement` (IF/THEN/ELSE format) + `conditions` (array).
|
|
220
|
-
> **ID PATTERN:** `BR-{CAT}-{PREFIX}-{NNN}` where CAT = VAL|CALC|WF|SEC|DATA, PREFIX = module initials (2-4 chars)
|
|
221
|
-
> **category values:** lowercase only: `validation`, `calculation`, `workflow`, `security`, `data`
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## SELF-VERIFICATION (MANDATORY before loading step-03b-ui)
|
|
226
|
-
|
|
227
|
-
Before proceeding to step-03b-ui.md, VERIFY:
|
|
228
|
-
|
|
229
|
-
1. **Module feature.json exists** at expected path (`docs/{app}/business-analyse/v{X.Y}/feature.json`)
|
|
230
|
-
2. **Module feature.json has analysis section** with `entities[]` (at least 1) and `businessRules[]` (at least 1)
|
|
231
|
-
3. **Entity schema compliance (BLOCKING)** — EVERY entity has `attributes[]` (NOT `fields[]`) and `relationships[]` arrays.
|
|
232
|
-
Quick check: `analysis.entities.every(e => Array.isArray(e.attributes) && e.attributes.length >= 1)`
|
|
233
|
-
IF any entity has `fields[]` instead of `attributes[]` → STRUCTURAL ERROR, fix before proceeding.
|
|
234
|
-
IF any entity has `tableName` or `primaryKey` → STRUCTURAL ERROR, these are technical fields that do not belong in analysis.
|
|
235
|
-
4. **Module status in master** = "in-progress" (set by section 2 above)
|
|
236
|
-
5. **Master modules[].featureJsonPath** for this module ≠ null (set by ba-writer.create)
|
|
237
|
-
6. **Sections identified** with clear roles and entities assigned
|
|
238
|
-
7. **Unresolved relationship targets (BLOCKING)** — For EACH entity's `relationships[].target`:
|
|
239
|
-
- Check if the target entity exists in THIS module's `entities[]`
|
|
240
|
-
- OR in a completed/planned module's `entities[]`
|
|
241
|
-
- OR is a known config list / external system reference
|
|
242
|
-
- **IF unresolved:** Apply the Entity Sourcing Pattern from step-03a1 section 5-bis
|
|
243
|
-
(ULTRATHINK scoring + domain coherence + recommendation + AskUserQuestion)
|
|
244
|
-
- This catches entities discovered DURING analysis that weren't identified in setup
|
|
245
|
-
|
|
246
|
-
**IF any check fails → FIX before proceeding.** Do NOT load step-03b-ui with incomplete data.
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## NEXT STEP
|
|
251
|
-
|
|
252
|
-
Load: `steps/step-03b-ui.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-03a2-analysis
|
|
3
|
+
description: Analysis section - objectives, entities, business rules, process flow
|
|
4
|
+
model: opus
|
|
5
|
+
next_step: steps/step-03b-ui.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
> **Context files:** `_shared.md` | `_elicitation.md` | `_architecture.md` | `_module-loop.md`
|
|
9
|
+
> **Reference (check 7):** `references/entity-architecture-decision.md` — Entity scoring for unresolved relationship targets
|
|
10
|
+
|
|
11
|
+
# Step 3a2: Analysis - Entities & Business Logic
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES
|
|
14
|
+
|
|
15
|
+
- ALWAYS use ULTRATHINK mode
|
|
16
|
+
- This step follows step-03a1-setup.md (module already initialized)
|
|
17
|
+
- **ID NAMING RULE:** All IDs MUST include module prefix (BR-{CAT}-{PREFIX}-{NNN}, OBJ-{PREFIX}-{NNN}, etc.)
|
|
18
|
+
- **SCHEMA CONFORMITY RULE:** ALL data MUST fit within feature-schema.json structure
|
|
19
|
+
|
|
20
|
+
## MODE DETECTION (inherited from step-03a1)
|
|
21
|
+
|
|
22
|
+
> **CRITICAL: Re-check your execution mode before proceeding.**
|
|
23
|
+
|
|
24
|
+
**IF you are running as a TEAM AGENT** (your prompt contains `PROPOSE & REVIEW` or `team-lead` as recipient):
|
|
25
|
+
→ **NEVER** use `AskUserQuestion` — replace ALL user interactions with ULTRATHINK autonomous decisions
|
|
26
|
+
→ You are in autonomous mode — make all choices based on decomposition data + SmartStack conventions
|
|
27
|
+
→ Do NOT present options to the user — you PROPOSE to the team lead via SendMessage, not to the user
|
|
28
|
+
|
|
29
|
+
**IF you are running in the MAIN CONVERSATION** (classic inline mode):
|
|
30
|
+
→ Normal interactive mode — use `AskUserQuestion` as documented below
|
|
31
|
+
|
|
32
|
+
## YOUR TASK
|
|
33
|
+
|
|
34
|
+
Define the module's analysis section: objectives, entities (with attributes and relationships), business rules, process flow, and data lifecycle.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## EXECUTION SEQUENCE
|
|
39
|
+
|
|
40
|
+
### 6. Analysis Section
|
|
41
|
+
|
|
42
|
+
#### 6a. Objectives
|
|
43
|
+
|
|
44
|
+
Define measurable business objectives for this module:
|
|
45
|
+
|
|
46
|
+
> **STRUCTURE CARD: analysis.objectives[]**
|
|
47
|
+
> ```json
|
|
48
|
+
> { "id": "OBJ-{PREFIX}-001", "objective": "Reduce order processing time", "metric": "Average time to fulfillment", "target": "< 4 hours" }
|
|
49
|
+
> ```
|
|
50
|
+
|
|
51
|
+
#### 6b. Entity Definition
|
|
52
|
+
|
|
53
|
+
Define entities for this module (business attributes, not technical):
|
|
54
|
+
|
|
55
|
+
> **STRUCTURE CARD: analysis.entities[]** — Field names are EXACT. Do NOT deviate.
|
|
56
|
+
> ```json
|
|
57
|
+
> {
|
|
58
|
+
> "name": "PascalCase",
|
|
59
|
+
> "description": "1-2 sentences describing the entity purpose",
|
|
60
|
+
> "attributes": [
|
|
61
|
+
> {
|
|
62
|
+
> "name": "attributeName",
|
|
63
|
+
> "description": "What this attribute represents",
|
|
64
|
+
> "required": true,
|
|
65
|
+
> "unique": false,
|
|
66
|
+
> "validation": "Format: XXX-NNNNN, max 100 chars, etc."
|
|
67
|
+
> }
|
|
68
|
+
> ],
|
|
69
|
+
> "relationships": [
|
|
70
|
+
> { "target": "OtherEntity", "type": "1:1|1:N|N:1|N:M", "description": "description" }
|
|
71
|
+
> ]
|
|
72
|
+
> }
|
|
73
|
+
> ```
|
|
74
|
+
> **FORBIDDEN fields in attributes:** Do NOT use `type`, `values`, `rules`.
|
|
75
|
+
> Use `description` to explain what the attribute is, `validation` for format/constraint rules, `unique` as boolean.
|
|
76
|
+
>
|
|
77
|
+
> **FORBIDDEN FORMAT — DO NOT USE (technical/database schema):**
|
|
78
|
+
> ```json
|
|
79
|
+
> {
|
|
80
|
+
> "name": "Project",
|
|
81
|
+
> "tableName": "rh_projects",
|
|
82
|
+
> "primaryKey": "id",
|
|
83
|
+
> "fields": [
|
|
84
|
+
> { "name": "code", "type": "UUID", "required": true }
|
|
85
|
+
> ]
|
|
86
|
+
> }
|
|
87
|
+
> ```
|
|
88
|
+
> **Why forbidden:** `tableName`, `primaryKey` are technical fields that do NOT belong in analysis. `fields[]` is NOT recognized by the build pipeline — only `attributes[]` is. `type` with SQL types (UUID, string, timestamp) belongs in implementation, not analysis. Using this format causes **empty entity data in the HTML documentation** and **broken PRD extraction**.
|
|
89
|
+
> The canonical format uses `attributes[]` (not `fields[]`), `relationships[]` (not FK inside fields), and NO technical fields (tableName, primaryKey).
|
|
90
|
+
|
|
91
|
+
#### 6b-bis. Code Pattern Definition
|
|
92
|
+
|
|
93
|
+
For EACH entity defined above, determine the code generation strategy.
|
|
94
|
+
|
|
95
|
+
> **STRUCTURE CARD: analysis.entities[].codePattern**
|
|
96
|
+
> ```json
|
|
97
|
+
> {
|
|
98
|
+
> "strategy": "sequential|timestamp-daily|timestamp-minute|year-sequential|uuid-short|manual",
|
|
99
|
+
> "prefix": "emp",
|
|
100
|
+
> "includeTenantSlug": true,
|
|
101
|
+
> "separator": "-",
|
|
102
|
+
> "estimatedVolume": 1000,
|
|
103
|
+
> "digits": 5,
|
|
104
|
+
> "example": "acme-emp-00001"
|
|
105
|
+
> }
|
|
106
|
+
> ```
|
|
107
|
+
|
|
108
|
+
**Strategy selection heuristic** (use as default when user does not specify):
|
|
109
|
+
|
|
110
|
+
| Entity type / name pattern | Default strategy | Example |
|
|
111
|
+
|---------------------------|-----------------|---------|
|
|
112
|
+
| Invoice, Order, Receipt, Bill, Delivery | `timestamp-daily` | `acme-inv-20260215-001` |
|
|
113
|
+
| Ticket, Request, Incident, Support, Alert | `timestamp-minute` | `acme-ticket-202602151430-001` |
|
|
114
|
+
| Contract, Agreement, Policy, License | `year-sequential` | `acme-ctr-2026-00001` |
|
|
115
|
+
| Reference, Category, Tag, Type, Status | `uuid-short` | `acme-ref-a1b2c3d4` |
|
|
116
|
+
| Employee, Customer, Partner, Project, Product | `sequential` | `acme-emp-00001` |
|
|
117
|
+
| User says "manual" or "user-provided" | `manual` | (user types the code) |
|
|
118
|
+
|
|
119
|
+
**Digits calculation (x10 rule):**
|
|
120
|
+
- Use Q4.4 (estimated volume) as input
|
|
121
|
+
- Apply: `digits = max(4, ceil(log10(volume * 10)))`
|
|
122
|
+
- If no volume estimate: default to 5 digits (capacity: 99,999)
|
|
123
|
+
|
|
124
|
+
**Interactive question (if NOT team agent):**
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
questions:
|
|
128
|
+
- header: "Code Pattern"
|
|
129
|
+
question: "For entity {entityName}, how should the Code be generated?"
|
|
130
|
+
options:
|
|
131
|
+
- label: "Auto-sequential (Recommended)"
|
|
132
|
+
description: "{tenant}-{prefix}-00001 — simple sequential numbering"
|
|
133
|
+
- label: "Date-based (daily)"
|
|
134
|
+
description: "{tenant}-{prefix}-20260215-001 — includes creation date"
|
|
135
|
+
- label: "Year-sequential"
|
|
136
|
+
description: "{tenant}-{prefix}-2026-00001 — yearly numbering"
|
|
137
|
+
- label: "Manual entry"
|
|
138
|
+
description: "User provides the code — no auto-generation"
|
|
139
|
+
multiSelect: false
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
If team agent: use heuristic defaults autonomously.
|
|
143
|
+
|
|
144
|
+
**Reference:** See `apex/references/code-generation.md` for full ICodeGenerator<T> implementation details, DI registration patterns, and backend service integration.
|
|
145
|
+
|
|
146
|
+
#### 6c. Process Flow
|
|
147
|
+
|
|
148
|
+
Define the main business process flow for this module (not lifecycle — that's in 8j):
|
|
149
|
+
|
|
150
|
+
> **STRUCTURE CARD: analysis.processFlow**
|
|
151
|
+
> ```json
|
|
152
|
+
> {
|
|
153
|
+
> "entryPoints": ["User navigates to module", "System event triggers action"],
|
|
154
|
+
> "mainFlow": [
|
|
155
|
+
> { "step": 1, "actor": "Manager", "action": "Opens the list", "system": "Displays filtered records" },
|
|
156
|
+
> { "step": 2, "actor": "Manager", "action": "Creates a record", "system": "Validates BR-VAL-{PREFIX}-001" },
|
|
157
|
+
> { "step": 3, "actor": "System", "action": "Saves record", "system": "Sends notification" }
|
|
158
|
+
> ],
|
|
159
|
+
> "decisionPoints": [
|
|
160
|
+
> { "condition": "Is amount > threshold?", "ifTrue": "Route to approver", "ifFalse": "Auto-approve", "rule": "BR-WF-{PREFIX}-001" }
|
|
161
|
+
> ],
|
|
162
|
+
> "alternativeFlows": ["Bulk import via CSV", "Automatic sync from SFTP"]
|
|
163
|
+
> }
|
|
164
|
+
> ```
|
|
165
|
+
> **FORBIDDEN:** Do NOT put lifecycle/state machine data here. Use `specification.lifeCycles[]` for that.
|
|
166
|
+
|
|
167
|
+
#### 6d. Data Lifecycle (MANDATORY — ALL modules)
|
|
168
|
+
|
|
169
|
+
> **CRITICAL:** This section is MANDATORY for EVERY module, even simple ones without GDPR requirements.
|
|
170
|
+
> Missing `analysis.dataLifecycle` causes BLOCKING errors in step-03d validation and consolidation structural checks.
|
|
171
|
+
|
|
172
|
+
Define data retention and lifecycle policies:
|
|
173
|
+
|
|
174
|
+
> **STRUCTURE CARD: analysis.dataLifecycle**
|
|
175
|
+
> ```json
|
|
176
|
+
> {
|
|
177
|
+
> "retentionPeriod": "7 years",
|
|
178
|
+
> "archiveStrategy": "Move to cold storage after 2 years",
|
|
179
|
+
> "gdprCompliance": "PII anonymized on request, data export available",
|
|
180
|
+
> "states": [
|
|
181
|
+
> { "name": "active", "transitions": ["archived", "deleted"] },
|
|
182
|
+
> { "name": "archived", "transitions": ["active"] },
|
|
183
|
+
> { "name": "deleted", "transitions": [] }
|
|
184
|
+
> ]
|
|
185
|
+
> }
|
|
186
|
+
> ```
|
|
187
|
+
>
|
|
188
|
+
> **Standard defaults** (use for modules without specific GDPR/retention requirements):
|
|
189
|
+
> ```json
|
|
190
|
+
> {
|
|
191
|
+
> "retentionPeriod": "Standard (as per company policy)",
|
|
192
|
+
> "archiveStrategy": "Soft-delete with audit trail",
|
|
193
|
+
> "gdprCompliance": "N/A — no PII or standard audit trail only",
|
|
194
|
+
> "states": [
|
|
195
|
+
> { "name": "active", "transitions": ["archived"] },
|
|
196
|
+
> { "name": "archived", "transitions": ["active"] }
|
|
197
|
+
> ]
|
|
198
|
+
> }
|
|
199
|
+
> ```
|
|
200
|
+
|
|
201
|
+
### 7. Business Rules Extraction
|
|
202
|
+
|
|
203
|
+
Extract business rules specific to this module:
|
|
204
|
+
|
|
205
|
+
> **STRUCTURE CARD: analysis.businessRules[]** — Field names are EXACT. Do NOT deviate.
|
|
206
|
+
> ```json
|
|
207
|
+
> {
|
|
208
|
+
> "id": "BR-VAL-{PREFIX}-001",
|
|
209
|
+
> "name": "Short rule name",
|
|
210
|
+
> "category": "validation|calculation|workflow|security|data",
|
|
211
|
+
> "statement": "IF {condition} THEN {consequence} ELSE {alternative}",
|
|
212
|
+
> "priority": "must|should|could",
|
|
213
|
+
> "conditions": ["Condition 1", "Condition 2"],
|
|
214
|
+
> "examples": [{ "input": "Order total $5000, budget $2000", "expected": "Order rejected" }],
|
|
215
|
+
> "testability": "Via unit test with mock data / integration test"
|
|
216
|
+
> }
|
|
217
|
+
> ```
|
|
218
|
+
> **MANDATORY fields:** `id`, `name`, `category`, `statement`, `priority`
|
|
219
|
+
> **FORBIDDEN fields:** Do NOT use `rule`, `condition` (singular), `action`. Use `name` + `statement` (IF/THEN/ELSE format) + `conditions` (array).
|
|
220
|
+
> **ID PATTERN:** `BR-{CAT}-{PREFIX}-{NNN}` where CAT = VAL|CALC|WF|SEC|DATA, PREFIX = module initials (2-4 chars)
|
|
221
|
+
> **category values:** lowercase only: `validation`, `calculation`, `workflow`, `security`, `data`
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## SELF-VERIFICATION (MANDATORY before loading step-03b-ui)
|
|
226
|
+
|
|
227
|
+
Before proceeding to step-03b-ui.md, VERIFY:
|
|
228
|
+
|
|
229
|
+
1. **Module feature.json exists** at expected path (`docs/{app}/business-analyse/v{X.Y}/feature.json`)
|
|
230
|
+
2. **Module feature.json has analysis section** with `entities[]` (at least 1) and `businessRules[]` (at least 1)
|
|
231
|
+
3. **Entity schema compliance (BLOCKING)** — EVERY entity has `attributes[]` (NOT `fields[]`) and `relationships[]` arrays.
|
|
232
|
+
Quick check: `analysis.entities.every(e => Array.isArray(e.attributes) && e.attributes.length >= 1)`
|
|
233
|
+
IF any entity has `fields[]` instead of `attributes[]` → STRUCTURAL ERROR, fix before proceeding.
|
|
234
|
+
IF any entity has `tableName` or `primaryKey` → STRUCTURAL ERROR, these are technical fields that do not belong in analysis.
|
|
235
|
+
4. **Module status in master** = "in-progress" (set by section 2 above)
|
|
236
|
+
5. **Master modules[].featureJsonPath** for this module ≠ null (set by ba-writer.create)
|
|
237
|
+
6. **Sections identified** with clear roles and entities assigned
|
|
238
|
+
7. **Unresolved relationship targets (BLOCKING)** — For EACH entity's `relationships[].target`:
|
|
239
|
+
- Check if the target entity exists in THIS module's `entities[]`
|
|
240
|
+
- OR in a completed/planned module's `entities[]`
|
|
241
|
+
- OR is a known config list / external system reference
|
|
242
|
+
- **IF unresolved:** Apply the Entity Sourcing Pattern from step-03a1 section 5-bis
|
|
243
|
+
(ULTRATHINK scoring + domain coherence + recommendation + AskUserQuestion)
|
|
244
|
+
- This catches entities discovered DURING analysis that weren't identified in setup
|
|
245
|
+
|
|
246
|
+
**IF any check fails → FIX before proceeding.** Do NOT load step-03b-ui with incomplete data.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## NEXT STEP
|
|
251
|
+
|
|
252
|
+
Load: `steps/step-03b-ui.md`
|