@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,174 +1,174 @@
|
|
|
1
|
-
<overview>
|
|
2
|
-
Quantitative code quality metrics for informed review decisions. Includes cognitive complexity, cyclomatic complexity, maintainability index, and technical debt indicators.
|
|
3
|
-
</overview>
|
|
4
|
-
|
|
5
|
-
<cognitive_complexity>
|
|
6
|
-
<definition>
|
|
7
|
-
**What it measures**: Mental effort required to understand code
|
|
8
|
-
</definition>
|
|
9
|
-
|
|
10
|
-
<targets>
|
|
11
|
-
Target complexity levels:
|
|
12
|
-
|
|
13
|
-
- Per function: <15 (ideal <10)
|
|
14
|
-
- Per module: <50
|
|
15
|
-
- Per file: <100
|
|
16
|
-
</targets>
|
|
17
|
-
|
|
18
|
-
<complexity_factors>
|
|
19
|
-
Factors that increase complexity:
|
|
20
|
-
|
|
21
|
-
- Each nesting level (+1 per level)
|
|
22
|
-
- Logical operators (&&, ||)
|
|
23
|
-
- Recursion
|
|
24
|
-
- Breaks in linear flow (break, continue, goto)
|
|
25
|
-
</complexity_factors>
|
|
26
|
-
|
|
27
|
-
<reduction_example>
|
|
28
|
-
Reducing cognitive complexity:
|
|
29
|
-
|
|
30
|
-
```javascript
|
|
31
|
-
// HIGH COMPLEXITY (nested conditionals)
|
|
32
|
-
function process(data) {
|
|
33
|
-
if (data) {
|
|
34
|
-
if (data.valid) {
|
|
35
|
-
if (data.items.length > 0) {
|
|
36
|
-
for (const item of data.items) {
|
|
37
|
-
if (item.active) {
|
|
38
|
-
// process
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// LOW COMPLEXITY (guard clauses + extraction)
|
|
47
|
-
function process(data) {
|
|
48
|
-
if (!data?.valid) return;
|
|
49
|
-
if (!data.items?.length) return;
|
|
50
|
-
|
|
51
|
-
processActiveItems(data.items);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function processActiveItems(items) {
|
|
55
|
-
const active = items.filter(item => item.active);
|
|
56
|
-
active.forEach(processItem);
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
</reduction_example>
|
|
60
|
-
</cognitive_complexity>
|
|
61
|
-
|
|
62
|
-
<cyclomatic_complexity>
|
|
63
|
-
<definition>
|
|
64
|
-
**What it measures**: Number of independent paths through code
|
|
65
|
-
</definition>
|
|
66
|
-
|
|
67
|
-
<formula>
|
|
68
|
-
**Formula**: 1 + (if + while + for + case + catch + && + ||)
|
|
69
|
-
</formula>
|
|
70
|
-
|
|
71
|
-
<targets>
|
|
72
|
-
| Score | Risk | Action |
|
|
73
|
-
|-------|------|--------|
|
|
74
|
-
| 1-4 | Low | Good |
|
|
75
|
-
| 5-7 | Moderate | Consider simplifying |
|
|
76
|
-
| 8-10 | High | Refactor recommended |
|
|
77
|
-
| >10 | Very High | Must refactor |
|
|
78
|
-
</targets>
|
|
79
|
-
</cyclomatic_complexity>
|
|
80
|
-
|
|
81
|
-
<function_size_metrics>
|
|
82
|
-
| Metric | Target | Warning | Critical |
|
|
83
|
-
|--------|--------|---------|----------|
|
|
84
|
-
| Lines | <20 | >30 | >50 |
|
|
85
|
-
| Parameters | ≤3 | 4 | >5 |
|
|
86
|
-
| Nesting depth | ≤2 | 3 | >3 |
|
|
87
|
-
| Return statements | 1-2 | 3-4 | >4 |
|
|
88
|
-
</function_size_metrics>
|
|
89
|
-
|
|
90
|
-
<maintainability_index>
|
|
91
|
-
<formula>
|
|
92
|
-
Microsoft's formula:
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
MI = MAX(0, (171 - 5.2*ln(HalsteadVolume) - 0.23*CC - 16.2*ln(LOC)) * 100/171)
|
|
96
|
-
```
|
|
97
|
-
</formula>
|
|
98
|
-
|
|
99
|
-
<interpretation>
|
|
100
|
-
| Score | Maintainability |
|
|
101
|
-
|-------|-----------------|
|
|
102
|
-
| 80-100 | High - easy to maintain |
|
|
103
|
-
| 60-79 | Moderate - some concerns |
|
|
104
|
-
| 40-59 | Low - refactoring recommended |
|
|
105
|
-
| <40 | Very Low - significant refactoring needed |
|
|
106
|
-
</interpretation>
|
|
107
|
-
</maintainability_index>
|
|
108
|
-
|
|
109
|
-
<technical_debt_indicators>
|
|
110
|
-
| Indicator | Healthy | Warning |
|
|
111
|
-
|-----------|---------|---------|
|
|
112
|
-
| Code duplication | <5% | >10% |
|
|
113
|
-
| Test coverage | >80% | <60% |
|
|
114
|
-
| Cyclomatic complexity avg | <5 | >8 |
|
|
115
|
-
| TODO/FIXME count | Stable | Growing |
|
|
116
|
-
| Dependency age | <6 months | >12 months |
|
|
117
|
-
</technical_debt_indicators>
|
|
118
|
-
|
|
119
|
-
<code_churn>
|
|
120
|
-
<definition>
|
|
121
|
-
**What it measures**: Frequency of code changes
|
|
122
|
-
</definition>
|
|
123
|
-
|
|
124
|
-
<warning_signs>
|
|
125
|
-
Signs of problematic churn:
|
|
126
|
-
|
|
127
|
-
- Same file changed in >50% of recent commits
|
|
128
|
-
- High churn + low test coverage = risk
|
|
129
|
-
- Late-project churn indicates instability
|
|
130
|
-
</warning_signs>
|
|
131
|
-
</code_churn>
|
|
132
|
-
|
|
133
|
-
<review_thresholds>
|
|
134
|
-
<must_comment>
|
|
135
|
-
Always comment on:
|
|
136
|
-
|
|
137
|
-
- Function complexity >15
|
|
138
|
-
- Nesting >3 levels
|
|
139
|
-
- Function >50 lines
|
|
140
|
-
- >3 parameters without object
|
|
141
|
-
</must_comment>
|
|
142
|
-
|
|
143
|
-
<consider_commenting>
|
|
144
|
-
Consider commenting on:
|
|
145
|
-
|
|
146
|
-
- Duplicated blocks >10 lines
|
|
147
|
-
- Method doing multiple things
|
|
148
|
-
- Unclear naming
|
|
149
|
-
</consider_commenting>
|
|
150
|
-
|
|
151
|
-
<dont_comment>
|
|
152
|
-
Skip commenting on:
|
|
153
|
-
|
|
154
|
-
- Slightly suboptimal but working code
|
|
155
|
-
- Style preferences
|
|
156
|
-
- Minor naming improvements
|
|
157
|
-
</dont_comment>
|
|
158
|
-
</review_thresholds>
|
|
159
|
-
|
|
160
|
-
<measurement_tools>
|
|
161
|
-
| Language | Tool |
|
|
162
|
-
|----------|------|
|
|
163
|
-
| JavaScript/TypeScript | ESLint (complexity rules), SonarQube |
|
|
164
|
-
| Python | Radon, Pylint |
|
|
165
|
-
| Java | SonarQube, PMD |
|
|
166
|
-
| Go | gocyclo, golangci-lint |
|
|
167
|
-
| General | SonarQube, CodeClimate |
|
|
168
|
-
</measurement_tools>
|
|
169
|
-
|
|
170
|
-
<sources>
|
|
171
|
-
- [SonarQube Cognitive Complexity](https://www.sonarsource.com/docs/CognitiveComplexity.pdf)
|
|
172
|
-
- [Microsoft Maintainability Index](https://learn.microsoft.com/en-us/visualstudio/code-quality/code-metrics-maintainability-index-range-and-meaning)
|
|
173
|
-
- [Cyclomatic Complexity](https://en.wikipedia.org/wiki/Cyclomatic_complexity)
|
|
174
|
-
</sources>
|
|
1
|
+
<overview>
|
|
2
|
+
Quantitative code quality metrics for informed review decisions. Includes cognitive complexity, cyclomatic complexity, maintainability index, and technical debt indicators.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<cognitive_complexity>
|
|
6
|
+
<definition>
|
|
7
|
+
**What it measures**: Mental effort required to understand code
|
|
8
|
+
</definition>
|
|
9
|
+
|
|
10
|
+
<targets>
|
|
11
|
+
Target complexity levels:
|
|
12
|
+
|
|
13
|
+
- Per function: <15 (ideal <10)
|
|
14
|
+
- Per module: <50
|
|
15
|
+
- Per file: <100
|
|
16
|
+
</targets>
|
|
17
|
+
|
|
18
|
+
<complexity_factors>
|
|
19
|
+
Factors that increase complexity:
|
|
20
|
+
|
|
21
|
+
- Each nesting level (+1 per level)
|
|
22
|
+
- Logical operators (&&, ||)
|
|
23
|
+
- Recursion
|
|
24
|
+
- Breaks in linear flow (break, continue, goto)
|
|
25
|
+
</complexity_factors>
|
|
26
|
+
|
|
27
|
+
<reduction_example>
|
|
28
|
+
Reducing cognitive complexity:
|
|
29
|
+
|
|
30
|
+
```javascript
|
|
31
|
+
// HIGH COMPLEXITY (nested conditionals)
|
|
32
|
+
function process(data) {
|
|
33
|
+
if (data) {
|
|
34
|
+
if (data.valid) {
|
|
35
|
+
if (data.items.length > 0) {
|
|
36
|
+
for (const item of data.items) {
|
|
37
|
+
if (item.active) {
|
|
38
|
+
// process
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// LOW COMPLEXITY (guard clauses + extraction)
|
|
47
|
+
function process(data) {
|
|
48
|
+
if (!data?.valid) return;
|
|
49
|
+
if (!data.items?.length) return;
|
|
50
|
+
|
|
51
|
+
processActiveItems(data.items);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function processActiveItems(items) {
|
|
55
|
+
const active = items.filter(item => item.active);
|
|
56
|
+
active.forEach(processItem);
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
</reduction_example>
|
|
60
|
+
</cognitive_complexity>
|
|
61
|
+
|
|
62
|
+
<cyclomatic_complexity>
|
|
63
|
+
<definition>
|
|
64
|
+
**What it measures**: Number of independent paths through code
|
|
65
|
+
</definition>
|
|
66
|
+
|
|
67
|
+
<formula>
|
|
68
|
+
**Formula**: 1 + (if + while + for + case + catch + && + ||)
|
|
69
|
+
</formula>
|
|
70
|
+
|
|
71
|
+
<targets>
|
|
72
|
+
| Score | Risk | Action |
|
|
73
|
+
|-------|------|--------|
|
|
74
|
+
| 1-4 | Low | Good |
|
|
75
|
+
| 5-7 | Moderate | Consider simplifying |
|
|
76
|
+
| 8-10 | High | Refactor recommended |
|
|
77
|
+
| >10 | Very High | Must refactor |
|
|
78
|
+
</targets>
|
|
79
|
+
</cyclomatic_complexity>
|
|
80
|
+
|
|
81
|
+
<function_size_metrics>
|
|
82
|
+
| Metric | Target | Warning | Critical |
|
|
83
|
+
|--------|--------|---------|----------|
|
|
84
|
+
| Lines | <20 | >30 | >50 |
|
|
85
|
+
| Parameters | ≤3 | 4 | >5 |
|
|
86
|
+
| Nesting depth | ≤2 | 3 | >3 |
|
|
87
|
+
| Return statements | 1-2 | 3-4 | >4 |
|
|
88
|
+
</function_size_metrics>
|
|
89
|
+
|
|
90
|
+
<maintainability_index>
|
|
91
|
+
<formula>
|
|
92
|
+
Microsoft's formula:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
MI = MAX(0, (171 - 5.2*ln(HalsteadVolume) - 0.23*CC - 16.2*ln(LOC)) * 100/171)
|
|
96
|
+
```
|
|
97
|
+
</formula>
|
|
98
|
+
|
|
99
|
+
<interpretation>
|
|
100
|
+
| Score | Maintainability |
|
|
101
|
+
|-------|-----------------|
|
|
102
|
+
| 80-100 | High - easy to maintain |
|
|
103
|
+
| 60-79 | Moderate - some concerns |
|
|
104
|
+
| 40-59 | Low - refactoring recommended |
|
|
105
|
+
| <40 | Very Low - significant refactoring needed |
|
|
106
|
+
</interpretation>
|
|
107
|
+
</maintainability_index>
|
|
108
|
+
|
|
109
|
+
<technical_debt_indicators>
|
|
110
|
+
| Indicator | Healthy | Warning |
|
|
111
|
+
|-----------|---------|---------|
|
|
112
|
+
| Code duplication | <5% | >10% |
|
|
113
|
+
| Test coverage | >80% | <60% |
|
|
114
|
+
| Cyclomatic complexity avg | <5 | >8 |
|
|
115
|
+
| TODO/FIXME count | Stable | Growing |
|
|
116
|
+
| Dependency age | <6 months | >12 months |
|
|
117
|
+
</technical_debt_indicators>
|
|
118
|
+
|
|
119
|
+
<code_churn>
|
|
120
|
+
<definition>
|
|
121
|
+
**What it measures**: Frequency of code changes
|
|
122
|
+
</definition>
|
|
123
|
+
|
|
124
|
+
<warning_signs>
|
|
125
|
+
Signs of problematic churn:
|
|
126
|
+
|
|
127
|
+
- Same file changed in >50% of recent commits
|
|
128
|
+
- High churn + low test coverage = risk
|
|
129
|
+
- Late-project churn indicates instability
|
|
130
|
+
</warning_signs>
|
|
131
|
+
</code_churn>
|
|
132
|
+
|
|
133
|
+
<review_thresholds>
|
|
134
|
+
<must_comment>
|
|
135
|
+
Always comment on:
|
|
136
|
+
|
|
137
|
+
- Function complexity >15
|
|
138
|
+
- Nesting >3 levels
|
|
139
|
+
- Function >50 lines
|
|
140
|
+
- >3 parameters without object
|
|
141
|
+
</must_comment>
|
|
142
|
+
|
|
143
|
+
<consider_commenting>
|
|
144
|
+
Consider commenting on:
|
|
145
|
+
|
|
146
|
+
- Duplicated blocks >10 lines
|
|
147
|
+
- Method doing multiple things
|
|
148
|
+
- Unclear naming
|
|
149
|
+
</consider_commenting>
|
|
150
|
+
|
|
151
|
+
<dont_comment>
|
|
152
|
+
Skip commenting on:
|
|
153
|
+
|
|
154
|
+
- Slightly suboptimal but working code
|
|
155
|
+
- Style preferences
|
|
156
|
+
- Minor naming improvements
|
|
157
|
+
</dont_comment>
|
|
158
|
+
</review_thresholds>
|
|
159
|
+
|
|
160
|
+
<measurement_tools>
|
|
161
|
+
| Language | Tool |
|
|
162
|
+
|----------|------|
|
|
163
|
+
| JavaScript/TypeScript | ESLint (complexity rules), SonarQube |
|
|
164
|
+
| Python | Radon, Pylint |
|
|
165
|
+
| Java | SonarQube, PMD |
|
|
166
|
+
| Go | gocyclo, golangci-lint |
|
|
167
|
+
| General | SonarQube, CodeClimate |
|
|
168
|
+
</measurement_tools>
|
|
169
|
+
|
|
170
|
+
<sources>
|
|
171
|
+
- [SonarQube Cognitive Complexity](https://www.sonarsource.com/docs/CognitiveComplexity.pdf)
|
|
172
|
+
- [Microsoft Maintainability Index](https://learn.microsoft.com/en-us/visualstudio/code-quality/code-metrics-maintainability-index-range-and-meaning)
|
|
173
|
+
- [Cyclomatic Complexity](https://en.wikipedia.org/wiki/Cyclomatic_complexity)
|
|
174
|
+
</sources>
|
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
<overview>
|
|
2
|
-
Code review feedback patterns based on research from Google, Microsoft, and academic studies on effective code review communication.
|
|
3
|
-
</overview>
|
|
4
|
-
|
|
5
|
-
<what_why_how_pattern>
|
|
6
|
-
Every valuable comment includes three components:
|
|
7
|
-
|
|
8
|
-
1. **What**: The specific issue
|
|
9
|
-
2. **Why**: Why it matters
|
|
10
|
-
3. **How**: Concrete fix or direction
|
|
11
|
-
|
|
12
|
-
<good_example>
|
|
13
|
-
```
|
|
14
|
-
[BLOCKING] SQL injection vulnerability at line 34.
|
|
15
|
-
The query uses string concatenation with user input, allowing attackers to modify the query.
|
|
16
|
-
Fix: Use parameterized query: db.query('SELECT * FROM users WHERE id = ?', [userId])
|
|
17
|
-
```
|
|
18
|
-
</good_example>
|
|
19
|
-
|
|
20
|
-
<bad_example>
|
|
21
|
-
```
|
|
22
|
-
This query looks unsafe.
|
|
23
|
-
```
|
|
24
|
-
</bad_example>
|
|
25
|
-
</what_why_how_pattern>
|
|
26
|
-
|
|
27
|
-
<priority_labels>
|
|
28
|
-
Use consistent labels so authors know severity:
|
|
29
|
-
|
|
30
|
-
| Label | Meaning | Merge? |
|
|
31
|
-
|-------|---------|--------|
|
|
32
|
-
| `[BLOCKING]` | Must fix - security, bugs, missing requirements | No |
|
|
33
|
-
| `[CRITICAL]` | Strongly recommended - architecture, major issues | Discuss |
|
|
34
|
-
| `[SUGGESTION]` | Would improve code - not required | Yes |
|
|
35
|
-
| `[NIT]` | Minor preference - skip if busy | Yes |
|
|
36
|
-
| `[QUESTION]` | Need clarification - not blocking | Yes |
|
|
37
|
-
</priority_labels>
|
|
38
|
-
|
|
39
|
-
<feedback_value>
|
|
40
|
-
<high_value>
|
|
41
|
-
High-value feedback (36-43% implementation rate):
|
|
42
|
-
|
|
43
|
-
- Security vulnerabilities with exploit scenario
|
|
44
|
-
- Logic errors with failing test case
|
|
45
|
-
- Missing error handling with consequences
|
|
46
|
-
- Performance issues with measurements
|
|
47
|
-
</high_value>
|
|
48
|
-
|
|
49
|
-
<wasteful>
|
|
50
|
-
Wasteful feedback (damages team dynamics):
|
|
51
|
-
|
|
52
|
-
- Style preferences covered by linters
|
|
53
|
-
- Renaming suggestions without clear benefit
|
|
54
|
-
- "I would do it differently" without why
|
|
55
|
-
- Comments on code outside the diff
|
|
56
|
-
</wasteful>
|
|
57
|
-
</feedback_value>
|
|
58
|
-
|
|
59
|
-
<communication_patterns>
|
|
60
|
-
<collaborative_framing>
|
|
61
|
-
Use collaborative, question-based framing:
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
✓ "Have you considered using a Map here for O(1) lookup?"
|
|
65
|
-
✓ "This could throw if user is null - should we add a check?"
|
|
66
|
-
✓ "I'm not sure I understand this logic - could you explain?"
|
|
67
|
-
|
|
68
|
-
✗ "You need to fix this."
|
|
69
|
-
✗ "This is wrong."
|
|
70
|
-
✗ "Obviously this should be..."
|
|
71
|
-
```
|
|
72
|
-
</collaborative_framing>
|
|
73
|
-
|
|
74
|
-
<avoid_belittling>
|
|
75
|
-
Remove belittling words: "just", "simply", "obviously", "easy", "only"
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
✗ "Just add a null check"
|
|
79
|
-
✗ "This is obviously wrong"
|
|
80
|
-
✓ "Add a null check for user.profile"
|
|
81
|
-
```
|
|
82
|
-
</avoid_belittling>
|
|
83
|
-
</communication_patterns>
|
|
84
|
-
|
|
85
|
-
<merge_decisions>
|
|
86
|
-
<block_merge>
|
|
87
|
-
Block merge for:
|
|
88
|
-
|
|
89
|
-
- Security vulnerabilities (any severity)
|
|
90
|
-
- Logic bugs that affect functionality
|
|
91
|
-
- Missing required tests
|
|
92
|
-
- Breaking API changes without migration
|
|
93
|
-
</block_merge>
|
|
94
|
-
|
|
95
|
-
<approve_with_comments>
|
|
96
|
-
Approve with comments for:
|
|
97
|
-
|
|
98
|
-
- Suggestions for future improvement
|
|
99
|
-
- Minor refactoring opportunities
|
|
100
|
-
- Documentation improvements
|
|
101
|
-
- Style preferences (should be in linter)
|
|
102
|
-
</approve_with_comments>
|
|
103
|
-
|
|
104
|
-
<approve_clean>
|
|
105
|
-
Approve cleanly when:
|
|
106
|
-
|
|
107
|
-
- Code meets requirements
|
|
108
|
-
- Tests pass
|
|
109
|
-
- No security issues
|
|
110
|
-
- Follows project conventions
|
|
111
|
-
</approve_clean>
|
|
112
|
-
</merge_decisions>
|
|
113
|
-
|
|
114
|
-
<avoiding_nitpick_culture>
|
|
115
|
-
**Research finding**: Nitpicking damages team relationships more than it improves code quality. Developers become defensive and less receptive to legitimate feedback.
|
|
116
|
-
|
|
117
|
-
<solution>
|
|
118
|
-
1. Automate style enforcement (linters, formatters)
|
|
119
|
-
2. Block CI on lint failures, not PR comments
|
|
120
|
-
3. Reserve human review for logic and design
|
|
121
|
-
4. Mark true nitpicks with `[NIT]` prefix
|
|
122
|
-
5. Limit to 3-5 critical items per review
|
|
123
|
-
</solution>
|
|
124
|
-
</avoiding_nitpick_culture>
|
|
125
|
-
|
|
126
|
-
<review_efficiency>
|
|
127
|
-
<google_data>
|
|
128
|
-
Google's review data shows:
|
|
129
|
-
|
|
130
|
-
- 90% of reviews: <10 files changed
|
|
131
|
-
- Average turnaround: 4 hours
|
|
132
|
-
- 75% need only one reviewer
|
|
133
|
-
</google_data>
|
|
134
|
-
|
|
135
|
-
<best_practices>
|
|
136
|
-
Efficiency best practices:
|
|
137
|
-
|
|
138
|
-
- Small PRs get better feedback
|
|
139
|
-
- Review within 4 hours if possible
|
|
140
|
-
- Focus on changed code only
|
|
141
|
-
- One pass, thorough, then done
|
|
142
|
-
</best_practices>
|
|
143
|
-
</review_efficiency>
|
|
144
|
-
|
|
145
|
-
<sources>
|
|
146
|
-
- [Google Code Review Guide](https://google.github.io/eng-practices/review/)
|
|
147
|
-
- [Microsoft Reviewer Guidance](https://microsoft.github.io/code-with-engineering-playbook/code-reviews/)
|
|
148
|
-
- [Conventional Comments](https://conventionalcomments.org/)
|
|
149
|
-
</sources>
|
|
1
|
+
<overview>
|
|
2
|
+
Code review feedback patterns based on research from Google, Microsoft, and academic studies on effective code review communication.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<what_why_how_pattern>
|
|
6
|
+
Every valuable comment includes three components:
|
|
7
|
+
|
|
8
|
+
1. **What**: The specific issue
|
|
9
|
+
2. **Why**: Why it matters
|
|
10
|
+
3. **How**: Concrete fix or direction
|
|
11
|
+
|
|
12
|
+
<good_example>
|
|
13
|
+
```
|
|
14
|
+
[BLOCKING] SQL injection vulnerability at line 34.
|
|
15
|
+
The query uses string concatenation with user input, allowing attackers to modify the query.
|
|
16
|
+
Fix: Use parameterized query: db.query('SELECT * FROM users WHERE id = ?', [userId])
|
|
17
|
+
```
|
|
18
|
+
</good_example>
|
|
19
|
+
|
|
20
|
+
<bad_example>
|
|
21
|
+
```
|
|
22
|
+
This query looks unsafe.
|
|
23
|
+
```
|
|
24
|
+
</bad_example>
|
|
25
|
+
</what_why_how_pattern>
|
|
26
|
+
|
|
27
|
+
<priority_labels>
|
|
28
|
+
Use consistent labels so authors know severity:
|
|
29
|
+
|
|
30
|
+
| Label | Meaning | Merge? |
|
|
31
|
+
|-------|---------|--------|
|
|
32
|
+
| `[BLOCKING]` | Must fix - security, bugs, missing requirements | No |
|
|
33
|
+
| `[CRITICAL]` | Strongly recommended - architecture, major issues | Discuss |
|
|
34
|
+
| `[SUGGESTION]` | Would improve code - not required | Yes |
|
|
35
|
+
| `[NIT]` | Minor preference - skip if busy | Yes |
|
|
36
|
+
| `[QUESTION]` | Need clarification - not blocking | Yes |
|
|
37
|
+
</priority_labels>
|
|
38
|
+
|
|
39
|
+
<feedback_value>
|
|
40
|
+
<high_value>
|
|
41
|
+
High-value feedback (36-43% implementation rate):
|
|
42
|
+
|
|
43
|
+
- Security vulnerabilities with exploit scenario
|
|
44
|
+
- Logic errors with failing test case
|
|
45
|
+
- Missing error handling with consequences
|
|
46
|
+
- Performance issues with measurements
|
|
47
|
+
</high_value>
|
|
48
|
+
|
|
49
|
+
<wasteful>
|
|
50
|
+
Wasteful feedback (damages team dynamics):
|
|
51
|
+
|
|
52
|
+
- Style preferences covered by linters
|
|
53
|
+
- Renaming suggestions without clear benefit
|
|
54
|
+
- "I would do it differently" without why
|
|
55
|
+
- Comments on code outside the diff
|
|
56
|
+
</wasteful>
|
|
57
|
+
</feedback_value>
|
|
58
|
+
|
|
59
|
+
<communication_patterns>
|
|
60
|
+
<collaborative_framing>
|
|
61
|
+
Use collaborative, question-based framing:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
✓ "Have you considered using a Map here for O(1) lookup?"
|
|
65
|
+
✓ "This could throw if user is null - should we add a check?"
|
|
66
|
+
✓ "I'm not sure I understand this logic - could you explain?"
|
|
67
|
+
|
|
68
|
+
✗ "You need to fix this."
|
|
69
|
+
✗ "This is wrong."
|
|
70
|
+
✗ "Obviously this should be..."
|
|
71
|
+
```
|
|
72
|
+
</collaborative_framing>
|
|
73
|
+
|
|
74
|
+
<avoid_belittling>
|
|
75
|
+
Remove belittling words: "just", "simply", "obviously", "easy", "only"
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
✗ "Just add a null check"
|
|
79
|
+
✗ "This is obviously wrong"
|
|
80
|
+
✓ "Add a null check for user.profile"
|
|
81
|
+
```
|
|
82
|
+
</avoid_belittling>
|
|
83
|
+
</communication_patterns>
|
|
84
|
+
|
|
85
|
+
<merge_decisions>
|
|
86
|
+
<block_merge>
|
|
87
|
+
Block merge for:
|
|
88
|
+
|
|
89
|
+
- Security vulnerabilities (any severity)
|
|
90
|
+
- Logic bugs that affect functionality
|
|
91
|
+
- Missing required tests
|
|
92
|
+
- Breaking API changes without migration
|
|
93
|
+
</block_merge>
|
|
94
|
+
|
|
95
|
+
<approve_with_comments>
|
|
96
|
+
Approve with comments for:
|
|
97
|
+
|
|
98
|
+
- Suggestions for future improvement
|
|
99
|
+
- Minor refactoring opportunities
|
|
100
|
+
- Documentation improvements
|
|
101
|
+
- Style preferences (should be in linter)
|
|
102
|
+
</approve_with_comments>
|
|
103
|
+
|
|
104
|
+
<approve_clean>
|
|
105
|
+
Approve cleanly when:
|
|
106
|
+
|
|
107
|
+
- Code meets requirements
|
|
108
|
+
- Tests pass
|
|
109
|
+
- No security issues
|
|
110
|
+
- Follows project conventions
|
|
111
|
+
</approve_clean>
|
|
112
|
+
</merge_decisions>
|
|
113
|
+
|
|
114
|
+
<avoiding_nitpick_culture>
|
|
115
|
+
**Research finding**: Nitpicking damages team relationships more than it improves code quality. Developers become defensive and less receptive to legitimate feedback.
|
|
116
|
+
|
|
117
|
+
<solution>
|
|
118
|
+
1. Automate style enforcement (linters, formatters)
|
|
119
|
+
2. Block CI on lint failures, not PR comments
|
|
120
|
+
3. Reserve human review for logic and design
|
|
121
|
+
4. Mark true nitpicks with `[NIT]` prefix
|
|
122
|
+
5. Limit to 3-5 critical items per review
|
|
123
|
+
</solution>
|
|
124
|
+
</avoiding_nitpick_culture>
|
|
125
|
+
|
|
126
|
+
<review_efficiency>
|
|
127
|
+
<google_data>
|
|
128
|
+
Google's review data shows:
|
|
129
|
+
|
|
130
|
+
- 90% of reviews: <10 files changed
|
|
131
|
+
- Average turnaround: 4 hours
|
|
132
|
+
- 75% need only one reviewer
|
|
133
|
+
</google_data>
|
|
134
|
+
|
|
135
|
+
<best_practices>
|
|
136
|
+
Efficiency best practices:
|
|
137
|
+
|
|
138
|
+
- Small PRs get better feedback
|
|
139
|
+
- Review within 4 hours if possible
|
|
140
|
+
- Focus on changed code only
|
|
141
|
+
- One pass, thorough, then done
|
|
142
|
+
</best_practices>
|
|
143
|
+
</review_efficiency>
|
|
144
|
+
|
|
145
|
+
<sources>
|
|
146
|
+
- [Google Code Review Guide](https://google.github.io/eng-practices/review/)
|
|
147
|
+
- [Microsoft Reviewer Guidance](https://microsoft.github.io/code-with-engineering-playbook/code-reviews/)
|
|
148
|
+
- [Conventional Comments](https://conventionalcomments.org/)
|
|
149
|
+
</sources>
|