@atlashub/smartstack-cli 3.39.0 → 3.41.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 +6 -3
- 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 +95 -84
- package/templates/agents/efcore/db-deploy.md +85 -74
- package/templates/agents/efcore/db-reset.md +96 -85
- package/templates/agents/efcore/db-seed.md +72 -61
- package/templates/agents/efcore/db-status.md +97 -86
- package/templates/agents/efcore/migration.md +197 -186
- package/templates/agents/efcore/rebase-snapshot.md +119 -108
- package/templates/agents/efcore/scan.md +103 -92
- package/templates/agents/efcore/squash.md +172 -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 +168 -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 +95 -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
|
-
---
|
|
2
|
-
name: notification
|
|
3
|
-
description: |
|
|
4
|
-
Integrates SmartStack notification system into development.
|
|
5
|
-
Use this skill when:
|
|
6
|
-
- User wants to send notifications from a feature
|
|
7
|
-
- User mentions "notify", "alert", "notification", "in-app"
|
|
8
|
-
- Creating a module that requires user notifications
|
|
9
|
-
- SignalR integration for real-time
|
|
10
|
-
Types: In-App, Email (via Workflow), Push (future)
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Skill Notification SmartStack
|
|
14
|
-
|
|
15
|
-
> **Architecture:** In-App (DB + SignalR) + Email (via Workflows)
|
|
16
|
-
|
|
17
|
-
**Reference:** [_shared.md](../_shared.md) for common services
|
|
18
|
-
|
|
19
|
-
## WHEN THIS SKILL ACTIVATES
|
|
20
|
-
|
|
21
|
-
| Trigger | Example |
|
|
22
|
-
|---------|---------|
|
|
23
|
-
| Explicit request | "Notify the user when a ticket is created" |
|
|
24
|
-
| Event-driven | "When SLA expires, alert the user" |
|
|
25
|
-
| Real-time | "Display new notifications in real-time" |
|
|
26
|
-
| Keywords | "notify", "alert", "SignalR", "real-time" |
|
|
27
|
-
|
|
28
|
-
## FLOW
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
EVENT → INotificationService.SendNotificationAsync()
|
|
32
|
-
↓
|
|
33
|
-
DB (store) + SignalR Hub (real-time)
|
|
34
|
-
↓
|
|
35
|
-
Frontend: useSignalR() → NotificationBell
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## NOTIFICATION TYPES
|
|
39
|
-
|
|
40
|
-
| Type | Usage |
|
|
41
|
-
|------|-------|
|
|
42
|
-
| `TicketCreated/Assigned/StatusChanged` | Support |
|
|
43
|
-
| `RoleAssigned/Removed/PermissionsChanged` | Admin |
|
|
44
|
-
| `SystemAnnouncement` | Global |
|
|
45
|
-
| `SlaWarning/ResponseBreached/ResolutionBreached` | SLA |
|
|
46
|
-
|
|
47
|
-
### Add a New Type
|
|
48
|
-
```csharp
|
|
49
|
-
// 1. Domain/Support/Enums/NotificationType.cs
|
|
50
|
-
public enum NotificationType { ..., $NEW_TYPE = XX }
|
|
51
|
-
|
|
52
|
-
// 2. Usage
|
|
53
|
-
await _notificationService.SendNotificationAsync(userId, NotificationType.$NEW_TYPE, title, message,
|
|
54
|
-
relatedEntityType: "Entity", relatedEntityId: id, actionUrl: "/path");
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## WORKFLOW INTEGRATION
|
|
58
|
-
|
|
59
|
-
### 1. Identify the Need
|
|
60
|
-
| Question | Action |
|
|
61
|
-
|----------|--------|
|
|
62
|
-
| Real-time? | → In-App + SignalR |
|
|
63
|
-
| Email? | → Workflow + EmailTemplate |
|
|
64
|
-
| Related entity? | → relatedEntityType/Id |
|
|
65
|
-
| Navigation? | → actionUrl |
|
|
66
|
-
|
|
67
|
-
### 2. Send Notification
|
|
68
|
-
```csharp
|
|
69
|
-
// Simple
|
|
70
|
-
await _notificationService.SendNotificationAsync(userId, NotificationType.TicketCreated,
|
|
71
|
-
"New ticket", $"Ticket #{ticket.Number} created", ct);
|
|
72
|
-
|
|
73
|
-
// With related entity
|
|
74
|
-
await _notificationService.SendNotificationAsync(userId, NotificationType.TicketAssigned,
|
|
75
|
-
"Ticket assigned", message,
|
|
76
|
-
relatedEntityType: "Ticket", relatedEntityId: ticket.Id,
|
|
77
|
-
actionUrl: $"/support/tickets/{ticket.Id}", ct);
|
|
78
|
-
|
|
79
|
-
// Multi-user
|
|
80
|
-
await _notificationService.SendNotificationsAsync(userIds, type, title, message, ct);
|
|
81
|
-
|
|
82
|
-
// By role
|
|
83
|
-
await _notificationService.SendNotificationToRoleAsync("Admin", type, title, message, ct);
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### 3. User Preferences
|
|
87
|
-
```csharp
|
|
88
|
-
var (shouldEmail, shouldInApp, shouldPush) = await _notificationService.ShouldNotifyAsync(userId, type);
|
|
89
|
-
if (shouldInApp) await _notificationService.SendNotificationAsync(...);
|
|
90
|
-
if (shouldEmail) await _workflowService.TriggerAsync("ticket.created", variables);
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## FRONTEND
|
|
94
|
-
|
|
95
|
-
### Hook useSignalR
|
|
96
|
-
```typescript
|
|
97
|
-
useSignalR({
|
|
98
|
-
onNotification: (notification) => { toast.info(notification.title); },
|
|
99
|
-
onUnreadCountUpdate: (count) => { setUnreadCount(count); },
|
|
100
|
-
onPermissionsChanged: () => { queryClient.invalidateQueries(['permissions']); }
|
|
101
|
-
});
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### API Notifications
|
|
105
|
-
```typescript
|
|
106
|
-
notificationsApi.getUnread(limit)
|
|
107
|
-
notificationsApi.getAll(page, pageSize, isRead?)
|
|
108
|
-
notificationsApi.getUnreadCount()
|
|
109
|
-
notificationsApi.markAsRead(id) / markAllAsRead()
|
|
110
|
-
notificationsApi.delete(id) / deleteAll()
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### NotificationBell Component
|
|
114
|
-
```tsx
|
|
115
|
-
<NotificationBell /> // Manages useSignalR, badge unreadCount, dropdown
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## ADVANCED PATTERNS
|
|
119
|
-
|
|
120
|
-
### SLA Warning (Hangfire Job)
|
|
121
|
-
```csharp
|
|
122
|
-
var tickets = await _context.Tickets
|
|
123
|
-
.Where(t => t.SlaDeadline <= DateTime.UtcNow.AddMinutes(30) && !t.SlaWarningNotificationSent)
|
|
124
|
-
.ToListAsync();
|
|
125
|
-
foreach (var ticket in tickets) {
|
|
126
|
-
await _notificationService.SendNotificationAsync(..., NotificationType.SlaWarning, ...);
|
|
127
|
-
ticket.SlaWarningNotificationSent = true;
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Grouped Notification
|
|
132
|
-
```csharp
|
|
133
|
-
if (entities.Count == 1) await SendSingle(...);
|
|
134
|
-
else await SendBatch($"{entities.Count} new elements", ...);
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## CHECKLIST
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
□ Notification type identified (existing or new enum)
|
|
141
|
-
□ INotificationService injected
|
|
142
|
-
□ Send with: userId, type, title, message, relatedEntityType?, relatedEntityId?, actionUrl?
|
|
143
|
-
□ Frontend: useSignalR configured, toast/UI on receipt
|
|
144
|
-
□ If email: workflow configured
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## ABSOLUTE RULES
|
|
148
|
-
|
|
149
|
-
| DO | DON'T |
|
|
150
|
-
|----|-------|
|
|
151
|
-
| INotificationService | Direct DB access |
|
|
152
|
-
| NotificationType enum | Hardcoded types |
|
|
153
|
-
| relatedEntityType/Id + actionUrl | Notifications without context |
|
|
154
|
-
| Respect user preferences | Spam notifications |
|
|
155
|
-
| CancellationToken | Hardcoded messages (use i18n) |
|
|
156
|
-
|
|
157
|
-
## KEY FILES
|
|
158
|
-
|
|
159
|
-
| File | Role |
|
|
160
|
-
|------|------|
|
|
161
|
-
| `Domain/Support/Notification.cs` | Entity |
|
|
162
|
-
| `Domain/Support/Enums/NotificationType.cs` | Types |
|
|
163
|
-
| `Application/Common/Interfaces/INotificationService.cs` | Interface |
|
|
164
|
-
| `Infrastructure/Services/SignalR/NotificationHubService.cs` | Real-time |
|
|
165
|
-
| `web/src/hooks/useSignalR.ts` | Frontend hook |
|
|
166
|
-
| `web/src/components/notifications/NotificationBell.tsx` | UI |
|
|
167
|
-
|
|
168
|
-
<success_criteria>
|
|
169
|
-
- INotificationService integration wired with correct NotificationType
|
|
170
|
-
- relatedEntityType/Id and actionUrl set for navigation context
|
|
171
|
-
- SignalR real-time delivery working via NotificationHubService
|
|
172
|
-
- User preference filtering respected
|
|
173
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: notification
|
|
3
|
+
description: |
|
|
4
|
+
Integrates SmartStack notification system into development.
|
|
5
|
+
Use this skill when:
|
|
6
|
+
- User wants to send notifications from a feature
|
|
7
|
+
- User mentions "notify", "alert", "notification", "in-app"
|
|
8
|
+
- Creating a module that requires user notifications
|
|
9
|
+
- SignalR integration for real-time
|
|
10
|
+
Types: In-App, Email (via Workflow), Push (future)
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Skill Notification SmartStack
|
|
14
|
+
|
|
15
|
+
> **Architecture:** In-App (DB + SignalR) + Email (via Workflows)
|
|
16
|
+
|
|
17
|
+
**Reference:** [_shared.md](../_shared.md) for common services
|
|
18
|
+
|
|
19
|
+
## WHEN THIS SKILL ACTIVATES
|
|
20
|
+
|
|
21
|
+
| Trigger | Example |
|
|
22
|
+
|---------|---------|
|
|
23
|
+
| Explicit request | "Notify the user when a ticket is created" |
|
|
24
|
+
| Event-driven | "When SLA expires, alert the user" |
|
|
25
|
+
| Real-time | "Display new notifications in real-time" |
|
|
26
|
+
| Keywords | "notify", "alert", "SignalR", "real-time" |
|
|
27
|
+
|
|
28
|
+
## FLOW
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
EVENT → INotificationService.SendNotificationAsync()
|
|
32
|
+
↓
|
|
33
|
+
DB (store) + SignalR Hub (real-time)
|
|
34
|
+
↓
|
|
35
|
+
Frontend: useSignalR() → NotificationBell
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## NOTIFICATION TYPES
|
|
39
|
+
|
|
40
|
+
| Type | Usage |
|
|
41
|
+
|------|-------|
|
|
42
|
+
| `TicketCreated/Assigned/StatusChanged` | Support |
|
|
43
|
+
| `RoleAssigned/Removed/PermissionsChanged` | Admin |
|
|
44
|
+
| `SystemAnnouncement` | Global |
|
|
45
|
+
| `SlaWarning/ResponseBreached/ResolutionBreached` | SLA |
|
|
46
|
+
|
|
47
|
+
### Add a New Type
|
|
48
|
+
```csharp
|
|
49
|
+
// 1. Domain/Support/Enums/NotificationType.cs
|
|
50
|
+
public enum NotificationType { ..., $NEW_TYPE = XX }
|
|
51
|
+
|
|
52
|
+
// 2. Usage
|
|
53
|
+
await _notificationService.SendNotificationAsync(userId, NotificationType.$NEW_TYPE, title, message,
|
|
54
|
+
relatedEntityType: "Entity", relatedEntityId: id, actionUrl: "/path");
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## WORKFLOW INTEGRATION
|
|
58
|
+
|
|
59
|
+
### 1. Identify the Need
|
|
60
|
+
| Question | Action |
|
|
61
|
+
|----------|--------|
|
|
62
|
+
| Real-time? | → In-App + SignalR |
|
|
63
|
+
| Email? | → Workflow + EmailTemplate |
|
|
64
|
+
| Related entity? | → relatedEntityType/Id |
|
|
65
|
+
| Navigation? | → actionUrl |
|
|
66
|
+
|
|
67
|
+
### 2. Send Notification
|
|
68
|
+
```csharp
|
|
69
|
+
// Simple
|
|
70
|
+
await _notificationService.SendNotificationAsync(userId, NotificationType.TicketCreated,
|
|
71
|
+
"New ticket", $"Ticket #{ticket.Number} created", ct);
|
|
72
|
+
|
|
73
|
+
// With related entity
|
|
74
|
+
await _notificationService.SendNotificationAsync(userId, NotificationType.TicketAssigned,
|
|
75
|
+
"Ticket assigned", message,
|
|
76
|
+
relatedEntityType: "Ticket", relatedEntityId: ticket.Id,
|
|
77
|
+
actionUrl: $"/support/tickets/{ticket.Id}", ct);
|
|
78
|
+
|
|
79
|
+
// Multi-user
|
|
80
|
+
await _notificationService.SendNotificationsAsync(userIds, type, title, message, ct);
|
|
81
|
+
|
|
82
|
+
// By role
|
|
83
|
+
await _notificationService.SendNotificationToRoleAsync("Admin", type, title, message, ct);
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 3. User Preferences
|
|
87
|
+
```csharp
|
|
88
|
+
var (shouldEmail, shouldInApp, shouldPush) = await _notificationService.ShouldNotifyAsync(userId, type);
|
|
89
|
+
if (shouldInApp) await _notificationService.SendNotificationAsync(...);
|
|
90
|
+
if (shouldEmail) await _workflowService.TriggerAsync("ticket.created", variables);
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## FRONTEND
|
|
94
|
+
|
|
95
|
+
### Hook useSignalR
|
|
96
|
+
```typescript
|
|
97
|
+
useSignalR({
|
|
98
|
+
onNotification: (notification) => { toast.info(notification.title); },
|
|
99
|
+
onUnreadCountUpdate: (count) => { setUnreadCount(count); },
|
|
100
|
+
onPermissionsChanged: () => { queryClient.invalidateQueries(['permissions']); }
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### API Notifications
|
|
105
|
+
```typescript
|
|
106
|
+
notificationsApi.getUnread(limit)
|
|
107
|
+
notificationsApi.getAll(page, pageSize, isRead?)
|
|
108
|
+
notificationsApi.getUnreadCount()
|
|
109
|
+
notificationsApi.markAsRead(id) / markAllAsRead()
|
|
110
|
+
notificationsApi.delete(id) / deleteAll()
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### NotificationBell Component
|
|
114
|
+
```tsx
|
|
115
|
+
<NotificationBell /> // Manages useSignalR, badge unreadCount, dropdown
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## ADVANCED PATTERNS
|
|
119
|
+
|
|
120
|
+
### SLA Warning (Hangfire Job)
|
|
121
|
+
```csharp
|
|
122
|
+
var tickets = await _context.Tickets
|
|
123
|
+
.Where(t => t.SlaDeadline <= DateTime.UtcNow.AddMinutes(30) && !t.SlaWarningNotificationSent)
|
|
124
|
+
.ToListAsync();
|
|
125
|
+
foreach (var ticket in tickets) {
|
|
126
|
+
await _notificationService.SendNotificationAsync(..., NotificationType.SlaWarning, ...);
|
|
127
|
+
ticket.SlaWarningNotificationSent = true;
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Grouped Notification
|
|
132
|
+
```csharp
|
|
133
|
+
if (entities.Count == 1) await SendSingle(...);
|
|
134
|
+
else await SendBatch($"{entities.Count} new elements", ...);
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## CHECKLIST
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
□ Notification type identified (existing or new enum)
|
|
141
|
+
□ INotificationService injected
|
|
142
|
+
□ Send with: userId, type, title, message, relatedEntityType?, relatedEntityId?, actionUrl?
|
|
143
|
+
□ Frontend: useSignalR configured, toast/UI on receipt
|
|
144
|
+
□ If email: workflow configured
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## ABSOLUTE RULES
|
|
148
|
+
|
|
149
|
+
| DO | DON'T |
|
|
150
|
+
|----|-------|
|
|
151
|
+
| INotificationService | Direct DB access |
|
|
152
|
+
| NotificationType enum | Hardcoded types |
|
|
153
|
+
| relatedEntityType/Id + actionUrl | Notifications without context |
|
|
154
|
+
| Respect user preferences | Spam notifications |
|
|
155
|
+
| CancellationToken | Hardcoded messages (use i18n) |
|
|
156
|
+
|
|
157
|
+
## KEY FILES
|
|
158
|
+
|
|
159
|
+
| File | Role |
|
|
160
|
+
|------|------|
|
|
161
|
+
| `Domain/Support/Notification.cs` | Entity |
|
|
162
|
+
| `Domain/Support/Enums/NotificationType.cs` | Types |
|
|
163
|
+
| `Application/Common/Interfaces/INotificationService.cs` | Interface |
|
|
164
|
+
| `Infrastructure/Services/SignalR/NotificationHubService.cs` | Real-time |
|
|
165
|
+
| `web/src/hooks/useSignalR.ts` | Frontend hook |
|
|
166
|
+
| `web/src/components/notifications/NotificationBell.tsx` | UI |
|
|
167
|
+
|
|
168
|
+
<success_criteria>
|
|
169
|
+
- INotificationService integration wired with correct NotificationType
|
|
170
|
+
- relatedEntityType/Id and actionUrl set for navigation context
|
|
171
|
+
- SignalR real-time delivery working via NotificationHubService
|
|
172
|
+
- User preference filtering respected
|
|
173
|
+
</success_criteria>
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: quick-search
|
|
3
|
-
description: Lightning-fast search to answer specific questions - optimized for speed
|
|
4
|
-
argument-hint: <question>
|
|
5
|
-
context: fork
|
|
6
|
-
agent: Explore
|
|
7
|
-
model: haiku
|
|
8
|
-
allowed-tools: Grep, Glob, Read
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Question
|
|
12
|
-
$ARGUMENTS
|
|
13
|
-
|
|
14
|
-
<objective>
|
|
15
|
-
Answer questions at maximum speed using direct search tools. No agents, no deep analysis - just fast answers with citations.
|
|
16
|
-
|
|
17
|
-
**Note:** This skill runs in an isolated context. Use Grep, Glob, and Read directly.
|
|
18
|
-
</objective>
|
|
19
|
-
|
|
20
|
-
<quick_start>
|
|
21
|
-
```bash
|
|
22
|
-
/quick-search where is LoginForm defined?
|
|
23
|
-
/quick-search find all API routes
|
|
24
|
-
/quick-search what config files exist?
|
|
25
|
-
```
|
|
26
|
-
</quick_start>
|
|
27
|
-
|
|
28
|
-
<workflow>
|
|
29
|
-
|
|
30
|
-
## 1. Identify
|
|
31
|
-
|
|
32
|
-
Parse the question:
|
|
33
|
-
- Extract key search terms
|
|
34
|
-
- Determine target file types or patterns
|
|
35
|
-
- **CRITICAL**: Be surgical - know exactly what to search
|
|
36
|
-
|
|
37
|
-
## 2. Search (Direct Tools Only)
|
|
38
|
-
|
|
39
|
-
Use direct tools - **NO AGENTS**:
|
|
40
|
-
- `Grep` for code content search with specific patterns
|
|
41
|
-
- `Glob` for file name/path patterns
|
|
42
|
-
- Launch searches **in parallel** when possible
|
|
43
|
-
|
|
44
|
-
**SPEED RULE**: Max 2-3 search iterations total
|
|
45
|
-
|
|
46
|
-
## 3. Read (Targeted)
|
|
47
|
-
|
|
48
|
-
- `Read` only the most relevant files found
|
|
49
|
-
- **CRITICAL**: Max 3-5 files - be selective
|
|
50
|
-
- Scan for the specific answer needed
|
|
51
|
-
|
|
52
|
-
## 4. Answer
|
|
53
|
-
|
|
54
|
-
Direct response:
|
|
55
|
-
- Immediate answer to the question
|
|
56
|
-
- Include file references with line numbers (`file.ts:42`)
|
|
57
|
-
- **NO**: Long explanations or architectural context
|
|
58
|
-
- **YES**: Concise answer with evidence
|
|
59
|
-
|
|
60
|
-
</workflow>
|
|
61
|
-
|
|
62
|
-
<search_patterns>
|
|
63
|
-
|
|
64
|
-
**Finding implementations:**
|
|
65
|
-
```
|
|
66
|
-
Grep: pattern="class FooBar" or "function fooBar"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**Finding configs:**
|
|
70
|
-
```
|
|
71
|
-
Glob: pattern="**/config.{js,ts,json}"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**Finding imports/usage:**
|
|
75
|
-
```
|
|
76
|
-
Grep: pattern="from ['\"].*moduleName['\"]"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
</search_patterns>
|
|
80
|
-
|
|
81
|
-
<execution_rules>
|
|
82
|
-
|
|
83
|
-
- **SPEED FIRST**: Answer in under 30 seconds
|
|
84
|
-
- **NO AGENTS**: Use direct tools only (Grep, Glob, Read)
|
|
85
|
-
- **PARALLEL SEARCH**: Run independent searches simultaneously
|
|
86
|
-
- **MINIMAL READING**: Read only what's absolutely necessary
|
|
87
|
-
- **NO DEEP ANALYSIS**: Surface-level answers with citations
|
|
88
|
-
- **STOP EARLY**: Once you have the answer, respond immediately
|
|
89
|
-
|
|
90
|
-
</execution_rules>
|
|
91
|
-
|
|
92
|
-
<priority>
|
|
93
|
-
Speed > Completeness. Fast answers beat perfect answers.
|
|
94
|
-
</priority>
|
|
95
|
-
|
|
96
|
-
<success_criteria>
|
|
97
|
-
- Question answered with file path and line number citations
|
|
98
|
-
- Response delivered within 2-3 search iterations
|
|
99
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: quick-search
|
|
3
|
+
description: Lightning-fast search to answer specific questions - optimized for speed
|
|
4
|
+
argument-hint: <question>
|
|
5
|
+
context: fork
|
|
6
|
+
agent: Explore
|
|
7
|
+
model: haiku
|
|
8
|
+
allowed-tools: Grep, Glob, Read
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Question
|
|
12
|
+
$ARGUMENTS
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Answer questions at maximum speed using direct search tools. No agents, no deep analysis - just fast answers with citations.
|
|
16
|
+
|
|
17
|
+
**Note:** This skill runs in an isolated context. Use Grep, Glob, and Read directly.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<quick_start>
|
|
21
|
+
```bash
|
|
22
|
+
/quick-search where is LoginForm defined?
|
|
23
|
+
/quick-search find all API routes
|
|
24
|
+
/quick-search what config files exist?
|
|
25
|
+
```
|
|
26
|
+
</quick_start>
|
|
27
|
+
|
|
28
|
+
<workflow>
|
|
29
|
+
|
|
30
|
+
## 1. Identify
|
|
31
|
+
|
|
32
|
+
Parse the question:
|
|
33
|
+
- Extract key search terms
|
|
34
|
+
- Determine target file types or patterns
|
|
35
|
+
- **CRITICAL**: Be surgical - know exactly what to search
|
|
36
|
+
|
|
37
|
+
## 2. Search (Direct Tools Only)
|
|
38
|
+
|
|
39
|
+
Use direct tools - **NO AGENTS**:
|
|
40
|
+
- `Grep` for code content search with specific patterns
|
|
41
|
+
- `Glob` for file name/path patterns
|
|
42
|
+
- Launch searches **in parallel** when possible
|
|
43
|
+
|
|
44
|
+
**SPEED RULE**: Max 2-3 search iterations total
|
|
45
|
+
|
|
46
|
+
## 3. Read (Targeted)
|
|
47
|
+
|
|
48
|
+
- `Read` only the most relevant files found
|
|
49
|
+
- **CRITICAL**: Max 3-5 files - be selective
|
|
50
|
+
- Scan for the specific answer needed
|
|
51
|
+
|
|
52
|
+
## 4. Answer
|
|
53
|
+
|
|
54
|
+
Direct response:
|
|
55
|
+
- Immediate answer to the question
|
|
56
|
+
- Include file references with line numbers (`file.ts:42`)
|
|
57
|
+
- **NO**: Long explanations or architectural context
|
|
58
|
+
- **YES**: Concise answer with evidence
|
|
59
|
+
|
|
60
|
+
</workflow>
|
|
61
|
+
|
|
62
|
+
<search_patterns>
|
|
63
|
+
|
|
64
|
+
**Finding implementations:**
|
|
65
|
+
```
|
|
66
|
+
Grep: pattern="class FooBar" or "function fooBar"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Finding configs:**
|
|
70
|
+
```
|
|
71
|
+
Glob: pattern="**/config.{js,ts,json}"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Finding imports/usage:**
|
|
75
|
+
```
|
|
76
|
+
Grep: pattern="from ['\"].*moduleName['\"]"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
</search_patterns>
|
|
80
|
+
|
|
81
|
+
<execution_rules>
|
|
82
|
+
|
|
83
|
+
- **SPEED FIRST**: Answer in under 30 seconds
|
|
84
|
+
- **NO AGENTS**: Use direct tools only (Grep, Glob, Read)
|
|
85
|
+
- **PARALLEL SEARCH**: Run independent searches simultaneously
|
|
86
|
+
- **MINIMAL READING**: Read only what's absolutely necessary
|
|
87
|
+
- **NO DEEP ANALYSIS**: Surface-level answers with citations
|
|
88
|
+
- **STOP EARLY**: Once you have the answer, respond immediately
|
|
89
|
+
|
|
90
|
+
</execution_rules>
|
|
91
|
+
|
|
92
|
+
<priority>
|
|
93
|
+
Speed > Completeness. Fast answers beat perfect answers.
|
|
94
|
+
</priority>
|
|
95
|
+
|
|
96
|
+
<success_criteria>
|
|
97
|
+
- Question answered with file path and line number citations
|
|
98
|
+
- Response delivered within 2-3 search iterations
|
|
99
|
+
</success_criteria>
|