@atlashub/smartstack-cli 3.7.0 → 3.9.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.
Files changed (133) hide show
  1. package/dist/index.js +365 -2
  2. package/dist/index.js.map +1 -1
  3. package/package.json +4 -2
  4. package/templates/agents/action.md +1 -0
  5. package/templates/agents/ba-writer.md +33 -0
  6. package/templates/agents/explore-codebase.md +1 -0
  7. package/templates/agents/explore-docs.md +1 -0
  8. package/templates/agents/fix-grammar.md +1 -0
  9. package/templates/agents/snipper.md +1 -0
  10. package/templates/skills/admin/SKILL.md +6 -0
  11. package/templates/skills/ai-prompt/SKILL.md +32 -136
  12. package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -0
  13. package/templates/skills/apex/SKILL.md +120 -0
  14. package/templates/skills/apex/_shared.md +86 -0
  15. package/templates/skills/apex/references/agent-teams-protocol.md +164 -0
  16. package/templates/skills/apex/references/smartstack-layers.md +173 -0
  17. package/templates/skills/apex/steps/step-00-init.md +156 -0
  18. package/templates/skills/apex/steps/step-01-analyze.md +169 -0
  19. package/templates/skills/apex/steps/step-02-plan.md +160 -0
  20. package/templates/skills/apex/steps/step-03-execute.md +166 -0
  21. package/templates/skills/apex/steps/step-04-validate.md +138 -0
  22. package/templates/skills/apex/steps/step-05-examine.md +124 -0
  23. package/templates/skills/apex/steps/step-06-resolve.md +105 -0
  24. package/templates/skills/apex/steps/step-07-tests.md +130 -0
  25. package/templates/skills/apex/steps/step-08-run-tests.md +115 -0
  26. package/templates/skills/application/SKILL.md +10 -0
  27. package/templates/skills/application/references/backend-controller-hierarchy.md +58 -0
  28. package/templates/skills/application/references/backend-entity-seeding.md +72 -0
  29. package/templates/skills/application/references/backend-verification.md +88 -0
  30. package/templates/skills/application/references/frontend-verification.md +111 -0
  31. package/templates/skills/application/references/nav-fallback-procedure.md +200 -0
  32. package/templates/skills/application/references/provider-template.md +134 -0
  33. package/templates/skills/application/references/test-frontend.md +73 -0
  34. package/templates/skills/application/references/test-prerequisites.md +72 -0
  35. package/templates/skills/application/steps/step-01-navigation.md +7 -198
  36. package/templates/skills/application/steps/step-03b-provider.md +4 -128
  37. package/templates/skills/application/steps/step-04-backend.md +20 -350
  38. package/templates/skills/application/steps/step-05-frontend.md +12 -101
  39. package/templates/skills/application/steps/step-07-tests.md +12 -132
  40. package/templates/skills/business-analyse/SKILL.md +11 -2
  41. package/templates/skills/business-analyse/html/ba-interactive.html +3214 -2246
  42. package/templates/skills/business-analyse/html/build-html.js +77 -0
  43. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +130 -0
  44. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +22 -0
  45. package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +208 -0
  46. package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +211 -0
  47. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +554 -0
  48. package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +110 -0
  49. package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +90 -0
  50. package/templates/skills/business-analyse/html/src/scripts/08-editing.js +45 -0
  51. package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -0
  52. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -0
  53. package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +161 -0
  54. package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -0
  55. package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -0
  56. package/templates/skills/business-analyse/html/src/styles/03-navigation.css +62 -0
  57. package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -0
  58. package/templates/skills/business-analyse/html/src/styles/05-modules.css +325 -0
  59. package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +230 -0
  60. package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -0
  61. package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -0
  62. package/templates/skills/business-analyse/html/src/template.html +623 -0
  63. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +78 -0
  64. package/templates/skills/business-analyse/references/cadrage-vibe-coding.md +97 -0
  65. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +92 -0
  66. package/templates/skills/business-analyse/references/deploy-data-build.md +121 -0
  67. package/templates/skills/business-analyse/references/deploy-modes.md +49 -0
  68. package/templates/skills/business-analyse/references/handoff-file-templates.md +119 -0
  69. package/templates/skills/business-analyse/references/handoff-mappings.md +81 -0
  70. package/templates/skills/business-analyse/references/html-data-mapping.md +10 -2
  71. package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -0
  72. package/templates/skills/business-analyse/references/review-data-mapping.md +363 -0
  73. package/templates/skills/business-analyse/references/spec-auto-inference.md +57 -0
  74. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -0
  75. package/templates/skills/business-analyse/references/ui-resource-cards.md +110 -0
  76. package/templates/skills/business-analyse/references/validate-incremental-html.md +55 -0
  77. package/templates/skills/business-analyse/steps/step-00-init.md +35 -68
  78. package/templates/skills/business-analyse/steps/step-01-cadrage.md +5 -194
  79. package/templates/skills/business-analyse/steps/step-03a-data.md +6 -49
  80. package/templates/skills/business-analyse/steps/step-03b-ui.md +12 -178
  81. package/templates/skills/business-analyse/steps/step-03d-validate.md +3 -48
  82. package/templates/skills/business-analyse/steps/step-04-consolidation.md +9 -104
  83. package/templates/skills/business-analyse/steps/step-05a-handoff.md +25 -441
  84. package/templates/skills/business-analyse/steps/step-05b-deploy.md +19 -187
  85. package/templates/skills/business-analyse/steps/step-06-review.md +277 -0
  86. package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -0
  87. package/templates/skills/cc-agent/steps/step-02-generate.md +5 -78
  88. package/templates/skills/check-version/SKILL.md +7 -0
  89. package/templates/skills/controller/references/controller-code-templates.md +159 -0
  90. package/templates/skills/controller/references/permission-sync-templates.md +152 -0
  91. package/templates/skills/controller/steps/step-03-generate.md +6 -158
  92. package/templates/skills/controller/steps/step-04-perms.md +5 -144
  93. package/templates/skills/debug/SKILL.md +7 -0
  94. package/templates/skills/explore/SKILL.md +6 -0
  95. package/templates/skills/feature-full/SKILL.md +39 -142
  96. package/templates/skills/feature-full/steps/step-01-implementation.md +120 -0
  97. package/templates/skills/gitflow/references/init-config-template.md +135 -0
  98. package/templates/skills/gitflow/references/init-name-normalization.md +103 -0
  99. package/templates/skills/gitflow/references/plan-template.md +69 -0
  100. package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -0
  101. package/templates/skills/gitflow/references/start-local-config.md +110 -0
  102. package/templates/skills/gitflow/steps/step-init.md +18 -289
  103. package/templates/skills/gitflow/steps/step-plan.md +6 -63
  104. package/templates/skills/gitflow/steps/step-start.md +16 -126
  105. package/templates/skills/mcp/SKILL.md +9 -213
  106. package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -0
  107. package/templates/skills/mcp/steps/step-02-tools.md +73 -0
  108. package/templates/skills/notification/SKILL.md +7 -0
  109. package/templates/skills/quick-search/SKILL.md +5 -0
  110. package/templates/skills/ralph-loop/SKILL.md +99 -381
  111. package/templates/skills/ralph-loop/references/category-rules.md +259 -0
  112. package/templates/skills/ralph-loop/references/compact-loop.md +182 -0
  113. package/templates/skills/ralph-loop/references/task-transform-legacy.md +259 -0
  114. package/templates/skills/ralph-loop/references/team-orchestration.md +189 -0
  115. package/templates/skills/ralph-loop/steps/step-00-init.md +111 -383
  116. package/templates/skills/ralph-loop/steps/step-01-task.md +79 -896
  117. package/templates/skills/ralph-loop/steps/step-02-execute.md +68 -680
  118. package/templates/skills/ralph-loop/steps/step-03-commit.md +47 -277
  119. package/templates/skills/ralph-loop/steps/step-04-check.md +124 -607
  120. package/templates/skills/ralph-loop/steps/step-05-report.md +68 -367
  121. package/templates/skills/refactor/SKILL.md +12 -176
  122. package/templates/skills/refactor/steps/step-01-discover.md +60 -0
  123. package/templates/skills/refactor/steps/step-02-execute.md +67 -0
  124. package/templates/skills/review-code/SKILL.md +19 -257
  125. package/templates/skills/review-code/steps/step-01-smartstack.md +96 -0
  126. package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -0
  127. package/templates/skills/review-code/steps/step-03-react.md +44 -0
  128. package/templates/skills/ui-components/SKILL.md +7 -0
  129. package/templates/skills/utils/SKILL.md +6 -0
  130. package/templates/skills/validate/SKILL.md +6 -0
  131. package/templates/skills/validate-feature/SKILL.md +8 -0
  132. package/templates/skills/workflow/SKILL.md +40 -118
  133. package/templates/skills/workflow/steps/step-01-implementation.md +84 -0
