@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,173 +1,173 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Ralph Loop Setup Script
|
|
3
|
-
# SmartStack CLI - https://atlashub.ch
|
|
4
|
-
#
|
|
5
|
-
# This script initializes the Ralph loop with MCP validation
|
|
6
|
-
# Usage: setup-ralph-loop.sh "PROMPT" [--max-iterations N] [--completion-promise TEXT]
|
|
7
|
-
|
|
8
|
-
set -e
|
|
9
|
-
|
|
10
|
-
# Colors
|
|
11
|
-
RED='\033[0;31m'
|
|
12
|
-
GREEN='\033[0;32m'
|
|
13
|
-
YELLOW='\033[1;33m'
|
|
14
|
-
BLUE='\033[0;34m'
|
|
15
|
-
NC='\033[0m' # No Color
|
|
16
|
-
|
|
17
|
-
# Configuration
|
|
18
|
-
RALPH_CONFIG_FILE=".ralph/ralph.config.yaml"
|
|
19
|
-
RALPH_LOG_DIR=".ralph/logs"
|
|
20
|
-
REQUIRED_MCP_SERVERS=("context7" "smartstack")
|
|
21
|
-
|
|
22
|
-
# Parse arguments
|
|
23
|
-
PROMPT=""
|
|
24
|
-
MAX_ITERATIONS=0
|
|
25
|
-
COMPLETION_PROMISE=""
|
|
26
|
-
|
|
27
|
-
while [[ $# -gt 0 ]]; do
|
|
28
|
-
case $1 in
|
|
29
|
-
--max-iterations)
|
|
30
|
-
MAX_ITERATIONS="$2"
|
|
31
|
-
shift 2
|
|
32
|
-
;;
|
|
33
|
-
--completion-promise)
|
|
34
|
-
COMPLETION_PROMISE="$2"
|
|
35
|
-
shift 2
|
|
36
|
-
;;
|
|
37
|
-
*)
|
|
38
|
-
if [[ -z "$PROMPT" ]]; then
|
|
39
|
-
PROMPT="$1"
|
|
40
|
-
fi
|
|
41
|
-
shift
|
|
42
|
-
;;
|
|
43
|
-
esac
|
|
44
|
-
done
|
|
45
|
-
|
|
46
|
-
# Functions
|
|
47
|
-
log_info() {
|
|
48
|
-
echo -e "${BLUE}[Ralph]${NC} $1"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
log_success() {
|
|
52
|
-
echo -e "${GREEN}[Ralph]${NC} $1"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
log_warning() {
|
|
56
|
-
echo -e "${YELLOW}[Ralph]${NC} $1"
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
log_error() {
|
|
60
|
-
echo -e "${RED}[Ralph]${NC} $1"
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
check_mcp_server() {
|
|
64
|
-
local server_name="$1"
|
|
65
|
-
# Check if MCP server is available via claude mcp list
|
|
66
|
-
if claude mcp list 2>/dev/null | grep -q "$server_name"; then
|
|
67
|
-
return 0
|
|
68
|
-
else
|
|
69
|
-
return 1
|
|
70
|
-
fi
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
validate_mcp_servers() {
|
|
74
|
-
log_info "Validating required MCP servers..."
|
|
75
|
-
local all_ok=true
|
|
76
|
-
|
|
77
|
-
for server in "${REQUIRED_MCP_SERVERS[@]}"; do
|
|
78
|
-
if check_mcp_server "$server"; then
|
|
79
|
-
log_success " ✓ $server available"
|
|
80
|
-
else
|
|
81
|
-
log_error " ✗ $server NOT FOUND"
|
|
82
|
-
log_warning " Install with: claude mcp add $server"
|
|
83
|
-
all_ok=false
|
|
84
|
-
fi
|
|
85
|
-
done
|
|
86
|
-
|
|
87
|
-
if [[ "$all_ok" == "false" ]]; then
|
|
88
|
-
log_error ""
|
|
89
|
-
log_error "Ralph requires ALL MCP servers to be available."
|
|
90
|
-
log_error "Please install missing servers and try again."
|
|
91
|
-
log_error ""
|
|
92
|
-
log_error "Quick fix: smartstack check-mcp"
|
|
93
|
-
exit 1
|
|
94
|
-
fi
|
|
95
|
-
|
|
96
|
-
log_success "All MCP servers validated ✓"
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
ensure_ralph_structure() {
|
|
100
|
-
# Create .ralph directory structure if not exists
|
|
101
|
-
if [[ ! -d ".ralph" ]]; then
|
|
102
|
-
log_info "Creating .ralph directory structure..."
|
|
103
|
-
mkdir -p ".ralph/logs"
|
|
104
|
-
mkdir -p ".ralph/reports"
|
|
105
|
-
|
|
106
|
-
# Copy default config if available
|
|
107
|
-
if [[ -f "${CLAUDE_PLUGIN_ROOT}/templates/ralph/ralph.config.yaml" ]]; then
|
|
108
|
-
cp "${CLAUDE_PLUGIN_ROOT}/templates/ralph/ralph.config.yaml" ".ralph/"
|
|
109
|
-
fi
|
|
110
|
-
|
|
111
|
-
log_success ".ralph structure created"
|
|
112
|
-
fi
|
|
113
|
-
|
|
114
|
-
# Ensure log directory exists
|
|
115
|
-
mkdir -p "$RALPH_LOG_DIR"
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
init_session_log() {
|
|
119
|
-
local session_id=$(date +%Y%m%d_%H%M%S)
|
|
120
|
-
local log_file="$RALPH_LOG_DIR/ralph-session-$session_id.log"
|
|
121
|
-
|
|
122
|
-
echo "# Ralph Session Log" > "$log_file"
|
|
123
|
-
echo "# Started: $(date -Iseconds)" >> "$log_file"
|
|
124
|
-
echo "# Prompt: $PROMPT" >> "$log_file"
|
|
125
|
-
echo "# Max Iterations: $MAX_ITERATIONS" >> "$log_file"
|
|
126
|
-
echo "# Completion Promise: $COMPLETION_PROMISE" >> "$log_file"
|
|
127
|
-
echo "" >> "$log_file"
|
|
128
|
-
|
|
129
|
-
export RALPH_SESSION_LOG="$log_file"
|
|
130
|
-
export RALPH_SESSION_ID="$session_id"
|
|
131
|
-
|
|
132
|
-
log_info "Session log: $log_file"
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
# Main execution
|
|
136
|
-
echo ""
|
|
137
|
-
echo -e "${BLUE}╔══════════════════════════════════════════╗${NC}"
|
|
138
|
-
echo -e "${BLUE}║${NC} ${GREEN}Ralph Weegund${NC} - SmartStack ${BLUE}║${NC}"
|
|
139
|
-
echo -e "${BLUE}╚══════════════════════════════════════════╝${NC}"
|
|
140
|
-
echo ""
|
|
141
|
-
|
|
142
|
-
# Validate prompt
|
|
143
|
-
if [[ -z "$PROMPT" ]]; then
|
|
144
|
-
log_error "No prompt provided!"
|
|
145
|
-
log_info "Usage: /ralph-loop \"Your feature description\""
|
|
146
|
-
exit 1
|
|
147
|
-
fi
|
|
148
|
-
|
|
149
|
-
# Run validations
|
|
150
|
-
validate_mcp_servers
|
|
151
|
-
ensure_ralph_structure
|
|
152
|
-
init_session_log
|
|
153
|
-
|
|
154
|
-
# Display configuration
|
|
155
|
-
echo ""
|
|
156
|
-
log_info "Configuration:"
|
|
157
|
-
echo " • Prompt: $PROMPT"
|
|
158
|
-
[[ $MAX_ITERATIONS -gt 0 ]] && echo " • Max iterations: $MAX_ITERATIONS"
|
|
159
|
-
[[ -n "$COMPLETION_PROMISE" ]] && echo " • Completion promise: $COMPLETION_PROMISE"
|
|
160
|
-
echo ""
|
|
161
|
-
|
|
162
|
-
log_success "Ralph is ready. Starting iteration loop..."
|
|
163
|
-
echo ""
|
|
164
|
-
|
|
165
|
-
# Export for Claude to use
|
|
166
|
-
export RALPH_PROMPT="$PROMPT"
|
|
167
|
-
export RALPH_MAX_ITERATIONS="$MAX_ITERATIONS"
|
|
168
|
-
export RALPH_COMPLETION_PROMISE="$COMPLETION_PROMISE"
|
|
169
|
-
export RALPH_STARTED="true"
|
|
170
|
-
|
|
171
|
-
# The actual loop behavior is handled by Claude Code
|
|
172
|
-
# This script just sets up the environment
|
|
173
|
-
exit 0
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Ralph Loop Setup Script
|
|
3
|
+
# SmartStack CLI - https://atlashub.ch
|
|
4
|
+
#
|
|
5
|
+
# This script initializes the Ralph loop with MCP validation
|
|
6
|
+
# Usage: setup-ralph-loop.sh "PROMPT" [--max-iterations N] [--completion-promise TEXT]
|
|
7
|
+
|
|
8
|
+
set -e
|
|
9
|
+
|
|
10
|
+
# Colors
|
|
11
|
+
RED='\033[0;31m'
|
|
12
|
+
GREEN='\033[0;32m'
|
|
13
|
+
YELLOW='\033[1;33m'
|
|
14
|
+
BLUE='\033[0;34m'
|
|
15
|
+
NC='\033[0m' # No Color
|
|
16
|
+
|
|
17
|
+
# Configuration
|
|
18
|
+
RALPH_CONFIG_FILE=".ralph/ralph.config.yaml"
|
|
19
|
+
RALPH_LOG_DIR=".ralph/logs"
|
|
20
|
+
REQUIRED_MCP_SERVERS=("context7" "smartstack")
|
|
21
|
+
|
|
22
|
+
# Parse arguments
|
|
23
|
+
PROMPT=""
|
|
24
|
+
MAX_ITERATIONS=0
|
|
25
|
+
COMPLETION_PROMISE=""
|
|
26
|
+
|
|
27
|
+
while [[ $# -gt 0 ]]; do
|
|
28
|
+
case $1 in
|
|
29
|
+
--max-iterations)
|
|
30
|
+
MAX_ITERATIONS="$2"
|
|
31
|
+
shift 2
|
|
32
|
+
;;
|
|
33
|
+
--completion-promise)
|
|
34
|
+
COMPLETION_PROMISE="$2"
|
|
35
|
+
shift 2
|
|
36
|
+
;;
|
|
37
|
+
*)
|
|
38
|
+
if [[ -z "$PROMPT" ]]; then
|
|
39
|
+
PROMPT="$1"
|
|
40
|
+
fi
|
|
41
|
+
shift
|
|
42
|
+
;;
|
|
43
|
+
esac
|
|
44
|
+
done
|
|
45
|
+
|
|
46
|
+
# Functions
|
|
47
|
+
log_info() {
|
|
48
|
+
echo -e "${BLUE}[Ralph]${NC} $1"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
log_success() {
|
|
52
|
+
echo -e "${GREEN}[Ralph]${NC} $1"
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
log_warning() {
|
|
56
|
+
echo -e "${YELLOW}[Ralph]${NC} $1"
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
log_error() {
|
|
60
|
+
echo -e "${RED}[Ralph]${NC} $1"
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
check_mcp_server() {
|
|
64
|
+
local server_name="$1"
|
|
65
|
+
# Check if MCP server is available via claude mcp list
|
|
66
|
+
if claude mcp list 2>/dev/null | grep -q "$server_name"; then
|
|
67
|
+
return 0
|
|
68
|
+
else
|
|
69
|
+
return 1
|
|
70
|
+
fi
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
validate_mcp_servers() {
|
|
74
|
+
log_info "Validating required MCP servers..."
|
|
75
|
+
local all_ok=true
|
|
76
|
+
|
|
77
|
+
for server in "${REQUIRED_MCP_SERVERS[@]}"; do
|
|
78
|
+
if check_mcp_server "$server"; then
|
|
79
|
+
log_success " ✓ $server available"
|
|
80
|
+
else
|
|
81
|
+
log_error " ✗ $server NOT FOUND"
|
|
82
|
+
log_warning " Install with: claude mcp add $server"
|
|
83
|
+
all_ok=false
|
|
84
|
+
fi
|
|
85
|
+
done
|
|
86
|
+
|
|
87
|
+
if [[ "$all_ok" == "false" ]]; then
|
|
88
|
+
log_error ""
|
|
89
|
+
log_error "Ralph requires ALL MCP servers to be available."
|
|
90
|
+
log_error "Please install missing servers and try again."
|
|
91
|
+
log_error ""
|
|
92
|
+
log_error "Quick fix: smartstack check-mcp"
|
|
93
|
+
exit 1
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
log_success "All MCP servers validated ✓"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
ensure_ralph_structure() {
|
|
100
|
+
# Create .ralph directory structure if not exists
|
|
101
|
+
if [[ ! -d ".ralph" ]]; then
|
|
102
|
+
log_info "Creating .ralph directory structure..."
|
|
103
|
+
mkdir -p ".ralph/logs"
|
|
104
|
+
mkdir -p ".ralph/reports"
|
|
105
|
+
|
|
106
|
+
# Copy default config if available
|
|
107
|
+
if [[ -f "${CLAUDE_PLUGIN_ROOT}/templates/ralph/ralph.config.yaml" ]]; then
|
|
108
|
+
cp "${CLAUDE_PLUGIN_ROOT}/templates/ralph/ralph.config.yaml" ".ralph/"
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
log_success ".ralph structure created"
|
|
112
|
+
fi
|
|
113
|
+
|
|
114
|
+
# Ensure log directory exists
|
|
115
|
+
mkdir -p "$RALPH_LOG_DIR"
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
init_session_log() {
|
|
119
|
+
local session_id=$(date +%Y%m%d_%H%M%S)
|
|
120
|
+
local log_file="$RALPH_LOG_DIR/ralph-session-$session_id.log"
|
|
121
|
+
|
|
122
|
+
echo "# Ralph Session Log" > "$log_file"
|
|
123
|
+
echo "# Started: $(date -Iseconds)" >> "$log_file"
|
|
124
|
+
echo "# Prompt: $PROMPT" >> "$log_file"
|
|
125
|
+
echo "# Max Iterations: $MAX_ITERATIONS" >> "$log_file"
|
|
126
|
+
echo "# Completion Promise: $COMPLETION_PROMISE" >> "$log_file"
|
|
127
|
+
echo "" >> "$log_file"
|
|
128
|
+
|
|
129
|
+
export RALPH_SESSION_LOG="$log_file"
|
|
130
|
+
export RALPH_SESSION_ID="$session_id"
|
|
131
|
+
|
|
132
|
+
log_info "Session log: $log_file"
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
# Main execution
|
|
136
|
+
echo ""
|
|
137
|
+
echo -e "${BLUE}╔══════════════════════════════════════════╗${NC}"
|
|
138
|
+
echo -e "${BLUE}║${NC} ${GREEN}Ralph Weegund${NC} - SmartStack ${BLUE}║${NC}"
|
|
139
|
+
echo -e "${BLUE}╚══════════════════════════════════════════╝${NC}"
|
|
140
|
+
echo ""
|
|
141
|
+
|
|
142
|
+
# Validate prompt
|
|
143
|
+
if [[ -z "$PROMPT" ]]; then
|
|
144
|
+
log_error "No prompt provided!"
|
|
145
|
+
log_info "Usage: /ralph-loop \"Your feature description\""
|
|
146
|
+
exit 1
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
# Run validations
|
|
150
|
+
validate_mcp_servers
|
|
151
|
+
ensure_ralph_structure
|
|
152
|
+
init_session_log
|
|
153
|
+
|
|
154
|
+
# Display configuration
|
|
155
|
+
echo ""
|
|
156
|
+
log_info "Configuration:"
|
|
157
|
+
echo " • Prompt: $PROMPT"
|
|
158
|
+
[[ $MAX_ITERATIONS -gt 0 ]] && echo " • Max iterations: $MAX_ITERATIONS"
|
|
159
|
+
[[ -n "$COMPLETION_PROMISE" ]] && echo " • Completion promise: $COMPLETION_PROMISE"
|
|
160
|
+
echo ""
|
|
161
|
+
|
|
162
|
+
log_success "Ralph is ready. Starting iteration loop..."
|
|
163
|
+
echo ""
|
|
164
|
+
|
|
165
|
+
# Export for Claude to use
|
|
166
|
+
export RALPH_PROMPT="$PROMPT"
|
|
167
|
+
export RALPH_MAX_ITERATIONS="$MAX_ITERATIONS"
|
|
168
|
+
export RALPH_COMPLETION_PROMISE="$COMPLETION_PROMISE"
|
|
169
|
+
export RALPH_STARTED="true"
|
|
170
|
+
|
|
171
|
+
# The actual loop behavior is handled by Claude Code
|
|
172
|
+
# This script just sets up the environment
|
|
173
|
+
exit 0
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# Configuration File Safety Rules
|
|
2
|
-
|
|
3
|
-
## appsettings*.json Protection
|
|
4
|
-
|
|
5
|
-
### MANDATORY Rules
|
|
6
|
-
|
|
7
|
-
1. **NEVER use Write tool on `appsettings*.json`** — ALWAYS use Edit for targeted changes
|
|
8
|
-
2. **NEVER remove existing top-level sections** — only add or modify values within existing structure
|
|
9
|
-
3. **NEVER delete configuration keys** — replace secret VALUES with `<CONFIGURE_HERE>` placeholder
|
|
10
|
-
4. **When adding a new section**, use Edit to insert at the correct location (before the closing `}`)
|
|
11
|
-
|
|
12
|
-
### WHY
|
|
13
|
-
|
|
14
|
-
Claude's Write tool replaces the entire file. If you read a 200-line appsettings.json but only reproduce 150 lines in the Write, 50 lines of configuration are permanently lost. This has caused production incidents where entire authentication, logging, or integration sections disappeared.
|
|
15
|
-
|
|
16
|
-
### Correct Patterns
|
|
17
|
-
|
|
18
|
-
| Action | Tool | Approach |
|
|
19
|
-
|--------|------|----------|
|
|
20
|
-
| Add new section | Edit | Find closing `}`, replace with new section + `}` |
|
|
21
|
-
| Modify a value | Edit | Target the specific key-value pair |
|
|
22
|
-
| Add a key to section | Edit | Find the section's closing `}`, add key before it |
|
|
23
|
-
| Replace secrets | Edit | Replace the VALUE only, keep the key |
|
|
24
|
-
|
|
25
|
-
### Example: Adding a New Section
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
// Use Edit tool with:
|
|
29
|
-
// old_string: "Serilog": { ... }\n}
|
|
30
|
-
// new_string: "Serilog": { ... },\n "NewSection": { "Key": "<CONFIGURE_HERE>" }\n}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Secret Value Handling
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
// WRONG - removing the key entirely
|
|
37
|
-
"Jwt": { }
|
|
38
|
-
|
|
39
|
-
// WRONG - deleting the section
|
|
40
|
-
// (section missing from file)
|
|
41
|
-
|
|
42
|
-
// CORRECT - placeholder value preserving structure
|
|
43
|
-
"Jwt": {
|
|
44
|
-
"SecretKey": "<CONFIGURE_HERE>",
|
|
45
|
-
"Issuer": "<CONFIGURE_HERE>",
|
|
46
|
-
"Audience": "<CONFIGURE_HERE>",
|
|
47
|
-
"ExpirationMinutes": 60
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Exception: New File Creation
|
|
52
|
-
|
|
53
|
-
Write is acceptable ONLY when creating a NEW `appsettings.*.json` file that does not yet exist on disk (e.g., `appsettings.Local.json` during `/gitflow start`). The PreToolUse hook automatically allows this case.
|
|
54
|
-
|
|
55
|
-
### Protection Layers
|
|
56
|
-
|
|
57
|
-
| Layer | Mechanism | When |
|
|
58
|
-
|-------|-----------|------|
|
|
59
|
-
| Hook `appsettings-guard.sh` | PreToolUse on Write | Blocks Write if top-level sections would be lost |
|
|
60
|
-
| Commit agent step 2b | During `/gitflow commit` | Detects section removal vs HEAD before staging |
|
|
61
|
-
| These instructions | During development | Prevents the issue from occurring |
|
|
1
|
+
# Configuration File Safety Rules
|
|
2
|
+
|
|
3
|
+
## appsettings*.json Protection
|
|
4
|
+
|
|
5
|
+
### MANDATORY Rules
|
|
6
|
+
|
|
7
|
+
1. **NEVER use Write tool on `appsettings*.json`** — ALWAYS use Edit for targeted changes
|
|
8
|
+
2. **NEVER remove existing top-level sections** — only add or modify values within existing structure
|
|
9
|
+
3. **NEVER delete configuration keys** — replace secret VALUES with `<CONFIGURE_HERE>` placeholder
|
|
10
|
+
4. **When adding a new section**, use Edit to insert at the correct location (before the closing `}`)
|
|
11
|
+
|
|
12
|
+
### WHY
|
|
13
|
+
|
|
14
|
+
Claude's Write tool replaces the entire file. If you read a 200-line appsettings.json but only reproduce 150 lines in the Write, 50 lines of configuration are permanently lost. This has caused production incidents where entire authentication, logging, or integration sections disappeared.
|
|
15
|
+
|
|
16
|
+
### Correct Patterns
|
|
17
|
+
|
|
18
|
+
| Action | Tool | Approach |
|
|
19
|
+
|--------|------|----------|
|
|
20
|
+
| Add new section | Edit | Find closing `}`, replace with new section + `}` |
|
|
21
|
+
| Modify a value | Edit | Target the specific key-value pair |
|
|
22
|
+
| Add a key to section | Edit | Find the section's closing `}`, add key before it |
|
|
23
|
+
| Replace secrets | Edit | Replace the VALUE only, keep the key |
|
|
24
|
+
|
|
25
|
+
### Example: Adding a New Section
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
// Use Edit tool with:
|
|
29
|
+
// old_string: "Serilog": { ... }\n}
|
|
30
|
+
// new_string: "Serilog": { ... },\n "NewSection": { "Key": "<CONFIGURE_HERE>" }\n}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Secret Value Handling
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
// WRONG - removing the key entirely
|
|
37
|
+
"Jwt": { }
|
|
38
|
+
|
|
39
|
+
// WRONG - deleting the section
|
|
40
|
+
// (section missing from file)
|
|
41
|
+
|
|
42
|
+
// CORRECT - placeholder value preserving structure
|
|
43
|
+
"Jwt": {
|
|
44
|
+
"SecretKey": "<CONFIGURE_HERE>",
|
|
45
|
+
"Issuer": "<CONFIGURE_HERE>",
|
|
46
|
+
"Audience": "<CONFIGURE_HERE>",
|
|
47
|
+
"ExpirationMinutes": 60
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Exception: New File Creation
|
|
52
|
+
|
|
53
|
+
Write is acceptable ONLY when creating a NEW `appsettings.*.json` file that does not yet exist on disk (e.g., `appsettings.Local.json` during `/gitflow start`). The PreToolUse hook automatically allows this case.
|
|
54
|
+
|
|
55
|
+
### Protection Layers
|
|
56
|
+
|
|
57
|
+
| Layer | Mechanism | When |
|
|
58
|
+
|-------|-----------|------|
|
|
59
|
+
| Hook `appsettings-guard.sh` | PreToolUse on Write | Blocks Write if top-level sections would be lost |
|
|
60
|
+
| Commit agent step 2b | During `/gitflow commit` | Detects section removal vs HEAD before staging |
|
|
61
|
+
| These instructions | During development | Prevents the issue from occurring |
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# Context Digest Pattern
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Reduces token usage between multi-step skill executions (BA, ralph-loop) by compressing step outputs into compact summaries.
|
|
6
|
-
|
|
7
|
-
## How It Works
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
Step N completes
|
|
11
|
-
↓
|
|
12
|
-
Generate digest (max 50 lines)
|
|
13
|
-
↓
|
|
14
|
-
Pass digest to Step N+1 (in-context)
|
|
15
|
-
↓
|
|
16
|
-
Step N+1 reads:
|
|
17
|
-
- Digest from previous step (compact)
|
|
18
|
-
- 00-context.md for state variables
|
|
19
|
-
- Full output files ONLY if digest indicates need
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Digest Sections
|
|
23
|
-
|
|
24
|
-
| Section | Max Lines | Content |
|
|
25
|
-
|---------|-----------|---------|
|
|
26
|
-
| Changes | 10 | Files modified with brief description |
|
|
27
|
-
| Decisions | 10 | Key architectural decisions |
|
|
28
|
-
| Findings | 10 | Issues found, patterns identified |
|
|
29
|
-
| State | 5 | Updated state variables |
|
|
30
|
-
| Blockers | 5 | Open issues, unresolved questions |
|
|
31
|
-
| Next | 5 | What the next step needs to know |
|
|
32
|
-
|
|
33
|
-
## Token Savings Estimate
|
|
34
|
-
|
|
35
|
-
| Scenario | Without Digest | With Digest | Savings |
|
|
36
|
-
|----------|---------------|-------------|---------|
|
|
37
|
-
| step-01 → step-02 | ~2000 tokens | ~500 tokens | 75% |
|
|
38
|
-
| step-02 → step-03 | ~1500 tokens | ~400 tokens | 73% |
|
|
39
|
-
| step-03 → step-04 | ~1800 tokens | ~450 tokens | 75% |
|
|
40
|
-
| **Total workflow** | ~5300 tokens | ~1350 tokens | **~75%** |
|
|
41
|
-
|
|
42
|
-
## Applies To
|
|
43
|
-
|
|
44
|
-
- BA skill (between phases)
|
|
45
|
-
- Ralph-loop skill (between tasks)
|
|
46
|
-
- Any future multi-step skill
|
|
47
|
-
|
|
48
|
-
## Resume Exception
|
|
49
|
-
|
|
50
|
-
When a skill resumes via `-r` flag:
|
|
51
|
-
- Digest is ephemeral (not saved to disk)
|
|
52
|
-
- Resume reads full output files from `.claude/output/` or `.business-analyse/`
|
|
53
|
-
- This ensures complete state restoration after session break
|
|
1
|
+
# Context Digest Pattern
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Reduces token usage between multi-step skill executions (BA, ralph-loop) by compressing step outputs into compact summaries.
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Step N completes
|
|
11
|
+
↓
|
|
12
|
+
Generate digest (max 50 lines)
|
|
13
|
+
↓
|
|
14
|
+
Pass digest to Step N+1 (in-context)
|
|
15
|
+
↓
|
|
16
|
+
Step N+1 reads:
|
|
17
|
+
- Digest from previous step (compact)
|
|
18
|
+
- 00-context.md for state variables
|
|
19
|
+
- Full output files ONLY if digest indicates need
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Digest Sections
|
|
23
|
+
|
|
24
|
+
| Section | Max Lines | Content |
|
|
25
|
+
|---------|-----------|---------|
|
|
26
|
+
| Changes | 10 | Files modified with brief description |
|
|
27
|
+
| Decisions | 10 | Key architectural decisions |
|
|
28
|
+
| Findings | 10 | Issues found, patterns identified |
|
|
29
|
+
| State | 5 | Updated state variables |
|
|
30
|
+
| Blockers | 5 | Open issues, unresolved questions |
|
|
31
|
+
| Next | 5 | What the next step needs to know |
|
|
32
|
+
|
|
33
|
+
## Token Savings Estimate
|
|
34
|
+
|
|
35
|
+
| Scenario | Without Digest | With Digest | Savings |
|
|
36
|
+
|----------|---------------|-------------|---------|
|
|
37
|
+
| step-01 → step-02 | ~2000 tokens | ~500 tokens | 75% |
|
|
38
|
+
| step-02 → step-03 | ~1500 tokens | ~400 tokens | 73% |
|
|
39
|
+
| step-03 → step-04 | ~1800 tokens | ~450 tokens | 75% |
|
|
40
|
+
| **Total workflow** | ~5300 tokens | ~1350 tokens | **~75%** |
|
|
41
|
+
|
|
42
|
+
## Applies To
|
|
43
|
+
|
|
44
|
+
- BA skill (between phases)
|
|
45
|
+
- Ralph-loop skill (between tasks)
|
|
46
|
+
- Any future multi-step skill
|
|
47
|
+
|
|
48
|
+
## Resume Exception
|
|
49
|
+
|
|
50
|
+
When a skill resumes via `-r` flag:
|
|
51
|
+
- Digest is ephemeral (not saved to disk)
|
|
52
|
+
- Resume reads full output files from `.claude/output/` or `.business-analyse/`
|
|
53
|
+
- This ensures complete state restoration after session break
|