@atlashub/smartstack-cli 1.13.2 → 1.14.1
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/agents.html +1 -1
- package/.documentation/apex.html +1 -1
- package/.documentation/business-analyse.html +1 -1
- package/.documentation/cli-commands.html +3 -3
- package/.documentation/commands.html +1 -1
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +231 -236
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +1 -1
- package/.documentation/init.html +3 -3
- package/.documentation/installation.html +1075 -351
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/README.md +88 -20
- package/config/default-config.json +10 -1
- package/dist/index.js +276 -85
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/code-reviewer.md +163 -0
- package/templates/agents/efcore/db-deploy.md +25 -7
- package/templates/agents/efcore/db-reset.md +31 -10
- package/templates/agents/efcore/db-status.md +22 -5
- package/templates/agents/efcore/migration.md +70 -20
- package/templates/agents/gitflow/cleanup.md +8 -1
- package/templates/agents/gitflow/commit.md +7 -5
- package/templates/agents/gitflow/finish.md +6 -4
- package/templates/agents/gitflow/pr.md +8 -1
- package/templates/agents/gitflow/start.md +1 -1
- package/templates/commands/check-version.md +267 -0
- package/templates/commands/efcore/_shared.md +31 -2
- package/templates/commands/efcore/db-reset.md +18 -6
- package/templates/commands/efcore/migration.md +1 -1
- package/templates/commands/efcore/rebase-snapshot.md +1 -1
- package/templates/commands/efcore/squash.md +1 -0
- package/templates/commands/refactor.md +164 -0
- package/templates/project/DependencyInjection.Application.cs.template +25 -0
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
- package/templates/project/ExampleEntity.cs.template +116 -0
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
- package/templates/project/ExampleService.cs.template +146 -0
- package/templates/project/ExtensionsDbContext.cs.template +41 -0
- package/templates/project/IExtensionsDbContext.cs.template +22 -0
- package/templates/project/Program.cs.template +47 -0
- package/templates/project/README.md +79 -0
- package/templates/ralph/README.md +10 -8
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/_shared.md +44 -44
- package/templates/skills/ai-prompt/SKILL.md +55 -55
- package/templates/skills/apex/SKILL.md +235 -0
- package/templates/skills/apex/steps/step-00-init.md +203 -0
- package/templates/skills/apex/steps/step-01-analyze.md +210 -0
- package/templates/skills/apex/steps/step-02-plan.md +217 -0
- package/templates/skills/apex/steps/step-03-execute.md +178 -0
- package/templates/skills/apex/steps/step-04-validate.md +217 -0
- package/templates/skills/apex/steps/step-05-examine.md +207 -0
- package/templates/skills/apex/steps/step-06-resolve.md +181 -0
- package/templates/skills/apex/steps/step-07-tests.md +206 -0
- package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
- package/templates/skills/apex/templates/00-context.md +46 -0
- package/templates/skills/apex/templates/01-analyze.md +63 -0
- package/templates/skills/apex/templates/02-plan.md +63 -0
- package/templates/skills/apex/templates/03-execute.md +34 -0
- package/templates/skills/apex/templates/04-validate.md +61 -0
- package/templates/skills/apex/templates/05-examine.md +58 -0
- package/templates/skills/apex/templates/06-resolve.md +39 -0
- package/templates/skills/apex/templates/07-tests.md +56 -0
- package/templates/skills/apex/templates/08-run-tests.md +41 -0
- package/templates/skills/apex/templates/README.md +69 -0
- package/templates/skills/application/SKILL.md +50 -50
- package/templates/skills/application/templates-backend.md +25 -25
- package/templates/skills/application/templates-frontend.md +43 -43
- package/templates/skills/application/templates-i18n.md +29 -29
- package/templates/skills/application/templates-seed.md +77 -77
- package/templates/skills/business-analyse/SKILL.md +223 -0
- package/templates/skills/business-analyse/_shared.md +258 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
- package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
- package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
- package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
- package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
- package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
- package/templates/skills/business-analyse/questionnaire.md +177 -177
- package/templates/skills/business-analyse/react/components.md +340 -0
- package/templates/skills/business-analyse/react/i18n-template.md +245 -0
- package/templates/skills/business-analyse/react/schema.md +151 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
- package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
- package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
- package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
- package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
- package/templates/skills/business-analyse/templates/00-context.md +105 -0
- package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
- package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
- package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
- package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
- package/templates/skills/business-analyse/templates-frd.md +217 -217
- package/templates/skills/business-analyse/templates-react.md +26 -26
- package/templates/skills/controller/SKILL.md +141 -92
- package/templates/skills/controller/postman-templates.md +15 -15
- package/templates/skills/controller/steps/step-00-init.md +191 -0
- package/templates/skills/controller/steps/step-01-analyze.md +146 -0
- package/templates/skills/controller/steps/step-02-plan.md +176 -0
- package/templates/skills/controller/steps/step-03-generate.md +219 -0
- package/templates/skills/controller/steps/step-04-perms.md +219 -0
- package/templates/skills/controller/steps/step-05-validate.md +107 -0
- package/templates/skills/controller/templates.md +77 -77
- package/templates/skills/documentation/SKILL.md +79 -79
- package/templates/skills/feature-full/SKILL.md +38 -38
- package/templates/skills/gitflow/SKILL.md +277 -0
- package/templates/{commands → skills}/gitflow/_shared.md +20 -20
- package/templates/skills/gitflow/phases/abort.md +173 -0
- package/templates/skills/gitflow/phases/cleanup.md +226 -0
- package/templates/skills/gitflow/phases/status.md +178 -0
- package/templates/skills/gitflow/steps/step-commit.md +255 -0
- package/templates/skills/gitflow/steps/step-finish.md +255 -0
- package/templates/skills/gitflow/steps/step-init.md +209 -0
- package/templates/skills/gitflow/steps/step-merge.md +225 -0
- package/templates/skills/gitflow/steps/step-plan.md +208 -0
- package/templates/skills/gitflow/steps/step-pr.md +235 -0
- package/templates/skills/gitflow/steps/step-start.md +334 -0
- package/templates/skills/gitflow/steps/step-sync.md +200 -0
- package/templates/skills/gitflow/templates/config.json +53 -0
- package/templates/skills/notification/SKILL.md +51 -51
- package/templates/skills/ralph-loop/SKILL.md +228 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
- package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
- package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
- package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
- package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
- package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
- package/templates/skills/review-code/SKILL.md +219 -0
- package/templates/skills/review-code/references/clean-code-principles.md +140 -0
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
- package/templates/skills/review-code/references/feedback-patterns.md +149 -0
- package/templates/skills/review-code/references/security-checklist.md +127 -0
- package/templates/skills/ui-components/SKILL.md +54 -54
- package/templates/skills/workflow/SKILL.md +46 -46
- package/templates/commands/ai-prompt.md +0 -315
- package/templates/commands/apex/1-analyze.md +0 -100
- package/templates/commands/apex/2-plan.md +0 -145
- package/templates/commands/apex/3-execute.md +0 -171
- package/templates/commands/apex/4-examine.md +0 -116
- package/templates/commands/apex/5-tasks.md +0 -209
- package/templates/commands/apex.md +0 -76
- package/templates/commands/application/create.md +0 -362
- package/templates/commands/application/templates-backend.md +0 -463
- package/templates/commands/application/templates-frontend.md +0 -517
- package/templates/commands/application/templates-i18n.md +0 -478
- package/templates/commands/application/templates-seed.md +0 -362
- package/templates/commands/application.md +0 -303
- package/templates/commands/business-analyse/0-orchestrate.md +0 -156
- package/templates/commands/business-analyse/1-init.md +0 -99
- package/templates/commands/business-analyse/2-discover.md +0 -143
- package/templates/commands/business-analyse/3-analyse.md +0 -106
- package/templates/commands/business-analyse/4-specify.md +0 -133
- package/templates/commands/business-analyse/5-validate.md +0 -132
- package/templates/commands/business-analyse/6-handoff.md +0 -157
- package/templates/commands/business-analyse/7-doc-html.md +0 -103
- package/templates/commands/business-analyse/_shared.md +0 -176
- package/templates/commands/business-analyse/bug.md +0 -118
- package/templates/commands/business-analyse/change-request.md +0 -144
- package/templates/commands/business-analyse/hotfix.md +0 -116
- package/templates/commands/business-analyse.md +0 -121
- package/templates/commands/controller/create.md +0 -216
- package/templates/commands/controller/postman-templates.md +0 -528
- package/templates/commands/controller/templates.md +0 -600
- package/templates/commands/controller.md +0 -337
- package/templates/commands/create/agent.md +0 -138
- package/templates/commands/create/command.md +0 -166
- package/templates/commands/create/hook.md +0 -234
- package/templates/commands/create/plugin.md +0 -329
- package/templates/commands/create/project.md +0 -508
- package/templates/commands/create/skill.md +0 -199
- package/templates/commands/create.md +0 -220
- package/templates/commands/documentation/module.md +0 -202
- package/templates/commands/documentation/templates.md +0 -432
- package/templates/commands/documentation.md +0 -190
- package/templates/commands/epct.md +0 -69
- package/templates/commands/explain.md +0 -186
- package/templates/commands/feature-full.md +0 -267
- package/templates/commands/gitflow/1-init.md +0 -188
- package/templates/commands/gitflow/10-start.md +0 -190
- package/templates/commands/gitflow/11-finish.md +0 -382
- package/templates/commands/gitflow/12-cleanup.md +0 -103
- package/templates/commands/gitflow/13-sync.md +0 -216
- package/templates/commands/gitflow/14-rebase.md +0 -251
- package/templates/commands/gitflow/2-status.md +0 -122
- package/templates/commands/gitflow/3-commit.md +0 -209
- package/templates/commands/gitflow/4-plan.md +0 -174
- package/templates/commands/gitflow/5-exec.md +0 -202
- package/templates/commands/gitflow/6-abort.md +0 -121
- package/templates/commands/gitflow/7-pull-request.md +0 -176
- package/templates/commands/gitflow/8-review.md +0 -113
- package/templates/commands/gitflow/9-merge.md +0 -157
- package/templates/commands/gitflow.md +0 -128
- package/templates/commands/implement.md +0 -663
- package/templates/commands/init.md +0 -567
- package/templates/commands/mcp-integration.md +0 -330
- package/templates/commands/notification.md +0 -129
- package/templates/commands/oneshot.md +0 -57
- package/templates/commands/quickstart.md +0 -154
- package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
- package/templates/commands/ralph-loop/help.md +0 -126
- package/templates/commands/ralph-loop/ralph-loop.md +0 -120
- package/templates/commands/review.md +0 -106
- package/templates/commands/workflow.md +0 -193
- package/templates/gitflow/config.json +0 -138
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: SmartStack MCP Integration Guide
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# SmartStack MCP Integration
|
|
6
|
-
|
|
7
|
-
This document describes how SmartStack CLI commands integrate with the **SmartStack MCP Server** for consistent, structured operations across all development environments.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Overview
|
|
12
|
-
|
|
13
|
-
The SmartStack MCP Server provides four main tools:
|
|
14
|
-
|
|
15
|
-
| MCP Tool | CLI Commands Using It | Purpose |
|
|
16
|
-
|----------|----------------------|---------|
|
|
17
|
-
| `validate_conventions` | `/validate` | Check naming conventions |
|
|
18
|
-
| `check_migrations` | `/efcore:conflicts`, `/efcore:scan`, `/efcore:db-status` | Migration analysis |
|
|
19
|
-
| `scaffold_extension` | `/controller:create`, `/application:create` | Code generation |
|
|
20
|
-
| `api_docs` | (future) `/docs:api` | API documentation |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## MCP Tools Reference
|
|
25
|
-
|
|
26
|
-
### 1. validate_conventions
|
|
27
|
-
|
|
28
|
-
**Description:** Validate SmartStack conventions for SQL schemas, table prefixes, migration naming, service interfaces, and namespace structure.
|
|
29
|
-
|
|
30
|
-
**Parameters:**
|
|
31
|
-
|
|
32
|
-
```typescript
|
|
33
|
-
{
|
|
34
|
-
path?: string; // Project path (default: auto-detect)
|
|
35
|
-
checks: Array<'tables' | 'migrations' | 'services' | 'namespaces' | 'all'>;
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
**Response:**
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
interface ValidationResult {
|
|
43
|
-
valid: boolean;
|
|
44
|
-
errors: ValidationIssue[];
|
|
45
|
-
warnings: ValidationIssue[];
|
|
46
|
-
summary: string;
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Used by:** `/validate`, `/validate:tables`, `/validate:migrations`, etc.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
### 2. check_migrations
|
|
55
|
-
|
|
56
|
-
**Description:** Analyze EF Core migrations for conflicts, ordering issues, and ModelSnapshot discrepancies between branches.
|
|
57
|
-
|
|
58
|
-
**Parameters:**
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
{
|
|
62
|
-
projectPath?: string; // EF Core project path
|
|
63
|
-
branch?: string; // Git branch to check (default: current)
|
|
64
|
-
compareBranch?: string; // Branch to compare against
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Response:**
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
interface MigrationCheckResult {
|
|
72
|
-
hasConflicts: boolean;
|
|
73
|
-
migrations: MigrationInfo[];
|
|
74
|
-
conflicts: MigrationConflict[];
|
|
75
|
-
suggestions: string[];
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
interface MigrationInfo {
|
|
79
|
-
name: string;
|
|
80
|
-
context: string; // core, extensions
|
|
81
|
-
version: string; // 1.0.0, 1.2.0
|
|
82
|
-
sequence: string; // 001, 002
|
|
83
|
-
description: string;
|
|
84
|
-
file: string;
|
|
85
|
-
applied: boolean;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
interface MigrationConflict {
|
|
89
|
-
type: 'order' | 'snapshot' | 'dependency' | 'naming';
|
|
90
|
-
description: string;
|
|
91
|
-
files: string[];
|
|
92
|
-
resolution: string;
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Used by:** `/efcore:conflicts`, `/efcore:scan`, `/efcore:db-status`
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
### 3. scaffold_extension
|
|
101
|
-
|
|
102
|
-
**Description:** Generate code to extend SmartStack: services, entities, controllers, or React components.
|
|
103
|
-
|
|
104
|
-
**Parameters:**
|
|
105
|
-
|
|
106
|
-
```typescript
|
|
107
|
-
{
|
|
108
|
-
type: 'service' | 'entity' | 'controller' | 'component';
|
|
109
|
-
name: string; // e.g., "UserProfile", "Order"
|
|
110
|
-
options?: {
|
|
111
|
-
namespace?: string;
|
|
112
|
-
baseEntity?: string;
|
|
113
|
-
methods?: string[];
|
|
114
|
-
outputPath?: string;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**Response:**
|
|
120
|
-
|
|
121
|
-
```typescript
|
|
122
|
-
interface ScaffoldResult {
|
|
123
|
-
success: boolean;
|
|
124
|
-
files: GeneratedFile[];
|
|
125
|
-
instructions: string[];
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
interface GeneratedFile {
|
|
129
|
-
path: string;
|
|
130
|
-
content: string;
|
|
131
|
-
type: 'created' | 'modified';
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Used by:** `/controller:create`, `/application:create`
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### 4. api_docs
|
|
140
|
-
|
|
141
|
-
**Description:** Get API documentation from Swagger/OpenAPI or by parsing controller files.
|
|
142
|
-
|
|
143
|
-
**Parameters:**
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
{
|
|
147
|
-
endpoint?: string; // Filter by path, e.g., "/api/users"
|
|
148
|
-
format?: 'markdown' | 'json' | 'openapi';
|
|
149
|
-
controller?: string; // Filter by controller name
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Used by:** Future `/docs:api` command
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Convention Alignment
|
|
158
|
-
|
|
159
|
-
### Migration Naming
|
|
160
|
-
|
|
161
|
-
Both CLI and MCP use the same format:
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
{context}_v{version}_{sequence}_{Description}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
| Component | Values | Example |
|
|
168
|
-
|-----------|--------|---------|
|
|
169
|
-
| context | `core`, `extensions` | `core` |
|
|
170
|
-
| version | Semver | `1.2.0` |
|
|
171
|
-
| sequence | 3-digit | `001` |
|
|
172
|
-
| Description | PascalCase | `AddUserRoles` |
|
|
173
|
-
|
|
174
|
-
**Full example:** `core_v1.2.0_001_AddUserRoles`
|
|
175
|
-
|
|
176
|
-
### Table Prefixes
|
|
177
|
-
|
|
178
|
-
Valid prefixes enforced by `validate_conventions`:
|
|
179
|
-
|
|
180
|
-
- `auth_` - Authentication
|
|
181
|
-
- `nav_` - Navigation
|
|
182
|
-
- `usr_` - User data
|
|
183
|
-
- `ai_` - AI features
|
|
184
|
-
- `cfg_` - Configuration
|
|
185
|
-
- `wkf_` - Workflow
|
|
186
|
-
- `support_` - Support
|
|
187
|
-
- `entra_` - Entra ID
|
|
188
|
-
- `ref_` - Reference data
|
|
189
|
-
- `loc_` - Localization
|
|
190
|
-
- `lic_` - Licensing
|
|
191
|
-
|
|
192
|
-
### Service Pattern
|
|
193
|
-
|
|
194
|
-
```
|
|
195
|
-
Interface: I{Name}Service
|
|
196
|
-
Implementation: {Name}Service
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Namespaces
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
SmartStack.Domain.*
|
|
203
|
-
SmartStack.Application.*
|
|
204
|
-
SmartStack.Infrastructure.*
|
|
205
|
-
SmartStack.Api.*
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
## Command to MCP Mapping
|
|
211
|
-
|
|
212
|
-
### /efcore:conflicts
|
|
213
|
-
|
|
214
|
-
```
|
|
215
|
-
1. Get current branch
|
|
216
|
-
2. CALL mcp__smartstack__check_migrations({
|
|
217
|
-
branch: currentBranch,
|
|
218
|
-
compareBranch: "develop"
|
|
219
|
-
})
|
|
220
|
-
3. Display conflicts from response
|
|
221
|
-
4. Exit 1 if hasConflicts is true
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### /efcore:scan
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
1. List all worktrees
|
|
228
|
-
2. FOR each branch:
|
|
229
|
-
CALL mcp__smartstack__check_migrations({
|
|
230
|
-
branch: branchName,
|
|
231
|
-
compareBranch: "develop"
|
|
232
|
-
})
|
|
233
|
-
3. Aggregate results
|
|
234
|
-
4. Calculate merge order by risk level
|
|
235
|
-
5. Display summary
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### /validate
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
1. CALL mcp__smartstack__validate_conventions({
|
|
242
|
-
checks: ["all"]
|
|
243
|
-
})
|
|
244
|
-
2. Display errors and warnings
|
|
245
|
-
3. Exit 1 if not valid
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### /controller:create
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
1. Parse arguments (area, module, entity)
|
|
252
|
-
2. CALL mcp__smartstack__scaffold_extension({
|
|
253
|
-
type: "controller",
|
|
254
|
-
name: moduleName,
|
|
255
|
-
options: { namespace: "SmartStack.Api.Controllers.{area}" }
|
|
256
|
-
})
|
|
257
|
-
3. Write generated files
|
|
258
|
-
4. Add permissions
|
|
259
|
-
5. Create migration if needed
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
## Benefits of MCP Integration
|
|
265
|
-
|
|
266
|
-
1. **Single Source of Truth**
|
|
267
|
-
- Convention rules defined once in MCP config
|
|
268
|
-
- No duplication between CLI and other tools
|
|
269
|
-
|
|
270
|
-
2. **Consistency**
|
|
271
|
-
- Same logic in CLI, CI/CD, IDE
|
|
272
|
-
- Identical results everywhere
|
|
273
|
-
|
|
274
|
-
3. **Structured Output**
|
|
275
|
-
- Typed responses instead of text parsing
|
|
276
|
-
- Easier automation and scripting
|
|
277
|
-
|
|
278
|
-
4. **Maintainability**
|
|
279
|
-
- Update logic in one place (MCP)
|
|
280
|
-
- All commands automatically benefit
|
|
281
|
-
|
|
282
|
-
5. **Extensibility**
|
|
283
|
-
- Add new checks/features in MCP
|
|
284
|
-
- Available to all consumers immediately
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## CI/CD Integration
|
|
289
|
-
|
|
290
|
-
```yaml
|
|
291
|
-
# GitHub Actions example
|
|
292
|
-
jobs:
|
|
293
|
-
validate:
|
|
294
|
-
runs-on: ubuntu-latest
|
|
295
|
-
steps:
|
|
296
|
-
- uses: actions/checkout@v4
|
|
297
|
-
|
|
298
|
-
- name: Validate conventions
|
|
299
|
-
run: |
|
|
300
|
-
OUTPUT=$(claude-code "/validate --json")
|
|
301
|
-
if [ "$(echo $OUTPUT | jq '.valid')" != "true" ]; then
|
|
302
|
-
echo "::error::Convention violations detected"
|
|
303
|
-
exit 1
|
|
304
|
-
fi
|
|
305
|
-
|
|
306
|
-
- name: Check migration conflicts
|
|
307
|
-
run: |
|
|
308
|
-
OUTPUT=$(claude-code "/efcore:conflicts --json")
|
|
309
|
-
if [ "$(echo $OUTPUT | jq '.hasConflicts')" = "true" ]; then
|
|
310
|
-
echo "::error::Migration conflicts detected"
|
|
311
|
-
exit 1
|
|
312
|
-
fi
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## Fallback Behavior
|
|
318
|
-
|
|
319
|
-
When MCP is unavailable, commands fall back to:
|
|
320
|
-
|
|
321
|
-
1. **Local bash scripts** for simple operations
|
|
322
|
-
2. **Manual template generation** for scaffolding
|
|
323
|
-
3. **Warning message** indicating degraded mode
|
|
324
|
-
|
|
325
|
-
To check MCP availability:
|
|
326
|
-
|
|
327
|
-
```bash
|
|
328
|
-
# MCP health check
|
|
329
|
-
claude-code --mcp-status smartstack
|
|
330
|
-
```
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# /notification - Integration Notifications SmartStack
|
|
2
|
-
|
|
3
|
-
> **Synergie Skill/Commande:**
|
|
4
|
-
> - **Skill** (`templates/skills/notification/`) → Invocation automatique par Claude
|
|
5
|
-
> - **Commande** (`/notification`) → Invocation manuelle par l'utilisateur
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## ARGUMENTS
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
/notification <action> [options]
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
| Action | Description |
|
|
16
|
-
|--------|-------------|
|
|
17
|
-
| `add` | Ajouter une notification dans un service existant |
|
|
18
|
-
| `type` | Creer un nouveau type de notification |
|
|
19
|
-
| `hook` | Creer le hook frontend avec SignalR |
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## WORKFLOW
|
|
24
|
-
|
|
25
|
-
### /notification add
|
|
26
|
-
|
|
27
|
-
Ajoute l'envoi de notification dans un service existant.
|
|
28
|
-
|
|
29
|
-
**Questions:**
|
|
30
|
-
1. Quel service modifier ? (liste des services)
|
|
31
|
-
2. Quelle methode ? (Create, Update, Delete, etc.)
|
|
32
|
-
3. Qui notifier ? (createur, assigne, role, liste)
|
|
33
|
-
4. Quel type de notification ? (existant ou nouveau)
|
|
34
|
-
|
|
35
|
-
**Actions:**
|
|
36
|
-
1. Injecter `INotificationService` si pas present
|
|
37
|
-
2. Ajouter l'appel `SendNotificationAsync` dans la methode
|
|
38
|
-
3. Logger l'envoi de notification
|
|
39
|
-
|
|
40
|
-
### /notification type
|
|
41
|
-
|
|
42
|
-
Cree un nouveau type de notification.
|
|
43
|
-
|
|
44
|
-
**Questions:**
|
|
45
|
-
1. Nom du type ? (ex: `ProductCreated`)
|
|
46
|
-
2. Categorie ? (Support, Admin, System, SLA)
|
|
47
|
-
3. Description ?
|
|
48
|
-
|
|
49
|
-
**Actions:**
|
|
50
|
-
1. Ajouter dans `NotificationType.cs`
|
|
51
|
-
2. Creer migration EF Core
|
|
52
|
-
|
|
53
|
-
### /notification hook
|
|
54
|
-
|
|
55
|
-
Cree le hook frontend pour recevoir les notifications en temps reel.
|
|
56
|
-
|
|
57
|
-
**Questions:**
|
|
58
|
-
1. Quel module ?
|
|
59
|
-
2. Quel type d'entite ?
|
|
60
|
-
|
|
61
|
-
**Actions:**
|
|
62
|
-
1. Creer `use{Module}Notifications.ts`
|
|
63
|
-
2. Integrer `useSignalR`
|
|
64
|
-
3. Configurer les callbacks
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## TEMPLATES
|
|
69
|
-
|
|
70
|
-
### Template SendNotification
|
|
71
|
-
|
|
72
|
-
```csharp
|
|
73
|
-
await _notificationService.SendNotificationAsync(
|
|
74
|
-
userId: $USER_ID,
|
|
75
|
-
type: NotificationType.$TYPE,
|
|
76
|
-
title: "$TITLE",
|
|
77
|
-
message: $"$MESSAGE",
|
|
78
|
-
relatedEntityType: "$ENTITY_TYPE",
|
|
79
|
-
relatedEntityId: $ENTITY_ID,
|
|
80
|
-
actionUrl: $"/$MODULE/$ENTITY_ID",
|
|
81
|
-
cancellationToken: ct);
|
|
82
|
-
|
|
83
|
-
_logger.LogInformation(
|
|
84
|
-
"Notification sent to {UserId}: {Type}",
|
|
85
|
-
$USER_ID, NotificationType.$TYPE);
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Template Hook
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
// hooks/use{Module}Notifications.ts
|
|
92
|
-
import { useSignalR } from '@/hooks/useSignalR';
|
|
93
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
94
|
-
import { toast } from 'sonner';
|
|
95
|
-
|
|
96
|
-
export function use{Module}Notifications() {
|
|
97
|
-
const queryClient = useQueryClient();
|
|
98
|
-
|
|
99
|
-
useSignalR({
|
|
100
|
-
onNotification: (notification) => {
|
|
101
|
-
if (notification.relatedEntityType === '{Entity}') {
|
|
102
|
-
queryClient.invalidateQueries(['{module}']);
|
|
103
|
-
toast.info(notification.title, {
|
|
104
|
-
description: notification.message,
|
|
105
|
-
action: notification.actionUrl ? {
|
|
106
|
-
label: 'Voir',
|
|
107
|
-
onClick: () => window.location.href = notification.actionUrl,
|
|
108
|
-
} : undefined,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## FICHIERS CLES
|
|
119
|
-
|
|
120
|
-
| Fichier | Role |
|
|
121
|
-
|---------|------|
|
|
122
|
-
| `Domain/Support/Enums/NotificationType.cs` | Types de notification |
|
|
123
|
-
| `Application/Common/Interfaces/INotificationService.cs` | Interface |
|
|
124
|
-
| `Infrastructure/Services/Support/NotificationService.cs` | Implementation |
|
|
125
|
-
| `web/src/hooks/useSignalR.ts` | Hook SignalR |
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
User: $ARGUMENTS
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Ultra-fast feature implementation - Explore then Code then Test
|
|
3
|
-
argument-hint: <feature-description>
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a rapid implementation specialist. Implement features at maximum speed using the OneShot methodology.
|
|
7
|
-
|
|
8
|
-
**You need to always ULTRA THINK.**
|
|
9
|
-
|
|
10
|
-
## Workflow
|
|
11
|
-
|
|
12
|
-
1. **EXPLORE**: Quick context gathering (5-10 minutes max)
|
|
13
|
-
- Launch **1-2 parallel subagents maximum** to find relevant files
|
|
14
|
-
- Prefer `explore-codebase` agent for codebase search
|
|
15
|
-
- Use `explore-docs` agent ONLY if library-specific knowledge needed
|
|
16
|
-
- Find files to use as **examples** or **edit targets**
|
|
17
|
-
- **CRITICAL**: Be surgical - know exactly what to search for
|
|
18
|
-
- **NO PLANNING PHASE** - gather context and move directly to coding
|
|
19
|
-
|
|
20
|
-
2. **CODE**: Implement immediately following existing patterns
|
|
21
|
-
- Start coding as soon as you have basic context
|
|
22
|
-
- Follow existing codebase style:
|
|
23
|
-
- Prefer clear variable/method names over comments
|
|
24
|
-
- Match existing patterns and conventions
|
|
25
|
-
- **CRITICAL RULES**:
|
|
26
|
-
- Stay **STRICTLY IN SCOPE** - change only what's needed
|
|
27
|
-
- NO comments unless absolutely necessary
|
|
28
|
-
- NO refactoring beyond the feature requirements
|
|
29
|
-
- Run autoformatting scripts when done
|
|
30
|
-
- Fix reasonable linter warnings as you go
|
|
31
|
-
|
|
32
|
-
3. **TEST**: Validate with ESLint and TypeScript
|
|
33
|
-
- **First check package.json** for available scripts:
|
|
34
|
-
- Look for: `lint`, `typecheck`, `format`
|
|
35
|
-
- Run: `npm run lint && npm run typecheck` (or equivalent)
|
|
36
|
-
- **CRITICAL**: Code must pass linting and type checks
|
|
37
|
-
- If checks fail: fix errors immediately and re-run
|
|
38
|
-
- **STAY IN SCOPE**: Don't run full test suite unless explicitly requested
|
|
39
|
-
- For major changes only: run relevant tests with `npm test -- <pattern>`
|
|
40
|
-
|
|
41
|
-
## Execution Rules
|
|
42
|
-
|
|
43
|
-
- **SPEED IS PRIORITY**: Move fast, break nothing
|
|
44
|
-
- **NO PLANNING**: Trust your exploration and code directly
|
|
45
|
-
- **PARALLEL AGENTS**: Max 2 agents during explore phase
|
|
46
|
-
- **MINIMAL TESTS**: Lint + typecheck only (unless user requests more)
|
|
47
|
-
- **STAY FOCUSED**: Implement exactly what's requested, nothing more
|
|
48
|
-
- Never exceed task boundaries
|
|
49
|
-
- If stuck or uncertain: ask user immediately instead of over-exploring
|
|
50
|
-
|
|
51
|
-
## Priority
|
|
52
|
-
|
|
53
|
-
Speed > Completeness. Ship fast, iterate later.
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
User: $ARGUMENTS
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Quick start guide for SmartStack CLI"
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# SmartStack Quick Start Guide
|
|
6
|
-
|
|
7
|
-
## Installation (3 steps)
|
|
8
|
-
|
|
9
|
-
### Step 1: Install SmartStack CLI
|
|
10
|
-
```bash
|
|
11
|
-
npm install -g @atlashub/smartstack-cli
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
### Step 2: Activate License
|
|
15
|
-
```bash
|
|
16
|
-
smartstack license activate <your-license-key>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
### Step 3: Install Templates
|
|
20
|
-
```bash
|
|
21
|
-
smartstack install
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Verify Setup
|
|
25
|
-
|
|
26
|
-
Run the doctor command to verify everything is configured:
|
|
27
|
-
```bash
|
|
28
|
-
smartstack doctor
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Expected output:
|
|
32
|
-
```
|
|
33
|
-
✓ License valid
|
|
34
|
-
✓ Node.js v20.x.x
|
|
35
|
-
✓ Claude Code CLI installed
|
|
36
|
-
✓ MCP: context7 available
|
|
37
|
-
✓ MCP: smartstack available
|
|
38
|
-
✓ SmartStack Commands installed
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## MCP Servers
|
|
42
|
-
|
|
43
|
-
SmartStack requires two MCP servers for full functionality:
|
|
44
|
-
|
|
45
|
-
### Check MCP Status
|
|
46
|
-
```bash
|
|
47
|
-
smartstack check-mcp
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Install Missing MCPs
|
|
51
|
-
```bash
|
|
52
|
-
smartstack check-mcp --install
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Or manually:
|
|
56
|
-
```bash
|
|
57
|
-
claude mcp add context7
|
|
58
|
-
claude mcp add smartstack
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Create Your First Project
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
# Create a new SmartStack project
|
|
65
|
-
smartstack init MyProject
|
|
66
|
-
|
|
67
|
-
# Navigate to the project
|
|
68
|
-
cd MyProject
|
|
69
|
-
|
|
70
|
-
# Start backend
|
|
71
|
-
dotnet run --project src/MyProject.Api
|
|
72
|
-
|
|
73
|
-
# Start frontend (in another terminal)
|
|
74
|
-
cd web/myproject-web
|
|
75
|
-
npm install
|
|
76
|
-
npm run dev
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Ralph Automation
|
|
80
|
-
|
|
81
|
-
Ralph Weegund is an AI-powered iterative development loop.
|
|
82
|
-
|
|
83
|
-
### Setup Ralph
|
|
84
|
-
```bash
|
|
85
|
-
# Verify Ralph prerequisites
|
|
86
|
-
smartstack ralph start
|
|
87
|
-
|
|
88
|
-
# Initialize Ralph in your project (if not done by init)
|
|
89
|
-
smartstack ralph init
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Use Ralph in Claude Code
|
|
93
|
-
```
|
|
94
|
-
/ralph-loop "Implement user authentication with JWT"
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Monitor Ralph
|
|
98
|
-
```bash
|
|
99
|
-
# Check status
|
|
100
|
-
smartstack ralph status
|
|
101
|
-
|
|
102
|
-
# View logs
|
|
103
|
-
smartstack ralph logs
|
|
104
|
-
|
|
105
|
-
# View reports
|
|
106
|
-
smartstack ralph report --list
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Common Commands
|
|
110
|
-
|
|
111
|
-
| Command | Description |
|
|
112
|
-
|---------|-------------|
|
|
113
|
-
| `smartstack doctor` | Full system diagnostic |
|
|
114
|
-
| `smartstack check-mcp` | Verify MCP servers |
|
|
115
|
-
| `smartstack status` | Show installation status |
|
|
116
|
-
| `smartstack ralph start` | Prepare Ralph for use |
|
|
117
|
-
| `/gitflow` | GitFlow workflow |
|
|
118
|
-
| `/apex` | APEX methodology |
|
|
119
|
-
| `/ralph-loop` | Start automation loop |
|
|
120
|
-
|
|
121
|
-
## Troubleshooting
|
|
122
|
-
|
|
123
|
-
### "License required" error
|
|
124
|
-
```bash
|
|
125
|
-
smartstack license activate <key>
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### "MCP server not found"
|
|
129
|
-
```bash
|
|
130
|
-
smartstack check-mcp --install
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### "Ralph not configured"
|
|
134
|
-
```bash
|
|
135
|
-
smartstack ralph init
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Full diagnostic
|
|
139
|
-
```bash
|
|
140
|
-
smartstack doctor --verbose
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Next Steps
|
|
144
|
-
|
|
145
|
-
1. **Explore Commands**: `smartstack docs commands`
|
|
146
|
-
2. **Learn GitFlow**: `smartstack docs gitflow`
|
|
147
|
-
3. **Try APEX**: `/apex "Build a feature"`
|
|
148
|
-
4. **Use Ralph**: `/ralph-loop "Your task"`
|
|
149
|
-
|
|
150
|
-
## Resources
|
|
151
|
-
|
|
152
|
-
- Documentation: https://docs.smartstack.app
|
|
153
|
-
- Support: https://github.com/atlashub/smartstack-cli/issues
|
|
154
|
-
- Website: https://smartstack.app
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Cancel active Ralph Loop"
|
|
3
|
-
allowed-tools: ["Bash(test -f .claude/ralph-loop.local.md:*)", "Bash(rm .claude/ralph-loop.local.md)", "Read(.claude/ralph-loop.local.md)"]
|
|
4
|
-
hide-from-slash-command-tool: "true"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Cancel Ralph
|
|
8
|
-
|
|
9
|
-
To cancel the Ralph loop:
|
|
10
|
-
|
|
11
|
-
1. Check if `.claude/ralph-loop.local.md` exists using Bash: `test -f .claude/ralph-loop.local.md && echo "EXISTS" || echo "NOT_FOUND"`
|
|
12
|
-
|
|
13
|
-
2. **If NOT_FOUND**: Say "No active Ralph loop found."
|
|
14
|
-
|
|
15
|
-
3. **If EXISTS**:
|
|
16
|
-
- Read `.claude/ralph-loop.local.md` to get the current iteration number from the `iteration:` field
|
|
17
|
-
- Remove the file using Bash: `rm .claude/ralph-loop.local.md`
|
|
18
|
-
- Report: "Cancelled Ralph loop (was at iteration N)" where N is the iteration value
|