@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,150 +1,150 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-00-init
|
|
3
|
-
description: Initialize Ralph loop - parse args, verify MCP, setup state
|
|
4
|
-
next_step: steps/step-01-task.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 0: Initialization
|
|
8
|
-
|
|
9
|
-
## MANDATORY RULES:
|
|
10
|
-
|
|
11
|
-
- **FULLY AUTONOMOUS** — execute ALL tasks without stopping or asking the user
|
|
12
|
-
- NEVER skip MCP verification
|
|
13
|
-
- ALWAYS parse ALL flags before any action
|
|
14
|
-
- ONLY check resume if -r flag is set
|
|
15
|
-
- **NEVER ask the user** to choose a mode, confirm execution, or select options
|
|
16
|
-
- **NEVER set max_iterations = 1** — unless the user explicitly passed `-m 1`
|
|
17
|
-
- **Multi-module (2+ modules):** Use Agent Teams for parallel execution
|
|
18
|
-
|
|
19
|
-
## YOUR TASK:
|
|
20
|
-
|
|
21
|
-
Initialize the Ralph loop: parse flags, verify MCP, setup environment, detect multi-module.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 1. Parse Flags
|
|
26
|
-
|
|
27
|
-
```yaml
|
|
28
|
-
Defaults:
|
|
29
|
-
max_iterations: 50
|
|
30
|
-
completion_promise: null
|
|
31
|
-
verbose_mode: false
|
|
32
|
-
resume_mode: false
|
|
33
|
-
parallel_mode: false
|
|
34
|
-
|
|
35
|
-
Flags:
|
|
36
|
-
-m N / --max-iterations N → {max_iterations} = N
|
|
37
|
-
-c TEXT / --completion-promise TEXT → {completion_promise} = TEXT
|
|
38
|
-
-v / --verbose → {verbose_mode} = true
|
|
39
|
-
-r / --resume → {resume_mode} = true
|
|
40
|
-
-p / --parallel → {parallel_mode} = true
|
|
41
|
-
Remainder → {task_description}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**If `-p`:** set parallel_mode = true. Ralph executes Phase 0 (entities) sequentially, then spawns parallel teammates.
|
|
45
|
-
|
|
46
|
-
## 2. Verify MCP (MANDATORY)
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
mcp__smartstack__validate_conventions: checks: ["all"] → {mcp_smartstack} = true/false
|
|
50
|
-
mcp__context7__resolve-library-id: libraryName: "test" → {mcp_context7} = true/false
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
If ANY fails: show error, suggest `smartstack check-mcp`, STOP.
|
|
54
|
-
|
|
55
|
-
## 3. Execution Mode (FULLY AUTONOMOUS)
|
|
56
|
-
|
|
57
|
-
Ralph-loop is FULLY AUTONOMOUS by default. It executes ALL tasks from start to finish WITHOUT stopping.
|
|
58
|
-
|
|
59
|
-
**DO NOT** ask the user to confirm, choose a mode, or approve execution.
|
|
60
|
-
**DO NOT** set max_iterations = 1 or any reduced value.
|
|
61
|
-
|
|
62
|
-
The loop runs autonomously until:
|
|
63
|
-
- ALL tasks are completed (success)
|
|
64
|
-
- max_iterations is reached (user set via `-m N`)
|
|
65
|
-
- Dead-end detected (all remaining blocked/failed)
|
|
66
|
-
- User Ctrl+C (external interrupt)
|
|
67
|
-
|
|
68
|
-
### Speed Warning (informational only)
|
|
69
|
-
|
|
70
|
-
If tests are slow (>30s in logs), display warning but **continue execution**:
|
|
71
|
-
```
|
|
72
|
-
⚠ Slow tests detected. Consider disabling E2E during ralph-loop.
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## 4. Resume or Initialize
|
|
76
|
-
|
|
77
|
-
See `references/init-resume-recovery.md` for complete Resume Mode and Auto-Recovery logic.
|
|
78
|
-
|
|
79
|
-
**Quick:**
|
|
80
|
-
- If `-r` flag: restore state from .ralph/prd.json
|
|
81
|
-
- Else if BA artifacts exist: auto-recover PRDs via `ss derive-prd`
|
|
82
|
-
- Else: fresh start
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## 4b. Detect Multi-Module PRDs
|
|
87
|
-
|
|
88
|
-
See `references/multi-module-queue.md` for queue initialization.
|
|
89
|
-
|
|
90
|
-
Quick: `glob('.ralph/prd-*.json').length > 1` → create modules-queue.json
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 4c. Team Orchestration (multi-module, 2+ modules)
|
|
95
|
-
|
|
96
|
-
```javascript
|
|
97
|
-
if (PRD_COUNT > 1) {
|
|
98
|
-
// Read references/team-orchestration.md for full protocol
|
|
99
|
-
const layers = master.metadata?.workflow?.dependencyGraph?.layers;
|
|
100
|
-
|
|
101
|
-
if (layers) {
|
|
102
|
-
// PARALLEL MODE: Use Agent Teams
|
|
103
|
-
TeamCreate({ team_name: `ralph-${appName}` });
|
|
104
|
-
// Spawn teammates per layer (see reference)
|
|
105
|
-
// STOP here — team orchestration takes over
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
// If no layers: fall through to sequential mode
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 5. Completion Promise (auto-set)
|
|
115
|
-
|
|
116
|
-
```javascript
|
|
117
|
-
if (!completion_promise) {
|
|
118
|
-
completion_promise = "COMPLETE";
|
|
119
|
-
}
|
|
120
|
-
// Output ONLY when ALL tasks done
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## 6. Collect Metadata
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
CLI_VERSION=$(node -e "console.log(require('package.json').version)" 2>/dev/null || echo "unknown")
|
|
127
|
-
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
128
|
-
PROJECT_PATH=$(pwd)
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
```javascript
|
|
132
|
-
{metadata} = {
|
|
133
|
-
cli_version: CLI_VERSION,
|
|
134
|
-
branch: CURRENT_BRANCH,
|
|
135
|
-
project_path: PROJECT_PATH,
|
|
136
|
-
mcp_servers: { smartstack: {mcp_smartstack}, context7: {mcp_context7} }
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## 7. Show Summary
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
RALPH LOOP INITIALIZED
|
|
144
|
-
Task: {task_description} | Max: {max_iterations} | Promise: {completion_promise}
|
|
145
|
-
MCP: Ready | Branch: {branch} | Schema: v3.0.0
|
|
146
|
-
{modules_queue ? `Modules: ${totalModules} (${module_codes.join(' → ')})` : 'Mode: single module'}
|
|
147
|
-
-> Loading tasks...
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**Proceed directly to step-01-task.md**
|
|
1
|
+
---
|
|
2
|
+
name: step-00-init
|
|
3
|
+
description: Initialize Ralph loop - parse args, verify MCP, setup state
|
|
4
|
+
next_step: steps/step-01-task.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 0: Initialization
|
|
8
|
+
|
|
9
|
+
## MANDATORY RULES:
|
|
10
|
+
|
|
11
|
+
- **FULLY AUTONOMOUS** — execute ALL tasks without stopping or asking the user
|
|
12
|
+
- NEVER skip MCP verification
|
|
13
|
+
- ALWAYS parse ALL flags before any action
|
|
14
|
+
- ONLY check resume if -r flag is set
|
|
15
|
+
- **NEVER ask the user** to choose a mode, confirm execution, or select options
|
|
16
|
+
- **NEVER set max_iterations = 1** — unless the user explicitly passed `-m 1`
|
|
17
|
+
- **Multi-module (2+ modules):** Use Agent Teams for parallel execution
|
|
18
|
+
|
|
19
|
+
## YOUR TASK:
|
|
20
|
+
|
|
21
|
+
Initialize the Ralph loop: parse flags, verify MCP, setup environment, detect multi-module.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. Parse Flags
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
Defaults:
|
|
29
|
+
max_iterations: 50
|
|
30
|
+
completion_promise: null
|
|
31
|
+
verbose_mode: false
|
|
32
|
+
resume_mode: false
|
|
33
|
+
parallel_mode: false
|
|
34
|
+
|
|
35
|
+
Flags:
|
|
36
|
+
-m N / --max-iterations N → {max_iterations} = N
|
|
37
|
+
-c TEXT / --completion-promise TEXT → {completion_promise} = TEXT
|
|
38
|
+
-v / --verbose → {verbose_mode} = true
|
|
39
|
+
-r / --resume → {resume_mode} = true
|
|
40
|
+
-p / --parallel → {parallel_mode} = true
|
|
41
|
+
Remainder → {task_description}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**If `-p`:** set parallel_mode = true. Ralph executes Phase 0 (entities) sequentially, then spawns parallel teammates.
|
|
45
|
+
|
|
46
|
+
## 2. Verify MCP (MANDATORY)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
mcp__smartstack__validate_conventions: checks: ["all"] → {mcp_smartstack} = true/false
|
|
50
|
+
mcp__context7__resolve-library-id: libraryName: "test" → {mcp_context7} = true/false
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If ANY fails: show error, suggest `smartstack check-mcp`, STOP.
|
|
54
|
+
|
|
55
|
+
## 3. Execution Mode (FULLY AUTONOMOUS)
|
|
56
|
+
|
|
57
|
+
Ralph-loop is FULLY AUTONOMOUS by default. It executes ALL tasks from start to finish WITHOUT stopping.
|
|
58
|
+
|
|
59
|
+
**DO NOT** ask the user to confirm, choose a mode, or approve execution.
|
|
60
|
+
**DO NOT** set max_iterations = 1 or any reduced value.
|
|
61
|
+
|
|
62
|
+
The loop runs autonomously until:
|
|
63
|
+
- ALL tasks are completed (success)
|
|
64
|
+
- max_iterations is reached (user set via `-m N`)
|
|
65
|
+
- Dead-end detected (all remaining blocked/failed)
|
|
66
|
+
- User Ctrl+C (external interrupt)
|
|
67
|
+
|
|
68
|
+
### Speed Warning (informational only)
|
|
69
|
+
|
|
70
|
+
If tests are slow (>30s in logs), display warning but **continue execution**:
|
|
71
|
+
```
|
|
72
|
+
⚠ Slow tests detected. Consider disabling E2E during ralph-loop.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 4. Resume or Initialize
|
|
76
|
+
|
|
77
|
+
See `references/init-resume-recovery.md` for complete Resume Mode and Auto-Recovery logic.
|
|
78
|
+
|
|
79
|
+
**Quick:**
|
|
80
|
+
- If `-r` flag: restore state from .ralph/prd.json
|
|
81
|
+
- Else if BA artifacts exist: auto-recover PRDs via `ss derive-prd`
|
|
82
|
+
- Else: fresh start
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 4b. Detect Multi-Module PRDs
|
|
87
|
+
|
|
88
|
+
See `references/multi-module-queue.md` for queue initialization.
|
|
89
|
+
|
|
90
|
+
Quick: `glob('.ralph/prd-*.json').length > 1` → create modules-queue.json
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4c. Team Orchestration (multi-module, 2+ modules)
|
|
95
|
+
|
|
96
|
+
```javascript
|
|
97
|
+
if (PRD_COUNT > 1) {
|
|
98
|
+
// Read references/team-orchestration.md for full protocol
|
|
99
|
+
const layers = master.metadata?.workflow?.dependencyGraph?.layers;
|
|
100
|
+
|
|
101
|
+
if (layers) {
|
|
102
|
+
// PARALLEL MODE: Use Agent Teams
|
|
103
|
+
TeamCreate({ team_name: `ralph-${appName}` });
|
|
104
|
+
// Spawn teammates per layer (see reference)
|
|
105
|
+
// STOP here — team orchestration takes over
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// If no layers: fall through to sequential mode
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 5. Completion Promise (auto-set)
|
|
115
|
+
|
|
116
|
+
```javascript
|
|
117
|
+
if (!completion_promise) {
|
|
118
|
+
completion_promise = "COMPLETE";
|
|
119
|
+
}
|
|
120
|
+
// Output ONLY when ALL tasks done
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 6. Collect Metadata
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
CLI_VERSION=$(node -e "console.log(require('package.json').version)" 2>/dev/null || echo "unknown")
|
|
127
|
+
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
128
|
+
PROJECT_PATH=$(pwd)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
{metadata} = {
|
|
133
|
+
cli_version: CLI_VERSION,
|
|
134
|
+
branch: CURRENT_BRANCH,
|
|
135
|
+
project_path: PROJECT_PATH,
|
|
136
|
+
mcp_servers: { smartstack: {mcp_smartstack}, context7: {mcp_context7} }
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## 7. Show Summary
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
RALPH LOOP INITIALIZED
|
|
144
|
+
Task: {task_description} | Max: {max_iterations} | Promise: {completion_promise}
|
|
145
|
+
MCP: Ready | Branch: {branch} | Schema: v3.0.0
|
|
146
|
+
{modules_queue ? `Modules: ${totalModules} (${module_codes.join(' → ')})` : 'Mode: single module'}
|
|
147
|
+
-> Loading tasks...
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Proceed directly to step-01-task.md**
|
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-01-task
|
|
3
|
-
description: Load or create tasks from prd.json (v3 unified or v2 legacy)
|
|
4
|
-
next_step: steps/step-02-execute.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 1: Load Task
|
|
8
|
-
|
|
9
|
-
> **MODULE TRANSITION CHECK:** Before "Only Read Once" rule, check for module transition:
|
|
10
|
-
|
|
11
|
-
```javascript
|
|
12
|
-
if (fileExists('.ralph/module-changed.json')) {
|
|
13
|
-
const t = readJSON('.ralph/module-changed.json');
|
|
14
|
-
console.log(`Module transition: ${t.fromModule} → ${t.toModule}`);
|
|
15
|
-
deleteFile('.ralph/module-changed.json');
|
|
16
|
-
// PROCEED (exception to "Only Read Once" rule)
|
|
17
|
-
}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
> **CONTEXT OPTIMIZATION:** Read ONCE per module (first iteration).
|
|
21
|
-
> Iterations > 1 within same module → use COMPACT LOOP in step-04.
|
|
22
|
-
> Re-read ONLY on module transition (module-changed.json detected above).
|
|
23
|
-
|
|
24
|
-
## YOUR TASK:
|
|
25
|
-
|
|
26
|
-
Load task from prd.json or create initial task breakdown with categories, dependencies, and acceptance criteria.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 0. Multi-Module Queue Check
|
|
31
|
-
|
|
32
|
-
See `references/multi-module-queue.md` for full module queue initialization, detection, and loading.
|
|
33
|
-
|
|
34
|
-
Quick: If `glob('.ralph/prd-*.json').length > 1` → create modules-queue.json and load first module's PRD.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## PrdJson → Ralph v2 Transformation (DEPRECATED)
|
|
39
|
-
|
|
40
|
-
See [references/task-transform-legacy.md](../references/task-transform-legacy.md) for the full `transformPrdJsonToRalphV2()` function including:
|
|
41
|
-
- Layer-ordered task generation (domain → infra → app → api → frontend → seedData → tests)
|
|
42
|
-
- Consolidated frontend + i18n tasks
|
|
43
|
-
- Guardrails 1d-1j (inject missing infrastructure, API, frontend, tests, seed data, migration)
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## 1. Check for Existing prd.json
|
|
48
|
-
|
|
49
|
-
If `.ralph/prd.json` exists:
|
|
50
|
-
1. Read the PRD
|
|
51
|
-
2. **v3 FAST PATH:** If `$version === "3.0.0"` AND `tasks[]` exists:
|
|
52
|
-
- Inject runtime fields if missing (status, config, feature, created, updated_at, history)
|
|
53
|
-
- Write back to `.ralph/prd.json`
|
|
54
|
-
- **Run CATEGORY COMPLETENESS CHECK (section 4b) before proceeding**
|
|
55
|
-
- Skip directly to section 5 (find next task)
|
|
56
|
-
3. **v2 legacy:** If `$version === "2.0.0"` → find next eligible task (section 5)
|
|
57
|
-
4. **FORMAT A (deprecated):** If `.project && .requirements && !.$version` → run `transformPrdJsonToRalphV2()` → section 5
|
|
58
|
-
|
|
59
|
-
If `.ralph/prd.json` does not exist: continue to section 1b.
|
|
60
|
-
|
|
61
|
-
### 1b. BA Handoff Quality Gate (BLOCKING)
|
|
62
|
-
|
|
63
|
-
> **CRITICAL:** Before generating ANY tasks, verify the BA handoff is complete.
|
|
64
|
-
> A missing handoff means no frontend files, no test plan, no BR-to-code mapping.
|
|
65
|
-
|
|
66
|
-
```javascript
|
|
67
|
-
const sourceFeatureJson = prd?.metadata?.sourceFeatureJson
|
|
68
|
-
|| findFile('docs/business/**/business-analyse/**/feature.json');
|
|
69
|
-
|
|
70
|
-
if (sourceFeatureJson) {
|
|
71
|
-
const feature = readJSON(sourceFeatureJson);
|
|
72
|
-
const handoff = feature.handoff || {};
|
|
73
|
-
|
|
74
|
-
// CHECK 1: Handoff status must be "handed-off"
|
|
75
|
-
if (handoff.status !== 'handed-off') {
|
|
76
|
-
console.error(`BLOCKING: BA HANDOFF INCOMPLETE
|
|
77
|
-
handoff.status = "${handoff.status || 'missing'}" (expected "handed-off")
|
|
78
|
-
Run /business-analyse to complete the handoff, then re-run /ralph-loop.`);
|
|
79
|
-
STOP;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// CHECK 2: filesToCreate must have all categories
|
|
83
|
-
const filesToCreate = handoff.filesToCreate || {};
|
|
84
|
-
const requiredCategories = ['domain', 'application', 'infrastructure', 'api', 'frontend', 'seedData', 'tests'];
|
|
85
|
-
const missingInHandoff = requiredCategories.filter(c => !filesToCreate[c] || filesToCreate[c].length === 0);
|
|
86
|
-
|
|
87
|
-
if (missingInHandoff.length > 0) {
|
|
88
|
-
console.warn(`⚠ Handoff has empty categories: ${missingInHandoff.join(', ')}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## 2. Analyze Task Description
|
|
94
|
-
|
|
95
|
-
Check for BA handoff source (priority):
|
|
96
|
-
1. Per-module PRD files (handled by section 0)
|
|
97
|
-
2. Single prd.json already present
|
|
98
|
-
3. Markdown handoff: `find . -path "*development-handoff*" -name "*.md"`
|
|
99
|
-
4. Direct task from `{task_description}`
|
|
100
|
-
|
|
101
|
-
Generate **3-30 subtasks** by category (domain → infrastructure → application → api → frontend → i18n → test → validation).
|
|
102
|
-
|
|
103
|
-
## 3. Create prd.json
|
|
104
|
-
|
|
105
|
-
Write `.ralph/prd.json` with all tasks (every task MUST have: id, description, status, category, dependencies, acceptance_criteria, started_at, completed_at, iteration, commit_hash, files_changed, validation, error).
|
|
106
|
-
|
|
107
|
-
Initialize `.ralph/progress.txt`:
|
|
108
|
-
```markdown
|
|
109
|
-
# Ralph Loop Progress
|
|
110
|
-
## Task: {task_description}
|
|
111
|
-
## Started: {timestamp}
|
|
112
|
-
## Schema: v3.0.0
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## 4. Validate Task Integrity
|
|
116
|
-
|
|
117
|
-
- All tasks have required fields
|
|
118
|
-
- Dependency references are valid (exist, no forward/circular)
|
|
119
|
-
- Task count 3-30
|
|
120
|
-
|
|
121
|
-
### 4b. Category Completeness Check (BLOCKING)
|
|
122
|
-
|
|
123
|
-
See `references/category-completeness.md` for full implementation.
|
|
124
|
-
|
|
125
|
-
Quick: `checkCategoryCompleteness(prd)` → inject guardrails if needed
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
### 4c. Section Split Detection (Large Module)
|
|
130
|
-
|
|
131
|
-
```javascript
|
|
132
|
-
const domainTasks = prd.tasks.filter(t => t.category === 'domain');
|
|
133
|
-
const sections = prd.architecture?.sections ?? [];
|
|
134
|
-
|
|
135
|
-
if (domainTasks.length > 4 && sections.length > 1 && !prd._sectionSplit?.enabled) {
|
|
136
|
-
console.log(`SECTION SPLIT: ${domainTasks.length} domain tasks, ${sections.length} sections → activating`);
|
|
137
|
-
// LOAD references/section-splitting.md — execute sections 2-6
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**Activation:** `> 4 domain tasks` AND `> 1 architecture section`
|
|
142
|
-
|
|
143
|
-
## 5. Find Current Task
|
|
144
|
-
|
|
145
|
-
```javascript
|
|
146
|
-
function findNextTask(tasks) {
|
|
147
|
-
for (const task of tasks) {
|
|
148
|
-
if (task.status !== 'pending') continue;
|
|
149
|
-
const depsBlocked = task.dependencies.some(d => {
|
|
150
|
-
const dep = tasks.find(t => t.id === d);
|
|
151
|
-
return dep && (dep.status === 'failed' || dep.status === 'blocked');
|
|
152
|
-
});
|
|
153
|
-
if (depsBlocked) { task.status = 'blocked'; task.error = 'Blocked by failed dependency'; continue; }
|
|
154
|
-
const depsOk = task.dependencies.every(d => tasks.find(t => t.id === d)?.status === 'completed');
|
|
155
|
-
if (depsOk) return task;
|
|
156
|
-
}
|
|
157
|
-
return null;
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
If no eligible task: check if all completed → step-05, else STOP.
|
|
162
|
-
|
|
163
|
-
## 6. Show Task Status
|
|
164
|
-
|
|
165
|
-
```
|
|
166
|
-
[{iteration}/{max}] {completed}/{total} done | Task [{id}] {description} ({category})
|
|
167
|
-
-> Executing...
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## NEXT STEP:
|
|
173
|
-
|
|
174
|
-
After task loaded, proceed to `./step-02-execute.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-01-task
|
|
3
|
+
description: Load or create tasks from prd.json (v3 unified or v2 legacy)
|
|
4
|
+
next_step: steps/step-02-execute.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 1: Load Task
|
|
8
|
+
|
|
9
|
+
> **MODULE TRANSITION CHECK:** Before "Only Read Once" rule, check for module transition:
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
if (fileExists('.ralph/module-changed.json')) {
|
|
13
|
+
const t = readJSON('.ralph/module-changed.json');
|
|
14
|
+
console.log(`Module transition: ${t.fromModule} → ${t.toModule}`);
|
|
15
|
+
deleteFile('.ralph/module-changed.json');
|
|
16
|
+
// PROCEED (exception to "Only Read Once" rule)
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
> **CONTEXT OPTIMIZATION:** Read ONCE per module (first iteration).
|
|
21
|
+
> Iterations > 1 within same module → use COMPACT LOOP in step-04.
|
|
22
|
+
> Re-read ONLY on module transition (module-changed.json detected above).
|
|
23
|
+
|
|
24
|
+
## YOUR TASK:
|
|
25
|
+
|
|
26
|
+
Load task from prd.json or create initial task breakdown with categories, dependencies, and acceptance criteria.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 0. Multi-Module Queue Check
|
|
31
|
+
|
|
32
|
+
See `references/multi-module-queue.md` for full module queue initialization, detection, and loading.
|
|
33
|
+
|
|
34
|
+
Quick: If `glob('.ralph/prd-*.json').length > 1` → create modules-queue.json and load first module's PRD.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## PrdJson → Ralph v2 Transformation (DEPRECATED)
|
|
39
|
+
|
|
40
|
+
See [references/task-transform-legacy.md](../references/task-transform-legacy.md) for the full `transformPrdJsonToRalphV2()` function including:
|
|
41
|
+
- Layer-ordered task generation (domain → infra → app → api → frontend → seedData → tests)
|
|
42
|
+
- Consolidated frontend + i18n tasks
|
|
43
|
+
- Guardrails 1d-1j (inject missing infrastructure, API, frontend, tests, seed data, migration)
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 1. Check for Existing prd.json
|
|
48
|
+
|
|
49
|
+
If `.ralph/prd.json` exists:
|
|
50
|
+
1. Read the PRD
|
|
51
|
+
2. **v3 FAST PATH:** If `$version === "3.0.0"` AND `tasks[]` exists:
|
|
52
|
+
- Inject runtime fields if missing (status, config, feature, created, updated_at, history)
|
|
53
|
+
- Write back to `.ralph/prd.json`
|
|
54
|
+
- **Run CATEGORY COMPLETENESS CHECK (section 4b) before proceeding**
|
|
55
|
+
- Skip directly to section 5 (find next task)
|
|
56
|
+
3. **v2 legacy:** If `$version === "2.0.0"` → find next eligible task (section 5)
|
|
57
|
+
4. **FORMAT A (deprecated):** If `.project && .requirements && !.$version` → run `transformPrdJsonToRalphV2()` → section 5
|
|
58
|
+
|
|
59
|
+
If `.ralph/prd.json` does not exist: continue to section 1b.
|
|
60
|
+
|
|
61
|
+
### 1b. BA Handoff Quality Gate (BLOCKING)
|
|
62
|
+
|
|
63
|
+
> **CRITICAL:** Before generating ANY tasks, verify the BA handoff is complete.
|
|
64
|
+
> A missing handoff means no frontend files, no test plan, no BR-to-code mapping.
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
const sourceFeatureJson = prd?.metadata?.sourceFeatureJson
|
|
68
|
+
|| findFile('docs/business/**/business-analyse/**/feature.json');
|
|
69
|
+
|
|
70
|
+
if (sourceFeatureJson) {
|
|
71
|
+
const feature = readJSON(sourceFeatureJson);
|
|
72
|
+
const handoff = feature.handoff || {};
|
|
73
|
+
|
|
74
|
+
// CHECK 1: Handoff status must be "handed-off"
|
|
75
|
+
if (handoff.status !== 'handed-off') {
|
|
76
|
+
console.error(`BLOCKING: BA HANDOFF INCOMPLETE
|
|
77
|
+
handoff.status = "${handoff.status || 'missing'}" (expected "handed-off")
|
|
78
|
+
Run /business-analyse to complete the handoff, then re-run /ralph-loop.`);
|
|
79
|
+
STOP;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// CHECK 2: filesToCreate must have all categories
|
|
83
|
+
const filesToCreate = handoff.filesToCreate || {};
|
|
84
|
+
const requiredCategories = ['domain', 'application', 'infrastructure', 'api', 'frontend', 'seedData', 'tests'];
|
|
85
|
+
const missingInHandoff = requiredCategories.filter(c => !filesToCreate[c] || filesToCreate[c].length === 0);
|
|
86
|
+
|
|
87
|
+
if (missingInHandoff.length > 0) {
|
|
88
|
+
console.warn(`⚠ Handoff has empty categories: ${missingInHandoff.join(', ')}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 2. Analyze Task Description
|
|
94
|
+
|
|
95
|
+
Check for BA handoff source (priority):
|
|
96
|
+
1. Per-module PRD files (handled by section 0)
|
|
97
|
+
2. Single prd.json already present
|
|
98
|
+
3. Markdown handoff: `find . -path "*development-handoff*" -name "*.md"`
|
|
99
|
+
4. Direct task from `{task_description}`
|
|
100
|
+
|
|
101
|
+
Generate **3-30 subtasks** by category (domain → infrastructure → application → api → frontend → i18n → test → validation).
|
|
102
|
+
|
|
103
|
+
## 3. Create prd.json
|
|
104
|
+
|
|
105
|
+
Write `.ralph/prd.json` with all tasks (every task MUST have: id, description, status, category, dependencies, acceptance_criteria, started_at, completed_at, iteration, commit_hash, files_changed, validation, error).
|
|
106
|
+
|
|
107
|
+
Initialize `.ralph/progress.txt`:
|
|
108
|
+
```markdown
|
|
109
|
+
# Ralph Loop Progress
|
|
110
|
+
## Task: {task_description}
|
|
111
|
+
## Started: {timestamp}
|
|
112
|
+
## Schema: v3.0.0
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## 4. Validate Task Integrity
|
|
116
|
+
|
|
117
|
+
- All tasks have required fields
|
|
118
|
+
- Dependency references are valid (exist, no forward/circular)
|
|
119
|
+
- Task count 3-30
|
|
120
|
+
|
|
121
|
+
### 4b. Category Completeness Check (BLOCKING)
|
|
122
|
+
|
|
123
|
+
See `references/category-completeness.md` for full implementation.
|
|
124
|
+
|
|
125
|
+
Quick: `checkCategoryCompleteness(prd)` → inject guardrails if needed
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 4c. Section Split Detection (Large Module)
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
const domainTasks = prd.tasks.filter(t => t.category === 'domain');
|
|
133
|
+
const sections = prd.architecture?.sections ?? [];
|
|
134
|
+
|
|
135
|
+
if (domainTasks.length > 4 && sections.length > 1 && !prd._sectionSplit?.enabled) {
|
|
136
|
+
console.log(`SECTION SPLIT: ${domainTasks.length} domain tasks, ${sections.length} sections → activating`);
|
|
137
|
+
// LOAD references/section-splitting.md — execute sections 2-6
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Activation:** `> 4 domain tasks` AND `> 1 architecture section`
|
|
142
|
+
|
|
143
|
+
## 5. Find Current Task
|
|
144
|
+
|
|
145
|
+
```javascript
|
|
146
|
+
function findNextTask(tasks) {
|
|
147
|
+
for (const task of tasks) {
|
|
148
|
+
if (task.status !== 'pending') continue;
|
|
149
|
+
const depsBlocked = task.dependencies.some(d => {
|
|
150
|
+
const dep = tasks.find(t => t.id === d);
|
|
151
|
+
return dep && (dep.status === 'failed' || dep.status === 'blocked');
|
|
152
|
+
});
|
|
153
|
+
if (depsBlocked) { task.status = 'blocked'; task.error = 'Blocked by failed dependency'; continue; }
|
|
154
|
+
const depsOk = task.dependencies.every(d => tasks.find(t => t.id === d)?.status === 'completed');
|
|
155
|
+
if (depsOk) return task;
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
If no eligible task: check if all completed → step-05, else STOP.
|
|
162
|
+
|
|
163
|
+
## 6. Show Task Status
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
[{iteration}/{max}] {completed}/{total} done | Task [{id}] {description} ({category})
|
|
167
|
+
-> Executing...
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## NEXT STEP:
|
|
173
|
+
|
|
174
|
+
After task loaded, proceed to `./step-02-execute.md`
|