@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.
- package/dist/index.js +365 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/templates/agents/action.md +1 -0
- package/templates/agents/ba-writer.md +33 -0
- package/templates/agents/explore-codebase.md +1 -0
- package/templates/agents/explore-docs.md +1 -0
- package/templates/agents/fix-grammar.md +1 -0
- package/templates/agents/snipper.md +1 -0
- package/templates/skills/admin/SKILL.md +6 -0
- package/templates/skills/ai-prompt/SKILL.md +32 -136
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -0
- package/templates/skills/apex/SKILL.md +120 -0
- package/templates/skills/apex/_shared.md +86 -0
- package/templates/skills/apex/references/agent-teams-protocol.md +164 -0
- package/templates/skills/apex/references/smartstack-layers.md +173 -0
- package/templates/skills/apex/steps/step-00-init.md +156 -0
- package/templates/skills/apex/steps/step-01-analyze.md +169 -0
- package/templates/skills/apex/steps/step-02-plan.md +160 -0
- package/templates/skills/apex/steps/step-03-execute.md +166 -0
- package/templates/skills/apex/steps/step-04-validate.md +138 -0
- package/templates/skills/apex/steps/step-05-examine.md +124 -0
- package/templates/skills/apex/steps/step-06-resolve.md +105 -0
- package/templates/skills/apex/steps/step-07-tests.md +130 -0
- package/templates/skills/apex/steps/step-08-run-tests.md +115 -0
- package/templates/skills/application/SKILL.md +10 -0
- package/templates/skills/application/references/backend-controller-hierarchy.md +58 -0
- package/templates/skills/application/references/backend-entity-seeding.md +72 -0
- package/templates/skills/application/references/backend-verification.md +88 -0
- package/templates/skills/application/references/frontend-verification.md +111 -0
- package/templates/skills/application/references/nav-fallback-procedure.md +200 -0
- package/templates/skills/application/references/provider-template.md +134 -0
- package/templates/skills/application/references/test-frontend.md +73 -0
- package/templates/skills/application/references/test-prerequisites.md +72 -0
- package/templates/skills/application/steps/step-01-navigation.md +7 -198
- package/templates/skills/application/steps/step-03b-provider.md +4 -128
- package/templates/skills/application/steps/step-04-backend.md +20 -350
- package/templates/skills/application/steps/step-05-frontend.md +12 -101
- package/templates/skills/application/steps/step-07-tests.md +12 -132
- package/templates/skills/business-analyse/SKILL.md +11 -2
- package/templates/skills/business-analyse/html/ba-interactive.html +3214 -2246
- package/templates/skills/business-analyse/html/build-html.js +77 -0
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +130 -0
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +22 -0
- package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +208 -0
- package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +211 -0
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +554 -0
- package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +110 -0
- package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +90 -0
- package/templates/skills/business-analyse/html/src/scripts/08-editing.js +45 -0
- package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -0
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -0
- package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +161 -0
- package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -0
- package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -0
- package/templates/skills/business-analyse/html/src/styles/03-navigation.css +62 -0
- package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -0
- package/templates/skills/business-analyse/html/src/styles/05-modules.css +325 -0
- package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +230 -0
- package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -0
- package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -0
- package/templates/skills/business-analyse/html/src/template.html +623 -0
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +78 -0
- package/templates/skills/business-analyse/references/cadrage-vibe-coding.md +97 -0
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +92 -0
- package/templates/skills/business-analyse/references/deploy-data-build.md +121 -0
- package/templates/skills/business-analyse/references/deploy-modes.md +49 -0
- package/templates/skills/business-analyse/references/handoff-file-templates.md +119 -0
- package/templates/skills/business-analyse/references/handoff-mappings.md +81 -0
- package/templates/skills/business-analyse/references/html-data-mapping.md +10 -2
- package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -0
- package/templates/skills/business-analyse/references/review-data-mapping.md +363 -0
- package/templates/skills/business-analyse/references/spec-auto-inference.md +57 -0
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -0
- package/templates/skills/business-analyse/references/ui-resource-cards.md +110 -0
- package/templates/skills/business-analyse/references/validate-incremental-html.md +55 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +35 -68
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +5 -194
- package/templates/skills/business-analyse/steps/step-03a-data.md +6 -49
- package/templates/skills/business-analyse/steps/step-03b-ui.md +12 -178
- package/templates/skills/business-analyse/steps/step-03d-validate.md +3 -48
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +9 -104
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +25 -441
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +19 -187
- package/templates/skills/business-analyse/steps/step-06-review.md +277 -0
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -0
- package/templates/skills/cc-agent/steps/step-02-generate.md +5 -78
- package/templates/skills/check-version/SKILL.md +7 -0
- package/templates/skills/controller/references/controller-code-templates.md +159 -0
- package/templates/skills/controller/references/permission-sync-templates.md +152 -0
- package/templates/skills/controller/steps/step-03-generate.md +6 -158
- package/templates/skills/controller/steps/step-04-perms.md +5 -144
- package/templates/skills/debug/SKILL.md +7 -0
- package/templates/skills/explore/SKILL.md +6 -0
- package/templates/skills/feature-full/SKILL.md +39 -142
- package/templates/skills/feature-full/steps/step-01-implementation.md +120 -0
- package/templates/skills/gitflow/references/init-config-template.md +135 -0
- package/templates/skills/gitflow/references/init-name-normalization.md +103 -0
- package/templates/skills/gitflow/references/plan-template.md +69 -0
- package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -0
- package/templates/skills/gitflow/references/start-local-config.md +110 -0
- package/templates/skills/gitflow/steps/step-init.md +18 -289
- package/templates/skills/gitflow/steps/step-plan.md +6 -63
- package/templates/skills/gitflow/steps/step-start.md +16 -126
- package/templates/skills/mcp/SKILL.md +9 -213
- package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -0
- package/templates/skills/mcp/steps/step-02-tools.md +73 -0
- package/templates/skills/notification/SKILL.md +7 -0
- package/templates/skills/quick-search/SKILL.md +5 -0
- package/templates/skills/ralph-loop/SKILL.md +99 -381
- package/templates/skills/ralph-loop/references/category-rules.md +259 -0
- package/templates/skills/ralph-loop/references/compact-loop.md +182 -0
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +259 -0
- package/templates/skills/ralph-loop/references/team-orchestration.md +189 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +111 -383
- package/templates/skills/ralph-loop/steps/step-01-task.md +79 -896
- package/templates/skills/ralph-loop/steps/step-02-execute.md +68 -680
- package/templates/skills/ralph-loop/steps/step-03-commit.md +47 -277
- package/templates/skills/ralph-loop/steps/step-04-check.md +124 -607
- package/templates/skills/ralph-loop/steps/step-05-report.md +68 -367
- package/templates/skills/refactor/SKILL.md +12 -176
- package/templates/skills/refactor/steps/step-01-discover.md +60 -0
- package/templates/skills/refactor/steps/step-02-execute.md +67 -0
- package/templates/skills/review-code/SKILL.md +19 -257
- package/templates/skills/review-code/steps/step-01-smartstack.md +96 -0
- package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -0
- package/templates/skills/review-code/steps/step-03-react.md +44 -0
- package/templates/skills/ui-components/SKILL.md +7 -0
- package/templates/skills/utils/SKILL.md +6 -0
- package/templates/skills/validate/SKILL.md +6 -0
- package/templates/skills/validate-feature/SKILL.md +8 -0
- package/templates/skills/workflow/SKILL.md +40 -118
- 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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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>
|