@atlashub/smartstack-cli 1.5.1 → 1.5.2
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/css/styles.css +2168 -2168
- package/.documentation/js/app.js +794 -794
- package/config/default-config.json +86 -86
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -1
- package/package.json +88 -88
- package/templates/agents/action.md +36 -36
- package/templates/agents/efcore/conflicts.md +84 -84
- package/templates/agents/efcore/db-deploy.md +51 -51
- package/templates/agents/efcore/db-reset.md +59 -59
- package/templates/agents/efcore/db-seed.md +56 -56
- package/templates/agents/efcore/db-status.md +64 -64
- package/templates/agents/efcore/migration.md +85 -85
- package/templates/agents/efcore/rebase-snapshot.md +62 -62
- package/templates/agents/efcore/scan.md +90 -90
- package/templates/agents/efcore/squash.md +67 -67
- package/templates/agents/explore-codebase.md +65 -65
- package/templates/agents/explore-docs.md +97 -97
- package/templates/agents/fix-grammar.md +49 -49
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +85 -85
- package/templates/agents/gitflow/commit.md +40 -40
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +92 -92
- package/templates/agents/gitflow/init.md +139 -139
- package/templates/agents/gitflow/merge.md +62 -62
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +78 -78
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +61 -61
- package/templates/agents/gitflow/status.md +32 -32
- package/templates/agents/snipper.md +36 -36
- package/templates/agents/websearch.md +46 -46
- package/templates/commands/_resources/formatting-guide.md +124 -124
- package/templates/commands/ai-prompt.md +315 -315
- package/templates/commands/apex/1-analyze.md +100 -100
- package/templates/commands/apex/2-plan.md +145 -145
- package/templates/commands/apex/3-execute.md +171 -171
- package/templates/commands/apex/4-examine.md +116 -116
- package/templates/commands/apex/5-tasks.md +209 -209
- package/templates/commands/apex.md +76 -76
- package/templates/commands/application/create.md +362 -362
- package/templates/commands/application/templates-backend.md +463 -463
- package/templates/commands/application/templates-frontend.md +517 -517
- package/templates/commands/application/templates-i18n.md +478 -478
- package/templates/commands/application/templates-seed.md +362 -362
- package/templates/commands/application.md +303 -303
- package/templates/commands/business-analyse/0-orchestrate.md +640 -640
- package/templates/commands/business-analyse/1-init.md +269 -269
- package/templates/commands/business-analyse/2-discover.md +520 -520
- package/templates/commands/business-analyse/3-analyse.md +408 -408
- package/templates/commands/business-analyse/4-specify.md +598 -598
- package/templates/commands/business-analyse/5-validate.md +326 -326
- package/templates/commands/business-analyse/6-handoff.md +746 -746
- package/templates/commands/business-analyse/7-doc-html.md +602 -602
- package/templates/commands/business-analyse/bug.md +325 -325
- package/templates/commands/business-analyse/change-request.md +368 -368
- package/templates/commands/business-analyse/hotfix.md +200 -200
- package/templates/commands/business-analyse.md +640 -640
- package/templates/commands/controller/create.md +216 -216
- package/templates/commands/controller/postman-templates.md +528 -528
- package/templates/commands/controller/templates.md +600 -600
- package/templates/commands/controller.md +337 -337
- package/templates/commands/create/agent.md +138 -138
- package/templates/commands/create/command.md +166 -166
- package/templates/commands/create/hook.md +234 -234
- package/templates/commands/create/plugin.md +329 -329
- package/templates/commands/create/project.md +507 -507
- package/templates/commands/create/skill.md +199 -199
- package/templates/commands/create.md +220 -220
- package/templates/commands/debug.md +95 -95
- package/templates/commands/documentation/module.md +202 -202
- package/templates/commands/documentation/templates.md +432 -432
- package/templates/commands/documentation.md +190 -190
- package/templates/commands/efcore/_env-check.md +153 -153
- package/templates/commands/efcore/conflicts.md +186 -186
- package/templates/commands/efcore/db-deploy.md +193 -193
- package/templates/commands/efcore/db-reset.md +426 -426
- package/templates/commands/efcore/db-seed.md +326 -326
- package/templates/commands/efcore/db-status.md +226 -226
- package/templates/commands/efcore/migration.md +400 -400
- package/templates/commands/efcore/rebase-snapshot.md +264 -264
- package/templates/commands/efcore/scan.md +198 -198
- package/templates/commands/efcore/squash.md +298 -298
- package/templates/commands/efcore.md +224 -224
- package/templates/commands/epct.md +69 -69
- package/templates/commands/explain.md +186 -186
- package/templates/commands/explore.md +45 -45
- package/templates/commands/feature-full.md +267 -267
- package/templates/commands/gitflow/1-init.md +1038 -1038
- package/templates/commands/gitflow/10-start.md +768 -768
- package/templates/commands/gitflow/11-finish.md +457 -457
- package/templates/commands/gitflow/12-cleanup.md +276 -276
- package/templates/commands/gitflow/13-sync.md +216 -216
- package/templates/commands/gitflow/14-rebase.md +251 -251
- package/templates/commands/gitflow/2-status.md +277 -277
- package/templates/commands/gitflow/3-commit.md +344 -344
- package/templates/commands/gitflow/4-plan.md +145 -145
- package/templates/commands/gitflow/5-exec.md +147 -147
- package/templates/commands/gitflow/6-abort.md +344 -344
- package/templates/commands/gitflow/7-pull-request.md +453 -355
- package/templates/commands/gitflow/8-review.md +240 -176
- package/templates/commands/gitflow/9-merge.md +451 -365
- package/templates/commands/gitflow.md +128 -128
- package/templates/commands/implement.md +663 -663
- package/templates/commands/init.md +567 -567
- package/templates/commands/mcp-integration.md +330 -330
- package/templates/commands/notification.md +129 -129
- package/templates/commands/oneshot.md +57 -57
- package/templates/commands/quick-search.md +72 -72
- package/templates/commands/ralph-loop/cancel-ralph.md +18 -18
- package/templates/commands/ralph-loop/help.md +126 -126
- package/templates/commands/ralph-loop/ralph-loop.md +18 -18
- package/templates/commands/review.md +106 -106
- package/templates/commands/utils/test-web-config.md +160 -160
- package/templates/commands/utils/test-web.md +151 -151
- package/templates/commands/validate.md +233 -233
- package/templates/commands/workflow.md +193 -193
- package/templates/gitflow/config.json +138 -138
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +25 -25
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/skills/ai-prompt/SKILL.md +778 -778
- package/templates/skills/application/SKILL.md +563 -563
- package/templates/skills/application/templates-backend.md +450 -450
- package/templates/skills/application/templates-frontend.md +531 -531
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +647 -647
- package/templates/skills/business-analyse/SKILL.md +191 -191
- package/templates/skills/business-analyse/questionnaire.md +283 -283
- package/templates/skills/business-analyse/templates-frd.md +477 -477
- package/templates/skills/business-analyse/templates-react.md +580 -580
- package/templates/skills/controller/SKILL.md +240 -240
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/templates.md +1468 -1468
- package/templates/skills/documentation/SKILL.md +133 -133
- package/templates/skills/documentation/templates.md +476 -476
- package/templates/skills/feature-full/SKILL.md +838 -838
- package/templates/skills/notification/SKILL.md +555 -555
- package/templates/skills/ui-components/SKILL.md +870 -870
- package/templates/skills/workflow/SKILL.md +582 -582
- 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,233 +1,233 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Validate SmartStack conventions using MCP
|
|
3
|
-
agent: action
|
|
4
|
-
model: sonnet
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /validate - SmartStack Conventions Validator
|
|
8
|
-
|
|
9
|
-
Validates the SmartStack project against established conventions using **SmartStack MCP**.
|
|
10
|
-
|
|
11
|
-
**USAGE:** Before commits, PRs, or as part of CI/CD to ensure code quality.
|
|
12
|
-
|
|
13
|
-
**INTEGRATION:** Uses `mcp__smartstack__validate_conventions` for comprehensive analysis.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Available Commands
|
|
18
|
-
|
|
19
|
-
| Command | Description | Checks |
|
|
20
|
-
|---------|-------------|--------|
|
|
21
|
-
| `/validate` | Run all validations | All |
|
|
22
|
-
| `/validate:tables` | Validate table naming | SQL schemas, prefixes |
|
|
23
|
-
| `/validate:migrations` | Validate migration naming | Format, order |
|
|
24
|
-
| `/validate:services` | Validate service pattern | I*Service interfaces |
|
|
25
|
-
| `/validate:namespaces` | Validate namespace structure | Layer separation |
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## STEP 1: Invoke MCP validate_conventions
|
|
30
|
-
|
|
31
|
-
> **MCP INTEGRATION:** This command uses the SmartStack MCP server for validation.
|
|
32
|
-
|
|
33
|
-
**Claude instruction:** Call the MCP tool:
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
{
|
|
37
|
-
"tool": "mcp__smartstack__validate_conventions",
|
|
38
|
-
"parameters": {
|
|
39
|
-
"checks": ["all"]
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
For specific checks:
|
|
45
|
-
|
|
46
|
-
```json
|
|
47
|
-
{
|
|
48
|
-
"tool": "mcp__smartstack__validate_conventions",
|
|
49
|
-
"parameters": {
|
|
50
|
-
"checks": ["tables", "migrations"]
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## STEP 2: Parse MCP Response
|
|
58
|
-
|
|
59
|
-
The MCP returns a `ValidationResult`:
|
|
60
|
-
|
|
61
|
-
```typescript
|
|
62
|
-
interface ValidationResult {
|
|
63
|
-
valid: boolean;
|
|
64
|
-
errors: ValidationIssue[];
|
|
65
|
-
warnings: ValidationIssue[];
|
|
66
|
-
summary: string;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
interface ValidationIssue {
|
|
70
|
-
type: 'error' | 'warning';
|
|
71
|
-
category: 'tables' | 'migrations' | 'services' | 'namespaces';
|
|
72
|
-
message: string;
|
|
73
|
-
file?: string;
|
|
74
|
-
line?: number;
|
|
75
|
-
suggestion?: string;
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## STEP 3: Display Results
|
|
82
|
-
|
|
83
|
-
**If `valid: true` with no warnings:**
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
================================================================================
|
|
87
|
-
SMARTSTACK CONVENTIONS VALIDATION
|
|
88
|
-
================================================================================
|
|
89
|
-
|
|
90
|
-
STATUS: PASSED
|
|
91
|
-
|
|
92
|
-
Checks performed: tables, migrations, services, namespaces
|
|
93
|
-
Errors: 0
|
|
94
|
-
Warnings: 0
|
|
95
|
-
|
|
96
|
-
All conventions validated successfully!
|
|
97
|
-
|
|
98
|
-
================================================================================
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**If `valid: false` or has warnings:**
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
================================================================================
|
|
105
|
-
SMARTSTACK CONVENTIONS VALIDATION
|
|
106
|
-
================================================================================
|
|
107
|
-
|
|
108
|
-
STATUS: {valid ? "PASSED (with warnings)" : "FAILED"}
|
|
109
|
-
|
|
110
|
-
ERRORS ({errors.length})
|
|
111
|
-
--------------------------------------------------------------------------------
|
|
112
|
-
{for each error in errors}
|
|
113
|
-
[{error.category}] {error.message}
|
|
114
|
-
File: {error.file}
|
|
115
|
-
Suggestion: {error.suggestion}
|
|
116
|
-
{end for}
|
|
117
|
-
--------------------------------------------------------------------------------
|
|
118
|
-
|
|
119
|
-
WARNINGS ({warnings.length})
|
|
120
|
-
--------------------------------------------------------------------------------
|
|
121
|
-
{for each warning in warnings}
|
|
122
|
-
[{warning.category}] {warning.message}
|
|
123
|
-
File: {warning.file}
|
|
124
|
-
Suggestion: {warning.suggestion}
|
|
125
|
-
{end for}
|
|
126
|
-
--------------------------------------------------------------------------------
|
|
127
|
-
|
|
128
|
-
================================================================================
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## Validation Rules
|
|
134
|
-
|
|
135
|
-
### Tables (`checks: ["tables"]`)
|
|
136
|
-
|
|
137
|
-
| Rule | Valid | Invalid |
|
|
138
|
-
|------|-------|---------|
|
|
139
|
-
| Schema | `core`, `extensions` | `dbo`, custom |
|
|
140
|
-
| Prefix | `auth_Users`, `nav_Items` | `Users`, `Items` |
|
|
141
|
-
|
|
142
|
-
**Valid prefixes:** `auth_`, `nav_`, `usr_`, `ai_`, `cfg_`, `wkf_`, `support_`, `entra_`, `ref_`, `loc_`, `lic_`
|
|
143
|
-
|
|
144
|
-
### Migrations (`checks: ["migrations"]`)
|
|
145
|
-
|
|
146
|
-
| Rule | Valid | Invalid |
|
|
147
|
-
|------|-------|---------|
|
|
148
|
-
| Format | `core_v1.0.0_001_AddUsers` | `AddUsersTable` |
|
|
149
|
-
| Order | v1.0.0 before v1.1.0 | v1.1.0 before v1.0.0 |
|
|
150
|
-
|
|
151
|
-
**Format:** `{context}_v{version}_{sequence}_{Description}`
|
|
152
|
-
|
|
153
|
-
### Services (`checks: ["services"]`)
|
|
154
|
-
|
|
155
|
-
| Rule | Valid | Invalid |
|
|
156
|
-
|------|-------|---------|
|
|
157
|
-
| Interface | `IUserService` | `UserServiceInterface` |
|
|
158
|
-
| Implementation | `UserService : IUserService` | `UserService` (no interface) |
|
|
159
|
-
|
|
160
|
-
### Namespaces (`checks: ["namespaces"]`)
|
|
161
|
-
|
|
162
|
-
| Layer | Expected Namespace |
|
|
163
|
-
|-------|-------------------|
|
|
164
|
-
| Domain | `SmartStack.Domain.*` |
|
|
165
|
-
| Application | `SmartStack.Application.*` |
|
|
166
|
-
| Infrastructure | `SmartStack.Infrastructure.*` |
|
|
167
|
-
| Api | `SmartStack.Api.*` |
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Options
|
|
172
|
-
|
|
173
|
-
| Option | Description |
|
|
174
|
-
|--------|-------------|
|
|
175
|
-
| `--fix` | Auto-fix simple issues (rename suggestions) |
|
|
176
|
-
| `--json` | Output raw MCP JSON response |
|
|
177
|
-
| `--strict` | Treat warnings as errors |
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## CI/CD Integration
|
|
182
|
-
|
|
183
|
-
```yaml
|
|
184
|
-
# GitHub Actions
|
|
185
|
-
- name: Validate SmartStack conventions
|
|
186
|
-
run: |
|
|
187
|
-
OUTPUT=$(claude-code "/validate --json")
|
|
188
|
-
VALID=$(echo $OUTPUT | jq '.valid')
|
|
189
|
-
if [ "$VALID" != "true" ]; then
|
|
190
|
-
echo "::error::SmartStack convention violations detected"
|
|
191
|
-
exit 1
|
|
192
|
-
fi
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## Pre-Commit Hook Integration
|
|
198
|
-
|
|
199
|
-
Add to `.claude/hooks/PreToolUse`:
|
|
200
|
-
|
|
201
|
-
```json
|
|
202
|
-
{
|
|
203
|
-
"matcher": "Edit|Write",
|
|
204
|
-
"hooks": [{
|
|
205
|
-
"type": "command",
|
|
206
|
-
"command": "claude-code /validate:quick"
|
|
207
|
-
}]
|
|
208
|
-
}
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## MCP Tool Reference
|
|
214
|
-
|
|
215
|
-
**Tool:** `mcp__smartstack__validate_conventions`
|
|
216
|
-
|
|
217
|
-
**Description:** Validate AtlasHub/SmartStack conventions: SQL schemas (core/extensions), domain table prefixes (auth_, nav_, ai_, etc.), migration naming ({context}_v{version}_{sequence}_*), service interfaces (I*Service), namespace structure
|
|
218
|
-
|
|
219
|
-
**Parameters:**
|
|
220
|
-
|
|
221
|
-
| Parameter | Type | Description |
|
|
222
|
-
|-----------|------|-------------|
|
|
223
|
-
| `path` | string | Project path (default: auto-detect) |
|
|
224
|
-
| `checks` | string[] | Types of checks: `tables`, `migrations`, `services`, `namespaces`, `all` |
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Why MCP Integration?
|
|
229
|
-
|
|
230
|
-
1. **Centralized Rules:** Convention rules defined once in MCP config
|
|
231
|
-
2. **Consistency:** Same validation in CLI, CI/CD, and IDE
|
|
232
|
-
3. **Extensibility:** Add new checks in MCP, available everywhere
|
|
233
|
-
4. **Structured Output:** Typed responses for automation
|
|
1
|
+
---
|
|
2
|
+
description: Validate SmartStack conventions using MCP
|
|
3
|
+
agent: action
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /validate - SmartStack Conventions Validator
|
|
8
|
+
|
|
9
|
+
Validates the SmartStack project against established conventions using **SmartStack MCP**.
|
|
10
|
+
|
|
11
|
+
**USAGE:** Before commits, PRs, or as part of CI/CD to ensure code quality.
|
|
12
|
+
|
|
13
|
+
**INTEGRATION:** Uses `mcp__smartstack__validate_conventions` for comprehensive analysis.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Available Commands
|
|
18
|
+
|
|
19
|
+
| Command | Description | Checks |
|
|
20
|
+
|---------|-------------|--------|
|
|
21
|
+
| `/validate` | Run all validations | All |
|
|
22
|
+
| `/validate:tables` | Validate table naming | SQL schemas, prefixes |
|
|
23
|
+
| `/validate:migrations` | Validate migration naming | Format, order |
|
|
24
|
+
| `/validate:services` | Validate service pattern | I*Service interfaces |
|
|
25
|
+
| `/validate:namespaces` | Validate namespace structure | Layer separation |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## STEP 1: Invoke MCP validate_conventions
|
|
30
|
+
|
|
31
|
+
> **MCP INTEGRATION:** This command uses the SmartStack MCP server for validation.
|
|
32
|
+
|
|
33
|
+
**Claude instruction:** Call the MCP tool:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"tool": "mcp__smartstack__validate_conventions",
|
|
38
|
+
"parameters": {
|
|
39
|
+
"checks": ["all"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
For specific checks:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"tool": "mcp__smartstack__validate_conventions",
|
|
49
|
+
"parameters": {
|
|
50
|
+
"checks": ["tables", "migrations"]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## STEP 2: Parse MCP Response
|
|
58
|
+
|
|
59
|
+
The MCP returns a `ValidationResult`:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
interface ValidationResult {
|
|
63
|
+
valid: boolean;
|
|
64
|
+
errors: ValidationIssue[];
|
|
65
|
+
warnings: ValidationIssue[];
|
|
66
|
+
summary: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
interface ValidationIssue {
|
|
70
|
+
type: 'error' | 'warning';
|
|
71
|
+
category: 'tables' | 'migrations' | 'services' | 'namespaces';
|
|
72
|
+
message: string;
|
|
73
|
+
file?: string;
|
|
74
|
+
line?: number;
|
|
75
|
+
suggestion?: string;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## STEP 3: Display Results
|
|
82
|
+
|
|
83
|
+
**If `valid: true` with no warnings:**
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
================================================================================
|
|
87
|
+
SMARTSTACK CONVENTIONS VALIDATION
|
|
88
|
+
================================================================================
|
|
89
|
+
|
|
90
|
+
STATUS: PASSED
|
|
91
|
+
|
|
92
|
+
Checks performed: tables, migrations, services, namespaces
|
|
93
|
+
Errors: 0
|
|
94
|
+
Warnings: 0
|
|
95
|
+
|
|
96
|
+
All conventions validated successfully!
|
|
97
|
+
|
|
98
|
+
================================================================================
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**If `valid: false` or has warnings:**
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
================================================================================
|
|
105
|
+
SMARTSTACK CONVENTIONS VALIDATION
|
|
106
|
+
================================================================================
|
|
107
|
+
|
|
108
|
+
STATUS: {valid ? "PASSED (with warnings)" : "FAILED"}
|
|
109
|
+
|
|
110
|
+
ERRORS ({errors.length})
|
|
111
|
+
--------------------------------------------------------------------------------
|
|
112
|
+
{for each error in errors}
|
|
113
|
+
[{error.category}] {error.message}
|
|
114
|
+
File: {error.file}
|
|
115
|
+
Suggestion: {error.suggestion}
|
|
116
|
+
{end for}
|
|
117
|
+
--------------------------------------------------------------------------------
|
|
118
|
+
|
|
119
|
+
WARNINGS ({warnings.length})
|
|
120
|
+
--------------------------------------------------------------------------------
|
|
121
|
+
{for each warning in warnings}
|
|
122
|
+
[{warning.category}] {warning.message}
|
|
123
|
+
File: {warning.file}
|
|
124
|
+
Suggestion: {warning.suggestion}
|
|
125
|
+
{end for}
|
|
126
|
+
--------------------------------------------------------------------------------
|
|
127
|
+
|
|
128
|
+
================================================================================
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Validation Rules
|
|
134
|
+
|
|
135
|
+
### Tables (`checks: ["tables"]`)
|
|
136
|
+
|
|
137
|
+
| Rule | Valid | Invalid |
|
|
138
|
+
|------|-------|---------|
|
|
139
|
+
| Schema | `core`, `extensions` | `dbo`, custom |
|
|
140
|
+
| Prefix | `auth_Users`, `nav_Items` | `Users`, `Items` |
|
|
141
|
+
|
|
142
|
+
**Valid prefixes:** `auth_`, `nav_`, `usr_`, `ai_`, `cfg_`, `wkf_`, `support_`, `entra_`, `ref_`, `loc_`, `lic_`
|
|
143
|
+
|
|
144
|
+
### Migrations (`checks: ["migrations"]`)
|
|
145
|
+
|
|
146
|
+
| Rule | Valid | Invalid |
|
|
147
|
+
|------|-------|---------|
|
|
148
|
+
| Format | `core_v1.0.0_001_AddUsers` | `AddUsersTable` |
|
|
149
|
+
| Order | v1.0.0 before v1.1.0 | v1.1.0 before v1.0.0 |
|
|
150
|
+
|
|
151
|
+
**Format:** `{context}_v{version}_{sequence}_{Description}`
|
|
152
|
+
|
|
153
|
+
### Services (`checks: ["services"]`)
|
|
154
|
+
|
|
155
|
+
| Rule | Valid | Invalid |
|
|
156
|
+
|------|-------|---------|
|
|
157
|
+
| Interface | `IUserService` | `UserServiceInterface` |
|
|
158
|
+
| Implementation | `UserService : IUserService` | `UserService` (no interface) |
|
|
159
|
+
|
|
160
|
+
### Namespaces (`checks: ["namespaces"]`)
|
|
161
|
+
|
|
162
|
+
| Layer | Expected Namespace |
|
|
163
|
+
|-------|-------------------|
|
|
164
|
+
| Domain | `SmartStack.Domain.*` |
|
|
165
|
+
| Application | `SmartStack.Application.*` |
|
|
166
|
+
| Infrastructure | `SmartStack.Infrastructure.*` |
|
|
167
|
+
| Api | `SmartStack.Api.*` |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Options
|
|
172
|
+
|
|
173
|
+
| Option | Description |
|
|
174
|
+
|--------|-------------|
|
|
175
|
+
| `--fix` | Auto-fix simple issues (rename suggestions) |
|
|
176
|
+
| `--json` | Output raw MCP JSON response |
|
|
177
|
+
| `--strict` | Treat warnings as errors |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## CI/CD Integration
|
|
182
|
+
|
|
183
|
+
```yaml
|
|
184
|
+
# GitHub Actions
|
|
185
|
+
- name: Validate SmartStack conventions
|
|
186
|
+
run: |
|
|
187
|
+
OUTPUT=$(claude-code "/validate --json")
|
|
188
|
+
VALID=$(echo $OUTPUT | jq '.valid')
|
|
189
|
+
if [ "$VALID" != "true" ]; then
|
|
190
|
+
echo "::error::SmartStack convention violations detected"
|
|
191
|
+
exit 1
|
|
192
|
+
fi
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Pre-Commit Hook Integration
|
|
198
|
+
|
|
199
|
+
Add to `.claude/hooks/PreToolUse`:
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"matcher": "Edit|Write",
|
|
204
|
+
"hooks": [{
|
|
205
|
+
"type": "command",
|
|
206
|
+
"command": "claude-code /validate:quick"
|
|
207
|
+
}]
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## MCP Tool Reference
|
|
214
|
+
|
|
215
|
+
**Tool:** `mcp__smartstack__validate_conventions`
|
|
216
|
+
|
|
217
|
+
**Description:** Validate AtlasHub/SmartStack conventions: SQL schemas (core/extensions), domain table prefixes (auth_, nav_, ai_, etc.), migration naming ({context}_v{version}_{sequence}_*), service interfaces (I*Service), namespace structure
|
|
218
|
+
|
|
219
|
+
**Parameters:**
|
|
220
|
+
|
|
221
|
+
| Parameter | Type | Description |
|
|
222
|
+
|-----------|------|-------------|
|
|
223
|
+
| `path` | string | Project path (default: auto-detect) |
|
|
224
|
+
| `checks` | string[] | Types of checks: `tables`, `migrations`, `services`, `namespaces`, `all` |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Why MCP Integration?
|
|
229
|
+
|
|
230
|
+
1. **Centralized Rules:** Convention rules defined once in MCP config
|
|
231
|
+
2. **Consistency:** Same validation in CLI, CI/CD, and IDE
|
|
232
|
+
3. **Extensibility:** Add new checks in MCP, available everywhere
|
|
233
|
+
4. **Structured Output:** Typed responses for automation
|