@atlashub/smartstack-cli 1.4.1 → 1.5.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 +5 -1
- package/.documentation/apex.html +5 -1
- package/.documentation/business-analyse.html +5 -1
- package/.documentation/commands.html +5 -1
- package/.documentation/css/styles.css +2168 -2168
- package/.documentation/efcore.html +5 -1
- package/.documentation/gitflow.html +5 -1
- package/.documentation/hooks.html +5 -1
- package/.documentation/index.html +5 -1
- package/.documentation/init.html +565 -0
- package/.documentation/installation.html +92 -6
- package/.documentation/js/app.js +794 -794
- package/.documentation/ralph-loop.html +534 -530
- package/.documentation/test-web.html +5 -1
- package/dist/index.js +817 -277
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/efcore/conflicts.md +44 -17
- package/templates/agents/efcore/db-status.md +27 -6
- package/templates/agents/efcore/scan.md +43 -13
- package/templates/commands/ai-prompt.md +315 -315
- package/templates/commands/application/create.md +362 -362
- package/templates/commands/controller/create.md +216 -216
- package/templates/commands/controller.md +59 -0
- package/templates/commands/documentation/module.md +202 -202
- package/templates/commands/efcore/_env-check.md +153 -153
- package/templates/commands/efcore/conflicts.md +109 -192
- package/templates/commands/efcore/db-status.md +101 -89
- package/templates/commands/efcore/migration.md +23 -11
- package/templates/commands/efcore/scan.md +115 -119
- package/templates/commands/efcore.md +54 -6
- package/templates/commands/feature-full.md +267 -267
- package/templates/commands/gitflow/11-finish.md +145 -11
- 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 +120 -10
- package/templates/commands/gitflow/3-commit.md +150 -0
- package/templates/commands/gitflow/7-pull-request.md +134 -5
- package/templates/commands/gitflow/9-merge.md +142 -1
- package/templates/commands/implement.md +663 -663
- package/templates/commands/init.md +567 -0
- package/templates/commands/mcp-integration.md +330 -0
- package/templates/commands/notification.md +129 -129
- package/templates/commands/validate.md +233 -0
- package/templates/commands/workflow.md +193 -193
- 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/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
|
@@ -6,6 +6,8 @@ description: EF Core Commands - Migration and database management
|
|
|
6
6
|
|
|
7
7
|
Set of commands to manage Entity Framework Core: migrations, database, and seeding.
|
|
8
8
|
|
|
9
|
+
> **MCP INTEGRATION:** Commands use `mcp__smartstack__check_migrations` for conflict analysis and validation.
|
|
10
|
+
|
|
9
11
|
## Available Commands
|
|
10
12
|
|
|
11
13
|
### Migrations
|
|
@@ -37,13 +39,15 @@ The `/efcore:migration` command handles this automatically.
|
|
|
37
39
|
|
|
38
40
|
## Migration Naming
|
|
39
41
|
|
|
40
|
-
Pattern: `{
|
|
42
|
+
Pattern: `{context}_v{version}_{sequence}_{Description}` (aligned with SmartStack MCP)
|
|
43
|
+
|
|
44
|
+
| Context | Version | Sequence | Description | Generated Name |
|
|
45
|
+
|---------|---------|----------|-------------|----------------|
|
|
46
|
+
| core | 1.2.0 | 001 | AddUserRoles | `core_v1.2.0_001_AddUserRoles` |
|
|
47
|
+
| core | 1.2.0 | 002 | AddPermissions | `core_v1.2.0_002_AddPermissions` |
|
|
48
|
+
| extensions | 1.3.0 | 001 | AddCustomFields | `extensions_v1.3.0_001_AddCustomFields` |
|
|
41
49
|
|
|
42
|
-
|
|
43
|
-
|--------|---------|-------------|----------------|
|
|
44
|
-
| feature/user-auth | 1.2.0 | AddRolesTable | `Feature_1_2_0_UserAuth_AddRolesTable` |
|
|
45
|
-
| hotfix/login-fix | 1.2.1 | FixNullEmail | `Hotfix_1_2_1_LoginFix_FixNullEmail` |
|
|
46
|
-
| release/v1.3.0 | 1.3.0 | Initial | `Release_1_3_0_Initial` |
|
|
50
|
+
> **Note:** Context is `core` for SmartStack platform tables, `extensions` for client-specific extensions.
|
|
47
51
|
|
|
48
52
|
## Typical Workflow
|
|
49
53
|
|
|
@@ -174,3 +178,47 @@ The file is automatically created by `/gitflow:10-start` and added to `.gitignor
|
|
|
174
178
|
- .NET SDK installed
|
|
175
179
|
- EF Core Tools: `dotnet tool install --global dotnet-ef`
|
|
176
180
|
- SQL Server (or other configured provider)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## MCP Integration
|
|
185
|
+
|
|
186
|
+
The following commands use **SmartStack MCP** for enhanced functionality:
|
|
187
|
+
|
|
188
|
+
| Command | MCP Tool | Purpose |
|
|
189
|
+
|---------|----------|---------|
|
|
190
|
+
| `/efcore:db-status` | `check_migrations` | Get structured migration list |
|
|
191
|
+
| `/efcore:conflicts` | `check_migrations` | Analyze branch conflicts |
|
|
192
|
+
| `/efcore:scan` | `check_migrations` | Multi-branch analysis |
|
|
193
|
+
|
|
194
|
+
### MCP Tool Reference
|
|
195
|
+
|
|
196
|
+
**Tool:** `mcp__smartstack__check_migrations`
|
|
197
|
+
|
|
198
|
+
**Description:** Analyze EF Core migrations for conflicts, ordering issues, and ModelSnapshot discrepancies between branches.
|
|
199
|
+
|
|
200
|
+
**Parameters:**
|
|
201
|
+
|
|
202
|
+
| Parameter | Type | Description |
|
|
203
|
+
|-----------|------|-------------|
|
|
204
|
+
| `projectPath` | string | EF Core project path (default: auto-detect) |
|
|
205
|
+
| `branch` | string | Git branch to check (default: current) |
|
|
206
|
+
| `compareBranch` | string | Branch to compare against |
|
|
207
|
+
|
|
208
|
+
**Response:** `MigrationCheckResult`
|
|
209
|
+
|
|
210
|
+
```typescript
|
|
211
|
+
interface MigrationCheckResult {
|
|
212
|
+
hasConflicts: boolean;
|
|
213
|
+
migrations: MigrationInfo[];
|
|
214
|
+
conflicts: MigrationConflict[];
|
|
215
|
+
suggestions: string[];
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Benefits of MCP Integration
|
|
220
|
+
|
|
221
|
+
1. **Consistency:** Same analysis logic in CLI, CI/CD, and IDE
|
|
222
|
+
2. **Structured Data:** Typed responses instead of text parsing
|
|
223
|
+
3. **Single Source of Truth:** Convention rules in MCP config
|
|
224
|
+
4. **Extensibility:** New checks benefit all commands
|
|
@@ -1,267 +1,267 @@
|
|
|
1
|
-
# /feature-full - Creation Feature Complete OneShot
|
|
2
|
-
|
|
3
|
-
> **Synergie Skill/Commande:**
|
|
4
|
-
> - **Skill** (`templates/skills/feature-full/`) → Invocation automatique par Claude
|
|
5
|
-
> - **Commande** (`/feature-full`) → Invocation manuelle par l'utilisateur
|
|
6
|
-
>
|
|
7
|
-
> Ce skill orchestre tous les autres skills pour une experience de developpement optimale.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## ARGUMENTS
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/feature-full <entity> [options]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
| Option | Description |
|
|
18
|
-
|--------|-------------|
|
|
19
|
-
| `--area` | Zone de navigation (platform, business, personal) |
|
|
20
|
-
| `--module` | Module parent |
|
|
21
|
-
| `--notifications` | Activer les notifications (defaut: oui) |
|
|
22
|
-
| `--workflows` | Activer les workflows/emails (defaut: non) |
|
|
23
|
-
| `--ai` | Activer l'assistance IA (defaut: non) |
|
|
24
|
-
| `--crud` | Operations CRUD (defaut: all) |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## WORKFLOW ONESHOT
|
|
29
|
-
|
|
30
|
-
### PHASE 1: ANALYSE (2 min)
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
AskUserQuestion: {
|
|
34
|
-
questions: [
|
|
35
|
-
{
|
|
36
|
-
header: "Entity",
|
|
37
|
-
question: "Quel est le nom de l'entite principale ?",
|
|
38
|
-
options: [
|
|
39
|
-
{ label: "Saisie libre", description: "Ex: Product, Order, Customer" }
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
header: "Area",
|
|
44
|
-
question: "Dans quelle zone de navigation ?",
|
|
45
|
-
options: [
|
|
46
|
-
{ label: "platform", description: "Administration systeme" },
|
|
47
|
-
{ label: "business", description: "Fonctionnalites metier" },
|
|
48
|
-
{ label: "personal", description: "Espace personnel" }
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
header: "Integrations",
|
|
53
|
-
question: "Quelles integrations activer ?",
|
|
54
|
-
multiSelect: true,
|
|
55
|
-
options: [
|
|
56
|
-
{ label: "Notifications", description: "In-app + SignalR (Recommended)" },
|
|
57
|
-
{ label: "Workflows", description: "Emails automatiques" },
|
|
58
|
-
{ label: "AI", description: "Assistance IA" }
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### PHASE 2: GENERATION (30 min)
|
|
66
|
-
|
|
67
|
-
Execute automatiquement dans l'ordre :
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
1. DOMAIN LAYER
|
|
71
|
-
→ Entity + Enums + Factory Methods
|
|
72
|
-
→ /application templates-backend
|
|
73
|
-
|
|
74
|
-
2. APPLICATION LAYER
|
|
75
|
-
→ Interface + DTOs + Permissions
|
|
76
|
-
→ /application templates-backend
|
|
77
|
-
|
|
78
|
-
3. INFRASTRUCTURE LAYER
|
|
79
|
-
→ EF Core Configuration + Service
|
|
80
|
-
→ /application templates-backend
|
|
81
|
-
→ /efcore:migration
|
|
82
|
-
|
|
83
|
-
4. API LAYER
|
|
84
|
-
→ Controller + Authorize + Swagger
|
|
85
|
-
→ /controller:create
|
|
86
|
-
|
|
87
|
-
5. WEB LAYER
|
|
88
|
-
→ Pages + Hooks + i18n + Routes
|
|
89
|
-
→ /application templates-frontend
|
|
90
|
-
→ /ui-components
|
|
91
|
-
|
|
92
|
-
6. NOTIFICATIONS (si active)
|
|
93
|
-
→ NotificationType + Service injection
|
|
94
|
-
→ /notification add
|
|
95
|
-
|
|
96
|
-
7. WORKFLOWS (si active)
|
|
97
|
-
→ Trigger + Workflow + Template
|
|
98
|
-
→ /workflow create
|
|
99
|
-
|
|
100
|
-
8. AI (si active)
|
|
101
|
-
→ Prompt + Schema + Service
|
|
102
|
-
→ /ai-prompt create
|
|
103
|
-
|
|
104
|
-
9. VALIDATION
|
|
105
|
-
→ dotnet build
|
|
106
|
-
→ npm run build
|
|
107
|
-
→ npm run lint
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### PHASE 3: RESUME (1 min)
|
|
111
|
-
|
|
112
|
-
Affiche le resume de tout ce qui a ete cree.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## EXEMPLE COMPLET
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
/feature-full Product --area business --notifications --workflows --ai
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
**Genere automatiquement :**
|
|
123
|
-
|
|
124
|
-
| Layer | Fichiers |
|
|
125
|
-
|-------|----------|
|
|
126
|
-
| Domain | `Product.cs`, `ProductStatus.cs` |
|
|
127
|
-
| Application | `IProductService.cs`, `ProductDto.cs`, `Permissions.cs` |
|
|
128
|
-
| Infrastructure | `ProductConfiguration.cs`, `ProductService.cs`, `PermissionConfiguration.cs` |
|
|
129
|
-
| API | `ProductsController.cs` |
|
|
130
|
-
| Web | `ProductsPage.tsx`, `useProducts.ts`, `productsApi.ts`, i18n (4 langues) |
|
|
131
|
-
| Notifications | `NotificationType.ProductCreated`, SignalR integration |
|
|
132
|
-
| Workflows | `product.created` trigger, email template |
|
|
133
|
-
| AI | `product-analyzer` prompt, `ProductAnalysisResult` |
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## TEMPLATES ORCHESTRATION
|
|
138
|
-
|
|
139
|
-
### Template Execution Order
|
|
140
|
-
|
|
141
|
-
```typescript
|
|
142
|
-
// 1. Domain
|
|
143
|
-
await generateDomainLayer(entity, config);
|
|
144
|
-
|
|
145
|
-
// 2. Application
|
|
146
|
-
await generateApplicationLayer(entity, config);
|
|
147
|
-
|
|
148
|
-
// 3. Infrastructure
|
|
149
|
-
await generateInfrastructureLayer(entity, config);
|
|
150
|
-
await runCommand('/efcore:migration', `Add${entity}`);
|
|
151
|
-
|
|
152
|
-
// 4. API
|
|
153
|
-
await runCommand('/controller:create', entity);
|
|
154
|
-
|
|
155
|
-
// 5. Web
|
|
156
|
-
await generateWebLayer(entity, config);
|
|
157
|
-
|
|
158
|
-
// 6. Integrations
|
|
159
|
-
if (config.notifications) {
|
|
160
|
-
await runCommand('/notification', `add ${entity}`);
|
|
161
|
-
}
|
|
162
|
-
if (config.workflows) {
|
|
163
|
-
await runCommand('/workflow', `create ${entity}.created`);
|
|
164
|
-
}
|
|
165
|
-
if (config.ai) {
|
|
166
|
-
await runCommand('/ai-prompt', `create ${entity}-analyzer`);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// 7. Validation
|
|
170
|
-
await runCommand('dotnet', 'build');
|
|
171
|
-
await runCommand('npm', 'run build');
|
|
172
|
-
await runCommand('npm', 'run lint');
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## CHECKLIST AUTOMATIQUE
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
DOMAIN LAYER
|
|
181
|
-
✓ Entity {Entity}.cs avec Factory Method
|
|
182
|
-
✓ Enum {Entity}Status.cs
|
|
183
|
-
✓ IAuditableEntity implemente
|
|
184
|
-
|
|
185
|
-
APPLICATION LAYER
|
|
186
|
-
✓ Interface I{Entity}Service.cs
|
|
187
|
-
✓ DTOs: {Entity}Dto, Create/Update Requests
|
|
188
|
-
✓ Permissions dans Permissions.cs
|
|
189
|
-
✓ Permissions dans PermissionConfiguration.cs
|
|
190
|
-
|
|
191
|
-
INFRASTRUCTURE LAYER
|
|
192
|
-
✓ {Entity}Configuration.cs (EF Core)
|
|
193
|
-
✓ {Entity}Service.cs implementation
|
|
194
|
-
✓ DbSet<{Entity}> dans ApplicationDbContext
|
|
195
|
-
✓ DI registration
|
|
196
|
-
✓ Migration EF Core
|
|
197
|
-
|
|
198
|
-
API LAYER
|
|
199
|
-
✓ {Entity}Controller.cs
|
|
200
|
-
✓ [Authorize] + [RequirePermission]
|
|
201
|
-
✓ [ProducesResponseType]
|
|
202
|
-
✓ Logging
|
|
203
|
-
|
|
204
|
-
WEB LAYER
|
|
205
|
-
✓ {module}Api.ts
|
|
206
|
-
✓ use{Module}.ts (avec SignalR si notifications)
|
|
207
|
-
✓ {Module}Page.tsx
|
|
208
|
-
✓ {Module}Form.tsx
|
|
209
|
-
✓ {Module}DetailPage.tsx
|
|
210
|
-
✓ i18n: fr, en, it, de
|
|
211
|
-
✓ Routes dans App.tsx
|
|
212
|
-
|
|
213
|
-
NOTIFICATIONS (si active)
|
|
214
|
-
✓ NotificationType ajoute
|
|
215
|
-
✓ SendNotificationAsync dans service
|
|
216
|
-
✓ useSignalR dans hook
|
|
217
|
-
|
|
218
|
-
WORKFLOWS (si active)
|
|
219
|
-
✓ Trigger cree
|
|
220
|
-
✓ Workflow cree
|
|
221
|
-
✓ Email template
|
|
222
|
-
✓ TriggerAsync dans service
|
|
223
|
-
|
|
224
|
-
AI (si active)
|
|
225
|
-
✓ Prompt cree
|
|
226
|
-
✓ OutputSchema
|
|
227
|
-
✓ DTO Result
|
|
228
|
-
✓ ExecutePromptAsync dans service
|
|
229
|
-
✓ Bouton IA frontend
|
|
230
|
-
|
|
231
|
-
VALIDATION
|
|
232
|
-
✓ dotnet build OK
|
|
233
|
-
✓ npm run build OK
|
|
234
|
-
✓ npm run lint OK
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## REGLES ABSOLUES
|
|
240
|
-
|
|
241
|
-
1. **TOUJOURS** suivre l'ordre des phases
|
|
242
|
-
2. **TOUJOURS** valider chaque phase avant la suivante
|
|
243
|
-
3. **TOUJOURS** utiliser les skills specialises
|
|
244
|
-
4. **TOUJOURS** respecter l'architecture en couches
|
|
245
|
-
5. **TOUJOURS** creer les 4 langues i18n
|
|
246
|
-
6. **TOUJOURS** ajouter les permissions dans les 2 fichiers
|
|
247
|
-
7. **JAMAIS** sauter une phase
|
|
248
|
-
8. **JAMAIS** generer du code sans validation
|
|
249
|
-
9. **JAMAIS** oublier les integrations demandees
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## SKILLS ORCHESTRES
|
|
254
|
-
|
|
255
|
-
| Skill | Phase | Action |
|
|
256
|
-
|-------|-------|--------|
|
|
257
|
-
| `/application` | 1-5 | Generation full-stack |
|
|
258
|
-
| `/controller` | 4 | Controller API |
|
|
259
|
-
| `/ui-components` | 5 | Composants UI |
|
|
260
|
-
| `/notification` | 6 | Notifications |
|
|
261
|
-
| `/workflow` | 7 | Workflows/Emails |
|
|
262
|
-
| `/ai-prompt` | 8 | IA |
|
|
263
|
-
| `/efcore:migration` | 3 | Migration DB |
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
User: $ARGUMENTS
|
|
1
|
+
# /feature-full - Creation Feature Complete OneShot
|
|
2
|
+
|
|
3
|
+
> **Synergie Skill/Commande:**
|
|
4
|
+
> - **Skill** (`templates/skills/feature-full/`) → Invocation automatique par Claude
|
|
5
|
+
> - **Commande** (`/feature-full`) → Invocation manuelle par l'utilisateur
|
|
6
|
+
>
|
|
7
|
+
> Ce skill orchestre tous les autres skills pour une experience de developpement optimale.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## ARGUMENTS
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/feature-full <entity> [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Option | Description |
|
|
18
|
+
|--------|-------------|
|
|
19
|
+
| `--area` | Zone de navigation (platform, business, personal) |
|
|
20
|
+
| `--module` | Module parent |
|
|
21
|
+
| `--notifications` | Activer les notifications (defaut: oui) |
|
|
22
|
+
| `--workflows` | Activer les workflows/emails (defaut: non) |
|
|
23
|
+
| `--ai` | Activer l'assistance IA (defaut: non) |
|
|
24
|
+
| `--crud` | Operations CRUD (defaut: all) |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## WORKFLOW ONESHOT
|
|
29
|
+
|
|
30
|
+
### PHASE 1: ANALYSE (2 min)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
AskUserQuestion: {
|
|
34
|
+
questions: [
|
|
35
|
+
{
|
|
36
|
+
header: "Entity",
|
|
37
|
+
question: "Quel est le nom de l'entite principale ?",
|
|
38
|
+
options: [
|
|
39
|
+
{ label: "Saisie libre", description: "Ex: Product, Order, Customer" }
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
header: "Area",
|
|
44
|
+
question: "Dans quelle zone de navigation ?",
|
|
45
|
+
options: [
|
|
46
|
+
{ label: "platform", description: "Administration systeme" },
|
|
47
|
+
{ label: "business", description: "Fonctionnalites metier" },
|
|
48
|
+
{ label: "personal", description: "Espace personnel" }
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
header: "Integrations",
|
|
53
|
+
question: "Quelles integrations activer ?",
|
|
54
|
+
multiSelect: true,
|
|
55
|
+
options: [
|
|
56
|
+
{ label: "Notifications", description: "In-app + SignalR (Recommended)" },
|
|
57
|
+
{ label: "Workflows", description: "Emails automatiques" },
|
|
58
|
+
{ label: "AI", description: "Assistance IA" }
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### PHASE 2: GENERATION (30 min)
|
|
66
|
+
|
|
67
|
+
Execute automatiquement dans l'ordre :
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
1. DOMAIN LAYER
|
|
71
|
+
→ Entity + Enums + Factory Methods
|
|
72
|
+
→ /application templates-backend
|
|
73
|
+
|
|
74
|
+
2. APPLICATION LAYER
|
|
75
|
+
→ Interface + DTOs + Permissions
|
|
76
|
+
→ /application templates-backend
|
|
77
|
+
|
|
78
|
+
3. INFRASTRUCTURE LAYER
|
|
79
|
+
→ EF Core Configuration + Service
|
|
80
|
+
→ /application templates-backend
|
|
81
|
+
→ /efcore:migration
|
|
82
|
+
|
|
83
|
+
4. API LAYER
|
|
84
|
+
→ Controller + Authorize + Swagger
|
|
85
|
+
→ /controller:create
|
|
86
|
+
|
|
87
|
+
5. WEB LAYER
|
|
88
|
+
→ Pages + Hooks + i18n + Routes
|
|
89
|
+
→ /application templates-frontend
|
|
90
|
+
→ /ui-components
|
|
91
|
+
|
|
92
|
+
6. NOTIFICATIONS (si active)
|
|
93
|
+
→ NotificationType + Service injection
|
|
94
|
+
→ /notification add
|
|
95
|
+
|
|
96
|
+
7. WORKFLOWS (si active)
|
|
97
|
+
→ Trigger + Workflow + Template
|
|
98
|
+
→ /workflow create
|
|
99
|
+
|
|
100
|
+
8. AI (si active)
|
|
101
|
+
→ Prompt + Schema + Service
|
|
102
|
+
→ /ai-prompt create
|
|
103
|
+
|
|
104
|
+
9. VALIDATION
|
|
105
|
+
→ dotnet build
|
|
106
|
+
→ npm run build
|
|
107
|
+
→ npm run lint
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### PHASE 3: RESUME (1 min)
|
|
111
|
+
|
|
112
|
+
Affiche le resume de tout ce qui a ete cree.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## EXEMPLE COMPLET
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
/feature-full Product --area business --notifications --workflows --ai
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Genere automatiquement :**
|
|
123
|
+
|
|
124
|
+
| Layer | Fichiers |
|
|
125
|
+
|-------|----------|
|
|
126
|
+
| Domain | `Product.cs`, `ProductStatus.cs` |
|
|
127
|
+
| Application | `IProductService.cs`, `ProductDto.cs`, `Permissions.cs` |
|
|
128
|
+
| Infrastructure | `ProductConfiguration.cs`, `ProductService.cs`, `PermissionConfiguration.cs` |
|
|
129
|
+
| API | `ProductsController.cs` |
|
|
130
|
+
| Web | `ProductsPage.tsx`, `useProducts.ts`, `productsApi.ts`, i18n (4 langues) |
|
|
131
|
+
| Notifications | `NotificationType.ProductCreated`, SignalR integration |
|
|
132
|
+
| Workflows | `product.created` trigger, email template |
|
|
133
|
+
| AI | `product-analyzer` prompt, `ProductAnalysisResult` |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## TEMPLATES ORCHESTRATION
|
|
138
|
+
|
|
139
|
+
### Template Execution Order
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
// 1. Domain
|
|
143
|
+
await generateDomainLayer(entity, config);
|
|
144
|
+
|
|
145
|
+
// 2. Application
|
|
146
|
+
await generateApplicationLayer(entity, config);
|
|
147
|
+
|
|
148
|
+
// 3. Infrastructure
|
|
149
|
+
await generateInfrastructureLayer(entity, config);
|
|
150
|
+
await runCommand('/efcore:migration', `Add${entity}`);
|
|
151
|
+
|
|
152
|
+
// 4. API
|
|
153
|
+
await runCommand('/controller:create', entity);
|
|
154
|
+
|
|
155
|
+
// 5. Web
|
|
156
|
+
await generateWebLayer(entity, config);
|
|
157
|
+
|
|
158
|
+
// 6. Integrations
|
|
159
|
+
if (config.notifications) {
|
|
160
|
+
await runCommand('/notification', `add ${entity}`);
|
|
161
|
+
}
|
|
162
|
+
if (config.workflows) {
|
|
163
|
+
await runCommand('/workflow', `create ${entity}.created`);
|
|
164
|
+
}
|
|
165
|
+
if (config.ai) {
|
|
166
|
+
await runCommand('/ai-prompt', `create ${entity}-analyzer`);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// 7. Validation
|
|
170
|
+
await runCommand('dotnet', 'build');
|
|
171
|
+
await runCommand('npm', 'run build');
|
|
172
|
+
await runCommand('npm', 'run lint');
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## CHECKLIST AUTOMATIQUE
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
DOMAIN LAYER
|
|
181
|
+
✓ Entity {Entity}.cs avec Factory Method
|
|
182
|
+
✓ Enum {Entity}Status.cs
|
|
183
|
+
✓ IAuditableEntity implemente
|
|
184
|
+
|
|
185
|
+
APPLICATION LAYER
|
|
186
|
+
✓ Interface I{Entity}Service.cs
|
|
187
|
+
✓ DTOs: {Entity}Dto, Create/Update Requests
|
|
188
|
+
✓ Permissions dans Permissions.cs
|
|
189
|
+
✓ Permissions dans PermissionConfiguration.cs
|
|
190
|
+
|
|
191
|
+
INFRASTRUCTURE LAYER
|
|
192
|
+
✓ {Entity}Configuration.cs (EF Core)
|
|
193
|
+
✓ {Entity}Service.cs implementation
|
|
194
|
+
✓ DbSet<{Entity}> dans ApplicationDbContext
|
|
195
|
+
✓ DI registration
|
|
196
|
+
✓ Migration EF Core
|
|
197
|
+
|
|
198
|
+
API LAYER
|
|
199
|
+
✓ {Entity}Controller.cs
|
|
200
|
+
✓ [Authorize] + [RequirePermission]
|
|
201
|
+
✓ [ProducesResponseType]
|
|
202
|
+
✓ Logging
|
|
203
|
+
|
|
204
|
+
WEB LAYER
|
|
205
|
+
✓ {module}Api.ts
|
|
206
|
+
✓ use{Module}.ts (avec SignalR si notifications)
|
|
207
|
+
✓ {Module}Page.tsx
|
|
208
|
+
✓ {Module}Form.tsx
|
|
209
|
+
✓ {Module}DetailPage.tsx
|
|
210
|
+
✓ i18n: fr, en, it, de
|
|
211
|
+
✓ Routes dans App.tsx
|
|
212
|
+
|
|
213
|
+
NOTIFICATIONS (si active)
|
|
214
|
+
✓ NotificationType ajoute
|
|
215
|
+
✓ SendNotificationAsync dans service
|
|
216
|
+
✓ useSignalR dans hook
|
|
217
|
+
|
|
218
|
+
WORKFLOWS (si active)
|
|
219
|
+
✓ Trigger cree
|
|
220
|
+
✓ Workflow cree
|
|
221
|
+
✓ Email template
|
|
222
|
+
✓ TriggerAsync dans service
|
|
223
|
+
|
|
224
|
+
AI (si active)
|
|
225
|
+
✓ Prompt cree
|
|
226
|
+
✓ OutputSchema
|
|
227
|
+
✓ DTO Result
|
|
228
|
+
✓ ExecutePromptAsync dans service
|
|
229
|
+
✓ Bouton IA frontend
|
|
230
|
+
|
|
231
|
+
VALIDATION
|
|
232
|
+
✓ dotnet build OK
|
|
233
|
+
✓ npm run build OK
|
|
234
|
+
✓ npm run lint OK
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## REGLES ABSOLUES
|
|
240
|
+
|
|
241
|
+
1. **TOUJOURS** suivre l'ordre des phases
|
|
242
|
+
2. **TOUJOURS** valider chaque phase avant la suivante
|
|
243
|
+
3. **TOUJOURS** utiliser les skills specialises
|
|
244
|
+
4. **TOUJOURS** respecter l'architecture en couches
|
|
245
|
+
5. **TOUJOURS** creer les 4 langues i18n
|
|
246
|
+
6. **TOUJOURS** ajouter les permissions dans les 2 fichiers
|
|
247
|
+
7. **JAMAIS** sauter une phase
|
|
248
|
+
8. **JAMAIS** generer du code sans validation
|
|
249
|
+
9. **JAMAIS** oublier les integrations demandees
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## SKILLS ORCHESTRES
|
|
254
|
+
|
|
255
|
+
| Skill | Phase | Action |
|
|
256
|
+
|-------|-------|--------|
|
|
257
|
+
| `/application` | 1-5 | Generation full-stack |
|
|
258
|
+
| `/controller` | 4 | Controller API |
|
|
259
|
+
| `/ui-components` | 5 | Composants UI |
|
|
260
|
+
| `/notification` | 6 | Notifications |
|
|
261
|
+
| `/workflow` | 7 | Workflows/Emails |
|
|
262
|
+
| `/ai-prompt` | 8 | IA |
|
|
263
|
+
| `/efcore:migration` | 3 | Migration DB |
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
User: $ARGUMENTS
|