@@ -131,6 +131,16 @@ esac
131
131
  }
132
132
  ```
133
133
 
134
+ ### 5b. EF Core Migration Pre-flight (Release/Hotfix only)
135
+
136
+ **BLOCKING CHECK: Validate migration naming conventions BEFORE creating the release branch.**
137
+
138
+ See [references/start-efcore-preflight.md](../references/start-efcore-preflight.md) for the full validation script and user choice handling.
139
+
140
+ Expected format: `{context}_v{version}_{sequence}_{Description}` (e.g., `core_v2.0.0_001_InitialSchema`)
141
+
142
+ ---
143
+
134
144
  ### 6. Create Branch and Worktree
135
145
 
136
146
  **Read worktree mode from config (already loaded by read_gitflow_config):**
@@ -177,132 +187,12 @@ fi
177
187
 
178
188
  ### 7. Create Local Environment Config (Backend + Frontend)
179
189
 
180
- **Detect project structure:**
181
- ```bash
182
- # Find API project directory
183
- API_DIR=$(find "$WORKTREE_PATH" -type d -name "*.Api" -path "*/src/*" | head -1)
184
- # Find Web project directory
185
- WEB_DIR=$(find "$WORKTREE_PATH" -type d -name "*-web" -path "*/web/*" | head -1)
186
-
187
- # Generate unique ports based on branch name hash (to avoid conflicts between worktrees)
188
- # Use shasum (portable across macOS/Linux/Windows Git Bash) with md5sum fallback
189
- HASH=$(echo "$BRANCH_NAME" | shasum 2>/dev/null || echo "$BRANCH_NAME" | md5sum 2>/dev/null || echo "$BRANCH_NAME" | cksum)
190
- HASH=$(echo "$HASH" | cut -c1-4)
191
- HASH_NUM=$((16#$HASH % 100))
192
- API_PORT=$((5200 + HASH_NUM))
193
- WEB_PORT=$((5300 + HASH_NUM))
194
-
195
- # Project name from config (not from pwd)
196
- PROJECT_NAME=$(echo "$GF_PROJECT_NAME" | tr '[:upper:]' '[:lower:]')
197
- DB_NAME=$(echo "${PROJECT_NAME}_${branch_type}_${BRANCH_NAME}" | cut -c1-63)
198
- ```
199
-
200
- #### 7a. Backend: appsettings.Local.json
201
-
202
- **If API project detected:**
203
- ```bash
204
- [ -n "$API_DIR" ] && [ -f "$API_DIR/appsettings.json" ] && {
205
- cat > "$API_DIR/appsettings.Local.json" << EOF
206
- {
207
- "ConnectionStrings": {
208
- "DefaultConnection": "Server=localhost;Database=${DB_NAME};Trusted_Connection=true;TrustServerCertificate=true"
209
- },
210
- "SmartStack": {
211
- "AutoMigrate": true,
212
- "FailOnMigrationError": true,
213
- "EnableDevSeeding": true
214
- },
215
- "Authentication": {
216
- "FrontendUrl": "http://localhost:${WEB_PORT}"
217
- },
218
- "Kestrel": {
219
- "Endpoints": {
220
- "Http": {
221
- "Url": "http://localhost:${API_PORT}"
222
- }
223
- }
224
- },
225
- "Serilog": {
226
- "MinimumLevel": {
227
- "Default": "Debug"
228
- }
229
- }
230
- }
231
- EOF
232
- echo "Created: $API_DIR/appsettings.Local.json (DB: $DB_NAME, Port: $API_PORT)"
233
- }
234
- ```
235
-
236
- #### 7b. Frontend: .env.local + npm script
237
-
238
- **If Web project detected:**
239
- ```bash
240
- [ -n "$WEB_DIR" ] && [ -f "$WEB_DIR/package.json" ] && {
241
- # Create .env.local
242
- cat > "$WEB_DIR/.env.local" << EOF
243
- # Local environment configuration
244
- # Generated by /gitflow:start for branch: ${FULL_BRANCH}
245
- # Run with: npm run local
246
-
247
- VITE_API_URL=http://localhost:${API_PORT}
248
- VITE_APP_ENV=local
249
- VITE_DEBUG=true
250
- EOF
251
- echo "Created: $WEB_DIR/.env.local (API: localhost:$API_PORT)"
252
-
253
- # Add "local" script to package.json if not exists
254
- if ! grep -q '"local"' "$WEB_DIR/package.json"; then
255
- # Use Node.js to safely modify package.json
256
- node -e "
257
- const fs = require('fs');
258
- const pkg = JSON.parse(fs.readFileSync('$WEB_DIR/package.json', 'utf8'));
259
- if (!pkg.scripts.local) {
260
- pkg.scripts.local = 'vite --mode local --port ${WEB_PORT}';
261
- fs.writeFileSync('$WEB_DIR/package.json', JSON.stringify(pkg, null, 2) + '\n');
262
- console.log('Added script: npm run local');
263
- }
264
- "
265
- fi
266
- }
267
- ```
268
-
269
- #### 7c. Backend: launchSettings.json Local Profile
270
-
271
- **If API project detected and Properties/launchSettings.json exists:**
272
- ```bash
273
- LAUNCH_SETTINGS="$API_DIR/Properties/launchSettings.json"
274
- [ -n "$API_DIR" ] && [ -f "$LAUNCH_SETTINGS" ] && {
275
- # Use Node.js to safely add/update Local profile in launchSettings.json
276
- node -e "
277
- const fs = require('fs');
278
- const ls = JSON.parse(fs.readFileSync('$LAUNCH_SETTINGS', 'utf8'));
279
- ls.profiles = ls.profiles || {};
280
- ls.profiles.Local = {
281
- commandName: 'Project',
282
- dotnetRunMessages: true,
283
- launchBrowser: false,
284
- applicationUrl: 'http://localhost:${API_PORT}',
285
- environmentVariables: {
286
- ASPNETCORE_ENVIRONMENT: 'Local'
287
- }
288
- };
289
- fs.writeFileSync('$LAUNCH_SETTINGS', JSON.stringify(ls, null, 2) + '\n');
290
- console.log('Updated: launchSettings.json Local profile (Port: ${API_PORT})');
291
- "
292
- }
293
- ```
294
-
295
- #### 7d. Summary of local config
296
-
297
- ```
298
- ┌─────────────────────────────────────────────────────────────┐
299
- │ LOCAL ENVIRONMENT CONFIGURED │
300
- ├─────────────────────────────────────────────────────────────┤
301
- │ Database: ${DB_NAME} │
302
- │ API Port: ${API_PORT} → dotnet run --launch-profile Local│
303
- │ Web Port: ${WEB_PORT} → npm run local │
304
- └─────────────────────────────────────────────────────────────┘
305
- ```
190
+ See [references/start-local-config.md](../references/start-local-config.md) for the full configuration:
191
+ - **Port generation:** Unique ports per branch (API: 5200+, Web: 5300+) based on branch name hash
192
+ - **7a. Backend:** `appsettings.Local.json` (DB connection, SmartStack config, Kestrel port)
193
+ - **7b. Frontend:** `.env.local` + `npm run local` script
194
+ - **7c. Backend:** `launchSettings.json` Local profile with unique port
195
+ - **7d. Summary:** Display configured DB name, API port, Web port
306
196
 
307
197
  ### 8. Store State
308
198
 
@@ -21,148 +21,17 @@ Manages MCP server connectivity and health verification.
21
21
 
22
22
  > **Note:** The MCP server is now bundled inside `@atlashub/smartstack-cli`. There is no separate `@atlashub/smartstack-mcp` package.
23
23
 
24
- ## SUBCOMMANDS
24
+ ## Subcommands
25
25
 
26
26
  | Command | Description |
27
27
  |---------|-------------|
28
- | `/mcp:healthcheck` | Full MCP health check with version verification |
29
- | `/mcp:tools` | List all available MCP tools with descriptions |
30
-
31
- ---
32
-
33
- ## /mcp:healthcheck
34
-
35
- Performs a complete MCP health check and updates the cache.
36
-
37
- ### Workflow
38
-
39
- ```
40
- ┌─────────────────────────────────────────────────────────────┐
41
- │ MCP HEALTH CHECK │
42
- ├─────────────────────────────────────────────────────────────┤
43
- │ 1. Test MCP Connectivity │
44
- │ └─▶ Call mcp__smartstack__validate_conventions │
45
- │ │
46
- │ 2. Get MCP Version │
47
- │ └─▶ smartstack --version (bundled in CLI) │
48
- │ │
49
- │ 3. List Available Tools │
50
- │ └─▶ Enumerate mcp__smartstack__* tools │
51
- │ │
52
- │ 4. Update Cache │
53
- │ └─▶ Write .claude/mcp-status.json │
54
- └─────────────────────────────────────────────────────────────┘
55
- ```
56
-
57
- ### Step 1: Test Connectivity
58
-
59
- Call MCP with minimal parameters:
60
-
61
- ```
62
- mcp__smartstack__validate_conventions({
63
- checks: ["tables"]
64
- })
65
- ```
66
-
67
- **Expected:** Response without connection error
68
-
69
- **On failure:**
70
- ```
71
- ❌ MCP CONNECTION FAILED
72
- Error: <error_message>
73
-
74
- Actions:
75
- 1. Verify MCP is configured: claude mcp list
76
- 2. Re-register: claude mcp add smartstack -- npx --package @atlashub/smartstack-cli smartstack-mcp
77
- 3. Restart Claude Code
78
- ```
79
-
80
- ### Step 2: Get Version
81
-
82
- ```bash
83
- # Read CLI package version (MCP is bundled inside)
84
- npx smartstack --version 2>/dev/null || smartstack --version
85
- ```
86
-
87
- ### Step 3: List Tools
88
-
89
- Verify these critical tools are available:
90
-
91
- | Tool | Purpose |
92
- |------|---------|
93
- | `validate_conventions` | Convention validation |
94
- | `scaffold_extension` | Code generation |
95
- | `suggest_migration` | Migration naming |
96
- | `check_migrations` | Conflict detection |
97
- | `generate_permissions` | RBAC generation |
98
-
99
- ### Step 4: Update Cache
100
-
101
- Write to `.claude/mcp-status.json`:
102
-
103
- ```json
104
- {
105
- "lastCheck": "<ISO_DATE>",
106
- "mcpVersion": "<VERSION>",
107
- "bundled": true,
108
- "status": "ok",
109
- "toolsAvailable": [
110
- "validate_conventions",
111
- "scaffold_extension",
112
- "suggest_migration",
113
- "check_migrations",
114
- "generate_permissions"
115
- ]
116
- }
117
- ```
118
-
119
- ### Output Format
120
-
121
- **Success:**
122
- ```
123
- MCP HEALTH CHECK ✓
124
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
125
- Status : OK
126
- Version : 2.0.0 (bundled)
127
- Tools : 19 available
128
- Cache : Updated (.claude/mcp-status.json)
129
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
130
- Next check : in 7 days (auto)
131
- ```
132
-
133
- **Warning (update available):**
134
- ```
135
- MCP HEALTH CHECK ⚠️
136
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
137
- Status : UPDATE AVAILABLE
138
- Current : 1.38.0
139
- Latest : 2.0.0
140
- Action : npm update -g @atlashub/smartstack-cli
141
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
142
- ```
143
-
144
- **Error:**
145
- ```
146
- MCP HEALTH CHECK ❌
147
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
148
- Status : ERROR
149
- Issue : MCP server not responding
150
-
151
- Troubleshooting:
152
- 1. Check registration: claude mcp list
153
- 2. Re-register: claude mcp add smartstack -- npx --package @atlashub/smartstack-cli smartstack-mcp
154
- 3. Update CLI: npm update -g @atlashub/smartstack-cli
155
- 4. Restart Claude Code
156
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
157
- ```
158
-
159
- ---
28
+ | `/mcp:healthcheck` | Full MCP health check with version verification. See [steps/step-01-healthcheck.md](steps/step-01-healthcheck.md) |
29
+ | `/mcp:tools` | List all available MCP tools with descriptions. See [steps/step-02-tools.md](steps/step-02-tools.md) |
160
30
 
161
31
  ## Cache File
162
32
 
163
33
  **Location:** `.claude/mcp-status.json`
164
34
 
165
- **Structure:**
166
35
  ```json
167
36
  {
168
37
  "lastCheck": "2024-01-15T10:30:00.000Z",
@@ -176,8 +45,6 @@ MCP HEALTH CHECK ❌
176
45
 
177
46
  **Validity:** 7 days
178
47
 
179
- ---
180
-
181
48
  ## Integration with Hook
182
49
 
183
50
  The `mcp-check` hook automatically:
@@ -187,80 +54,9 @@ The `mcp-check` hook automatically:
187
54
 
188
55
  This skill provides the **full check** that the hook references.
189
56
 
190
- ---
191
-
192
- ## /mcp:tools
193
-
194
- Lists all available MCP tools with their descriptions.
195
-
196
- ### Core Tools (6)
197
- | Tool | Description |
198
- |------|-------------|
199
- | `validate_conventions` | Validate SmartStack conventions (tables, migrations, services, namespaces, controllers) |
200
- | `check_migrations` | Analyze EF Core migrations for conflicts and ordering issues |
201
- | `scaffold_extension` | Generate code: feature, entity, service, controller, component, dto, validator, repository |
202
- | `api_docs` | Get API documentation from Swagger/OpenAPI or controller files |
203
- | `suggest_migration` | Suggest migration name following SmartStack conventions |
204
- | `generate_permissions` | Generate RBAC permissions (HasData for PermissionConfiguration.cs) |
205
-
206
- ### Test Tools (4)
207
- | Tool | Description |
208
- |------|-------------|
209
- | `scaffold_tests` | Generate test files for entities, services, controllers |
210
- | `analyze_test_coverage` | Analyze test coverage and identify missing tests |
211
- | `validate_test_conventions` | Validate test naming and structure conventions |
212
- | `suggest_test_scenarios` | Suggest test scenarios based on code analysis |
213
-
214
- ### Frontend Tools (5)
215
- | Tool | Description |
216
- |------|-------------|
217
- | `scaffold_routes` | Generate frontend routes from backend NavRoute attributes |
218
- | `validate_frontend_routes` | Validate frontend routes match backend NavRoutes |
219
- | `scaffold_api_client` | Generate TypeScript API client with React Query hooks |
220
- | `scaffold_frontend_extension` | Generate frontend extension infrastructure (types, slots, contexts) |
221
- | `analyze_extension_points` | Analyze React components for extension points |
222
-
223
- ### Security & Quality Tools (4)
224
- | Tool | Description |
225
- |------|-------------|
226
- | `validate_security` | Validate OWASP security patterns |
227
- | `analyze_code_quality` | Analyze code quality metrics |
228
- | `analyze_hierarchy_patterns` | Analyze entity hierarchy patterns |
229
- | `review_code` | Comprehensive code review with security, performance, a11y checks |
230
-
231
- ### Output Format
232
-
233
- ```
234
- MCP TOOLS REFERENCE
235
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
236
-
237
- CORE TOOLS (6)
238
- validate_conventions Validate SmartStack conventions
239
- check_migrations Analyze EF Core migrations
240
- scaffold_extension Generate code (entity, service, etc.)
241
- api_docs Get API documentation
242
- suggest_migration Suggest migration name
243
- generate_permissions Generate RBAC permissions
244
-
245
- TEST TOOLS (4)
246
- scaffold_tests Generate test files
247
- analyze_test_coverage Analyze test coverage
248
- validate_test_conventions Validate test conventions
249
- suggest_test_scenarios Suggest test scenarios
250
-
251
- FRONTEND TOOLS (5)
252
- scaffold_routes Generate frontend routes
253
- validate_frontend_routes Validate route alignment
254
- scaffold_api_client Generate TypeScript API client
255
- scaffold_frontend_extension Generate extension infrastructure
256
- analyze_extension_points Analyze React extension points
257
-
258
- SECURITY & QUALITY TOOLS (4)
259
- validate_security Validate OWASP patterns
260
- analyze_code_quality Analyze code quality
261
- analyze_hierarchy_patterns Analyze hierarchy patterns
262
- review_code Comprehensive code review
263
-
264
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
265
- Total: 19 tools available
266
- ```
57
+ <success_criteria>
58
+ - MCP server connectivity verified (healthcheck passes)
59
+ - Tool list displayed with descriptions
60
+ - Cache status updated in .claude/mcp-status.json
61
+ - Clear error message if MCP unavailable with remediation steps
62
+ </success_criteria>
@@ -0,0 +1,108 @@
1
+ # MCP Health Check
2
+
3
+ Performs a complete MCP health check and updates the cache.
4
+
5
+ ## Workflow
6
+
7
+ ```
8
+ 1. Test MCP Connectivity -> Call mcp__smartstack__validate_conventions
9
+ 2. Get MCP Version -> smartstack --version (bundled in CLI)
10
+ 3. List Available Tools -> Enumerate mcp__smartstack__* tools
11
+ 4. Update Cache -> Write .claude/mcp-status.json
12
+ ```
13
+
14
+ ## Step 1: Test Connectivity
15
+
16
+ Call MCP with minimal parameters:
17
+
18
+ ```
19
+ mcp__smartstack__validate_conventions({
20
+ checks: ["tables"]
21
+ })
22
+ ```
23
+
24
+ **Expected:** Response without connection error
25
+
26
+ **On failure:**
27
+ ```
28
+ MCP CONNECTION FAILED
29
+ Error: <error_message>
30
+
31
+ Actions:
32
+ 1. Verify MCP is configured: claude mcp list
33
+ 2. Re-register: claude mcp add smartstack -- npx --package @atlashub/smartstack-cli smartstack-mcp
34
+ 3. Restart Claude Code
35
+ ```
36
+
37
+ ## Step 2: Get Version
38
+
39
+ ```bash
40
+ # Read CLI package version (MCP is bundled inside)
41
+ npx smartstack --version 2>/dev/null || smartstack --version
42
+ ```
43
+
44
+ ## Step 3: List Tools
45
+
46
+ Verify these critical tools are available:
47
+
48
+ | Tool | Purpose |
49
+ |------|---------|
50
+ | `validate_conventions` | Convention validation |
51
+ | `scaffold_extension` | Code generation |
52
+ | `suggest_migration` | Migration naming |
53
+ | `check_migrations` | Conflict detection |
54
+ | `generate_permissions` | RBAC generation |
55
+
56
+ ## Step 4: Update Cache
57
+
58
+ Write to `.claude/mcp-status.json`:
59
+
60
+ ```json
61
+ {
62
+ "lastCheck": "<ISO_DATE>",
63
+ "mcpVersion": "<VERSION>",
64
+ "bundled": true,
65
+ "status": "ok",
66
+ "toolsAvailable": [
67
+ "validate_conventions",
68
+ "scaffold_extension",
69
+ "suggest_migration",
70
+ "check_migrations",
71
+ "generate_permissions"
72
+ ]
73
+ }
74
+ ```
75
+
76
+ ## Output Formats
77
+
78
+ **Success:**
79
+ ```
80
+ MCP HEALTH CHECK
81
+ Status : OK
82
+ Version : 2.0.0 (bundled)
83
+ Tools : 19 available
84
+ Cache : Updated (.claude/mcp-status.json)
85
+ Next check : in 7 days (auto)
86
+ ```
87
+
88
+ **Warning (update available):**
89
+ ```
90
+ MCP HEALTH CHECK
91
+ Status : UPDATE AVAILABLE
92
+ Current : 1.38.0
93
+ Latest : 2.0.0
94
+ Action : npm update -g @atlashub/smartstack-cli
95
+ ```
96
+
97
+ **Error:**
98
+ ```
99
+ MCP HEALTH CHECK
100
+ Status : ERROR
101
+ Issue : MCP server not responding
102
+
103
+ Troubleshooting:
104
+ 1. Check registration: claude mcp list
105
+ 2. Re-register: claude mcp add smartstack -- npx --package @atlashub/smartstack-cli smartstack-mcp
106
+ 3. Update CLI: npm update -g @atlashub/smartstack-cli
107
+ 4. Restart Claude Code
108
+ ```
@@ -0,0 +1,73 @@
1
+ # MCP Tools Reference
2
+
3
+ Lists all available MCP tools with their descriptions.
4
+
5
+ ## Core Tools (6)
6
+ | Tool | Description |
7
+ |------|-------------|
8
+ | `validate_conventions` | Validate SmartStack conventions (tables, migrations, services, namespaces, controllers) |
9
+ | `check_migrations` | Analyze EF Core migrations for conflicts and ordering issues |
10
+ | `scaffold_extension` | Generate code: feature, entity, service, controller, component, dto, validator, repository |
11
+ | `api_docs` | Get API documentation from Swagger/OpenAPI or controller files |
12
+ | `suggest_migration` | Suggest migration name following SmartStack conventions |
13
+ | `generate_permissions` | Generate RBAC permissions (HasData for PermissionConfiguration.cs) |
14
+
15
+ ## Test Tools (4)
16
+ | Tool | Description |
17
+ |------|-------------|
18
+ | `scaffold_tests` | Generate test files for entities, services, controllers |
19
+ | `analyze_test_coverage` | Analyze test coverage and identify missing tests |
20
+ | `validate_test_conventions` | Validate test naming and structure conventions |
21
+ | `suggest_test_scenarios` | Suggest test scenarios based on code analysis |
22
+
23
+ ## Frontend Tools (5)
24
+ | Tool | Description |
25
+ |------|-------------|
26
+ | `scaffold_routes` | Generate frontend routes from backend NavRoute attributes |
27
+ | `validate_frontend_routes` | Validate frontend routes match backend NavRoutes |
28
+ | `scaffold_api_client` | Generate TypeScript API client with React Query hooks |
29
+ | `scaffold_frontend_extension` | Generate frontend extension infrastructure (types, slots, contexts) |
30
+ | `analyze_extension_points` | Analyze React components for extension points |
31
+
32
+ ## Security & Quality Tools (4)
33
+ | Tool | Description |
34
+ |------|-------------|
35
+ | `validate_security` | Validate OWASP security patterns |
36
+ | `analyze_code_quality` | Analyze code quality metrics |
37
+ | `analyze_hierarchy_patterns` | Analyze entity hierarchy patterns |
38
+ | `review_code` | Comprehensive code review with security, performance, a11y checks |
39
+
40
+ ## Output Format
41
+
42
+ ```
43
+ MCP TOOLS REFERENCE
44
+
45
+ CORE TOOLS (6)
46
+ validate_conventions Validate SmartStack conventions
47
+ check_migrations Analyze EF Core migrations
48
+ scaffold_extension Generate code (entity, service, etc.)
49
+ api_docs Get API documentation
50
+ suggest_migration Suggest migration name
51
+ generate_permissions Generate RBAC permissions
52
+
53
+ TEST TOOLS (4)
54
+ scaffold_tests Generate test files
55
+ analyze_test_coverage Analyze test coverage
56
+ validate_test_conventions Validate test conventions
57
+ suggest_test_scenarios Suggest test scenarios
58
+
59
+ FRONTEND TOOLS (5)
60
+ scaffold_routes Generate frontend routes
61
+ validate_frontend_routes Validate route alignment
62
+ scaffold_api_client Generate TypeScript API client
63
+ scaffold_frontend_extension Generate extension infrastructure
64
+ analyze_extension_points Analyze React extension points
65
+
66
+ SECURITY & QUALITY TOOLS (4)
67
+ validate_security Validate OWASP patterns
68
+ analyze_code_quality Analyze code quality
69
+ analyze_hierarchy_patterns Analyze hierarchy patterns
70
+ review_code Comprehensive code review
71
+
72
+ Total: 19 tools available
73
+ ```
@@ -164,3 +164,10 @@ else await SendBatch($"{entities.Count} new elements", ...);
164
164
  | `Infrastructure/Services/SignalR/NotificationHubService.cs` | Real-time |
165
165
  | `web/src/hooks/useSignalR.ts` | Frontend hook |
166
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>
@@ -92,3 +92,8 @@ Grep: pattern="from ['\"].*moduleName['\"]"
92
92
  <priority>
93
93
  Speed > Completeness. Fast answers beat perfect answers.
94
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>