@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,193 +1,193 @@
|
|
|
1
|
-
# /workflow - Gestion Workflows SmartStack
|
|
2
|
-
|
|
3
|
-
> **Synergie Skill/Commande:**
|
|
4
|
-
> - **Skill** (`templates/skills/workflow/`) → Invocation automatique par Claude
|
|
5
|
-
> - **Commande** (`/workflow`) → Invocation manuelle par l'utilisateur
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## ARGUMENTS
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
/workflow <action> [options]
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
| Action | Description |
|
|
16
|
-
|--------|-------------|
|
|
17
|
-
| `create` | Creer un nouveau workflow complet |
|
|
18
|
-
| `trigger` | Ajouter un nouveau trigger |
|
|
19
|
-
| `step` | Ajouter un step a un workflow existant |
|
|
20
|
-
| `template` | Creer un email template |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## WORKFLOW
|
|
25
|
-
|
|
26
|
-
### /workflow create
|
|
27
|
-
|
|
28
|
-
Cree un workflow complet avec trigger et steps.
|
|
29
|
-
|
|
30
|
-
**Questions:**
|
|
31
|
-
1. Code du workflow ? (kebab-case)
|
|
32
|
-
2. Nom descriptif ?
|
|
33
|
-
3. Quel trigger ? (existant ou nouveau)
|
|
34
|
-
4. Quels steps ? (Email, Wait, Condition, Webhook)
|
|
35
|
-
5. Systeme ? (oui/non)
|
|
36
|
-
6. Priorite ? (1-100, defaut 10)
|
|
37
|
-
|
|
38
|
-
**Actions:**
|
|
39
|
-
1. Creer/utiliser le trigger
|
|
40
|
-
2. Ajouter le workflow dans WorkflowConfiguration.cs seed
|
|
41
|
-
3. Ajouter les steps dans WorkflowStepConfiguration.cs seed
|
|
42
|
-
4. Creer les email templates si necessaire
|
|
43
|
-
5. Creer migration EF Core
|
|
44
|
-
|
|
45
|
-
### /workflow trigger
|
|
46
|
-
|
|
47
|
-
Ajoute un nouveau trigger.
|
|
48
|
-
|
|
49
|
-
**Questions:**
|
|
50
|
-
1. Code du trigger ? (format: entity.event)
|
|
51
|
-
2. Nom descriptif ?
|
|
52
|
-
3. Variables disponibles ?
|
|
53
|
-
|
|
54
|
-
**Actions:**
|
|
55
|
-
1. Ajouter dans WorkflowTriggerConfiguration.cs seed
|
|
56
|
-
2. Creer migration EF Core
|
|
57
|
-
|
|
58
|
-
### /workflow step
|
|
59
|
-
|
|
60
|
-
Ajoute un step a un workflow existant.
|
|
61
|
-
|
|
62
|
-
**Questions:**
|
|
63
|
-
1. Quel workflow ?
|
|
64
|
-
2. Type de step ? (SendEmail, Wait, Condition, Webhook)
|
|
65
|
-
3. Configuration specifique selon le type
|
|
66
|
-
|
|
67
|
-
**Actions:**
|
|
68
|
-
1. Ajouter dans WorkflowStepConfiguration.cs seed
|
|
69
|
-
2. Mettre a jour l'ordre des steps
|
|
70
|
-
3. Creer migration EF Core
|
|
71
|
-
|
|
72
|
-
### /workflow template
|
|
73
|
-
|
|
74
|
-
Cree un email template.
|
|
75
|
-
|
|
76
|
-
**Questions:**
|
|
77
|
-
1. Code du template ?
|
|
78
|
-
2. Nom ?
|
|
79
|
-
3. Categorie ? (Transactional, Marketing, System)
|
|
80
|
-
4. Langues ? (fr, en, it, de)
|
|
81
|
-
|
|
82
|
-
**Actions:**
|
|
83
|
-
1. Ajouter dans EmailTemplateConfiguration.cs seed
|
|
84
|
-
2. Ajouter les translations
|
|
85
|
-
3. Creer migration EF Core
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## TEMPLATES
|
|
90
|
-
|
|
91
|
-
### Template Trigger Seed
|
|
92
|
-
|
|
93
|
-
```csharp
|
|
94
|
-
new
|
|
95
|
-
{
|
|
96
|
-
Id = Guid.Parse("$TRIGGER_GUID"),
|
|
97
|
-
Code = "$ENTITY.$EVENT",
|
|
98
|
-
Name = "$NAME",
|
|
99
|
-
Description = "$DESCRIPTION",
|
|
100
|
-
TriggerType = "$TRIGGER_TYPE",
|
|
101
|
-
AvailableVariablesJson = JsonSerializer.Serialize(new[]
|
|
102
|
-
{
|
|
103
|
-
new { Name = "entityId", Type = "Guid", Description = "Entity ID" },
|
|
104
|
-
new { Name = "entityName", Type = "string", Description = "Entity name" },
|
|
105
|
-
new { Name = "userEmail", Type = "string", Description = "User email" },
|
|
106
|
-
}),
|
|
107
|
-
IsActive = true,
|
|
108
|
-
CreatedAt = seedDate
|
|
109
|
-
},
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Template Workflow Seed
|
|
113
|
-
|
|
114
|
-
```csharp
|
|
115
|
-
new
|
|
116
|
-
{
|
|
117
|
-
Id = Guid.Parse("$WORKFLOW_GUID"),
|
|
118
|
-
Code = "$CODE",
|
|
119
|
-
Name = "$NAME",
|
|
120
|
-
Description = "$DESCRIPTION",
|
|
121
|
-
TriggerId = Guid.Parse("$TRIGGER_GUID"),
|
|
122
|
-
ApplicationId = (Guid?)null,
|
|
123
|
-
IsActive = true,
|
|
124
|
-
IsSystem = $IS_SYSTEM,
|
|
125
|
-
Priority = $PRIORITY,
|
|
126
|
-
CreatedAt = seedDate
|
|
127
|
-
},
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Template Step Seed (Email)
|
|
131
|
-
|
|
132
|
-
```csharp
|
|
133
|
-
new
|
|
134
|
-
{
|
|
135
|
-
Id = Guid.Parse("$STEP_GUID"),
|
|
136
|
-
WorkflowId = Guid.Parse("$WORKFLOW_GUID"),
|
|
137
|
-
Name = "$NAME",
|
|
138
|
-
StepType = WorkflowStepType.SendEmail,
|
|
139
|
-
StepOrder = $ORDER,
|
|
140
|
-
EmailTemplateId = Guid.Parse("$TEMPLATE_GUID"),
|
|
141
|
-
IsActive = true,
|
|
142
|
-
CreatedAt = seedDate
|
|
143
|
-
},
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Template Step Seed (Wait)
|
|
147
|
-
|
|
148
|
-
```csharp
|
|
149
|
-
new
|
|
150
|
-
{
|
|
151
|
-
Id = Guid.Parse("$STEP_GUID"),
|
|
152
|
-
WorkflowId = Guid.Parse("$WORKFLOW_GUID"),
|
|
153
|
-
Name = "$NAME",
|
|
154
|
-
StepType = WorkflowStepType.Wait,
|
|
155
|
-
StepOrder = $ORDER,
|
|
156
|
-
DelayMinutes = $DELAY_MINUTES,
|
|
157
|
-
IsActive = true,
|
|
158
|
-
CreatedAt = seedDate
|
|
159
|
-
},
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Template Declenchement
|
|
163
|
-
|
|
164
|
-
```csharp
|
|
165
|
-
await _workflowService.TriggerAsync(
|
|
166
|
-
"$TRIGGER_CODE",
|
|
167
|
-
new Dictionary<string, object>
|
|
168
|
-
{
|
|
169
|
-
["entityId"] = entity.Id,
|
|
170
|
-
["entityName"] = entity.Name,
|
|
171
|
-
["userEmail"] = _currentUser.Email
|
|
172
|
-
},
|
|
173
|
-
language: "fr",
|
|
174
|
-
cancellationToken: ct);
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## FICHIERS CLES
|
|
180
|
-
|
|
181
|
-
| Fichier | Role |
|
|
182
|
-
|---------|------|
|
|
183
|
-
| `Domain/Communications/Workflow.cs` | Entite workflow |
|
|
184
|
-
| `Domain/Communications/WorkflowStep.cs` | Entite step |
|
|
185
|
-
| `Domain/Communications/WorkflowTrigger.cs` | Entite trigger |
|
|
186
|
-
| `Infrastructure/.../WorkflowConfiguration.cs` | Seed workflows |
|
|
187
|
-
| `Infrastructure/.../WorkflowTriggerConfiguration.cs` | Seed triggers |
|
|
188
|
-
| `Infrastructure/.../WorkflowStepConfiguration.cs` | Seed steps |
|
|
189
|
-
| `Infrastructure/Services/Workflow/WorkflowExecutionService.cs` | Execution |
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
User: $ARGUMENTS
|
|
1
|
+
# /workflow - Gestion Workflows SmartStack
|
|
2
|
+
|
|
3
|
+
> **Synergie Skill/Commande:**
|
|
4
|
+
> - **Skill** (`templates/skills/workflow/`) → Invocation automatique par Claude
|
|
5
|
+
> - **Commande** (`/workflow`) → Invocation manuelle par l'utilisateur
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ARGUMENTS
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
/workflow <action> [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Action | Description |
|
|
16
|
+
|--------|-------------|
|
|
17
|
+
| `create` | Creer un nouveau workflow complet |
|
|
18
|
+
| `trigger` | Ajouter un nouveau trigger |
|
|
19
|
+
| `step` | Ajouter un step a un workflow existant |
|
|
20
|
+
| `template` | Creer un email template |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## WORKFLOW
|
|
25
|
+
|
|
26
|
+
### /workflow create
|
|
27
|
+
|
|
28
|
+
Cree un workflow complet avec trigger et steps.
|
|
29
|
+
|
|
30
|
+
**Questions:**
|
|
31
|
+
1. Code du workflow ? (kebab-case)
|
|
32
|
+
2. Nom descriptif ?
|
|
33
|
+
3. Quel trigger ? (existant ou nouveau)
|
|
34
|
+
4. Quels steps ? (Email, Wait, Condition, Webhook)
|
|
35
|
+
5. Systeme ? (oui/non)
|
|
36
|
+
6. Priorite ? (1-100, defaut 10)
|
|
37
|
+
|
|
38
|
+
**Actions:**
|
|
39
|
+
1. Creer/utiliser le trigger
|
|
40
|
+
2. Ajouter le workflow dans WorkflowConfiguration.cs seed
|
|
41
|
+
3. Ajouter les steps dans WorkflowStepConfiguration.cs seed
|
|
42
|
+
4. Creer les email templates si necessaire
|
|
43
|
+
5. Creer migration EF Core
|
|
44
|
+
|
|
45
|
+
### /workflow trigger
|
|
46
|
+
|
|
47
|
+
Ajoute un nouveau trigger.
|
|
48
|
+
|
|
49
|
+
**Questions:**
|
|
50
|
+
1. Code du trigger ? (format: entity.event)
|
|
51
|
+
2. Nom descriptif ?
|
|
52
|
+
3. Variables disponibles ?
|
|
53
|
+
|
|
54
|
+
**Actions:**
|
|
55
|
+
1. Ajouter dans WorkflowTriggerConfiguration.cs seed
|
|
56
|
+
2. Creer migration EF Core
|
|
57
|
+
|
|
58
|
+
### /workflow step
|
|
59
|
+
|
|
60
|
+
Ajoute un step a un workflow existant.
|
|
61
|
+
|
|
62
|
+
**Questions:**
|
|
63
|
+
1. Quel workflow ?
|
|
64
|
+
2. Type de step ? (SendEmail, Wait, Condition, Webhook)
|
|
65
|
+
3. Configuration specifique selon le type
|
|
66
|
+
|
|
67
|
+
**Actions:**
|
|
68
|
+
1. Ajouter dans WorkflowStepConfiguration.cs seed
|
|
69
|
+
2. Mettre a jour l'ordre des steps
|
|
70
|
+
3. Creer migration EF Core
|
|
71
|
+
|
|
72
|
+
### /workflow template
|
|
73
|
+
|
|
74
|
+
Cree un email template.
|
|
75
|
+
|
|
76
|
+
**Questions:**
|
|
77
|
+
1. Code du template ?
|
|
78
|
+
2. Nom ?
|
|
79
|
+
3. Categorie ? (Transactional, Marketing, System)
|
|
80
|
+
4. Langues ? (fr, en, it, de)
|
|
81
|
+
|
|
82
|
+
**Actions:**
|
|
83
|
+
1. Ajouter dans EmailTemplateConfiguration.cs seed
|
|
84
|
+
2. Ajouter les translations
|
|
85
|
+
3. Creer migration EF Core
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## TEMPLATES
|
|
90
|
+
|
|
91
|
+
### Template Trigger Seed
|
|
92
|
+
|
|
93
|
+
```csharp
|
|
94
|
+
new
|
|
95
|
+
{
|
|
96
|
+
Id = Guid.Parse("$TRIGGER_GUID"),
|
|
97
|
+
Code = "$ENTITY.$EVENT",
|
|
98
|
+
Name = "$NAME",
|
|
99
|
+
Description = "$DESCRIPTION",
|
|
100
|
+
TriggerType = "$TRIGGER_TYPE",
|
|
101
|
+
AvailableVariablesJson = JsonSerializer.Serialize(new[]
|
|
102
|
+
{
|
|
103
|
+
new { Name = "entityId", Type = "Guid", Description = "Entity ID" },
|
|
104
|
+
new { Name = "entityName", Type = "string", Description = "Entity name" },
|
|
105
|
+
new { Name = "userEmail", Type = "string", Description = "User email" },
|
|
106
|
+
}),
|
|
107
|
+
IsActive = true,
|
|
108
|
+
CreatedAt = seedDate
|
|
109
|
+
},
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Template Workflow Seed
|
|
113
|
+
|
|
114
|
+
```csharp
|
|
115
|
+
new
|
|
116
|
+
{
|
|
117
|
+
Id = Guid.Parse("$WORKFLOW_GUID"),
|
|
118
|
+
Code = "$CODE",
|
|
119
|
+
Name = "$NAME",
|
|
120
|
+
Description = "$DESCRIPTION",
|
|
121
|
+
TriggerId = Guid.Parse("$TRIGGER_GUID"),
|
|
122
|
+
ApplicationId = (Guid?)null,
|
|
123
|
+
IsActive = true,
|
|
124
|
+
IsSystem = $IS_SYSTEM,
|
|
125
|
+
Priority = $PRIORITY,
|
|
126
|
+
CreatedAt = seedDate
|
|
127
|
+
},
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Template Step Seed (Email)
|
|
131
|
+
|
|
132
|
+
```csharp
|
|
133
|
+
new
|
|
134
|
+
{
|
|
135
|
+
Id = Guid.Parse("$STEP_GUID"),
|
|
136
|
+
WorkflowId = Guid.Parse("$WORKFLOW_GUID"),
|
|
137
|
+
Name = "$NAME",
|
|
138
|
+
StepType = WorkflowStepType.SendEmail,
|
|
139
|
+
StepOrder = $ORDER,
|
|
140
|
+
EmailTemplateId = Guid.Parse("$TEMPLATE_GUID"),
|
|
141
|
+
IsActive = true,
|
|
142
|
+
CreatedAt = seedDate
|
|
143
|
+
},
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Template Step Seed (Wait)
|
|
147
|
+
|
|
148
|
+
```csharp
|
|
149
|
+
new
|
|
150
|
+
{
|
|
151
|
+
Id = Guid.Parse("$STEP_GUID"),
|
|
152
|
+
WorkflowId = Guid.Parse("$WORKFLOW_GUID"),
|
|
153
|
+
Name = "$NAME",
|
|
154
|
+
StepType = WorkflowStepType.Wait,
|
|
155
|
+
StepOrder = $ORDER,
|
|
156
|
+
DelayMinutes = $DELAY_MINUTES,
|
|
157
|
+
IsActive = true,
|
|
158
|
+
CreatedAt = seedDate
|
|
159
|
+
},
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Template Declenchement
|
|
163
|
+
|
|
164
|
+
```csharp
|
|
165
|
+
await _workflowService.TriggerAsync(
|
|
166
|
+
"$TRIGGER_CODE",
|
|
167
|
+
new Dictionary<string, object>
|
|
168
|
+
{
|
|
169
|
+
["entityId"] = entity.Id,
|
|
170
|
+
["entityName"] = entity.Name,
|
|
171
|
+
["userEmail"] = _currentUser.Email
|
|
172
|
+
},
|
|
173
|
+
language: "fr",
|
|
174
|
+
cancellationToken: ct);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## FICHIERS CLES
|
|
180
|
+
|
|
181
|
+
| Fichier | Role |
|
|
182
|
+
|---------|------|
|
|
183
|
+
| `Domain/Communications/Workflow.cs` | Entite workflow |
|
|
184
|
+
| `Domain/Communications/WorkflowStep.cs` | Entite step |
|
|
185
|
+
| `Domain/Communications/WorkflowTrigger.cs` | Entite trigger |
|
|
186
|
+
| `Infrastructure/.../WorkflowConfiguration.cs` | Seed workflows |
|
|
187
|
+
| `Infrastructure/.../WorkflowTriggerConfiguration.cs` | Seed triggers |
|
|
188
|
+
| `Infrastructure/.../WorkflowStepConfiguration.cs` | Seed steps |
|
|
189
|
+
| `Infrastructure/Services/Workflow/WorkflowExecutionService.cs` | Execution |
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
User: $ARGUMENTS
|
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://atlashub.ch/schemas/claude-gitflow-config.json",
|
|
3
|
-
"version": "1.2.0",
|
|
4
|
-
"worktrees": {
|
|
5
|
-
"enabled": true,
|
|
6
|
-
"basePath": "../worktrees",
|
|
7
|
-
"permanent": {
|
|
8
|
-
"main": true,
|
|
9
|
-
"develop": true
|
|
10
|
-
},
|
|
11
|
-
"structure": {
|
|
12
|
-
"features": "features/{name}",
|
|
13
|
-
"releases": "releases/v{version}",
|
|
14
|
-
"hotfixes": "hotfixes/{name}"
|
|
15
|
-
},
|
|
16
|
-
"cleanupOnFinish": true
|
|
17
|
-
},
|
|
18
|
-
"git": {
|
|
19
|
-
"branches": {
|
|
20
|
-
"main": "main",
|
|
21
|
-
"develop": "develop",
|
|
22
|
-
"featurePrefix": "feature/",
|
|
23
|
-
"releasePrefix": "release/",
|
|
24
|
-
"hotfixPrefix": "hotfix/"
|
|
25
|
-
},
|
|
26
|
-
"remote": "origin",
|
|
27
|
-
"mergeStrategy": "--no-ff",
|
|
28
|
-
"tagPrefix": "v",
|
|
29
|
-
"protectedBranches": ["main", "develop"],
|
|
30
|
-
"requireLinearHistory": false
|
|
31
|
-
},
|
|
32
|
-
"efcore": {
|
|
33
|
-
"enabled": true,
|
|
34
|
-
"autoDetect": true,
|
|
35
|
-
"crossBranch": {
|
|
36
|
-
"enabled": true,
|
|
37
|
-
"scanOnMigrationCreate": true,
|
|
38
|
-
"blockOnConflict": true,
|
|
39
|
-
"cacheExpiry": 300
|
|
40
|
-
},
|
|
41
|
-
"contexts": [
|
|
42
|
-
{
|
|
43
|
-
"name": "ApplicationDbContext",
|
|
44
|
-
"projectPath": "auto-detect",
|
|
45
|
-
"startupProject": "auto-detect",
|
|
46
|
-
"migrationsFolder": "Migrations",
|
|
47
|
-
"migrationsAssembly": null
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"database": {
|
|
51
|
-
"configFile": "appsettings.Local.json",
|
|
52
|
-
"connectionStringName": "DefaultConnection",
|
|
53
|
-
"provider": "SqlServer",
|
|
54
|
-
"seedOnDeploy": false,
|
|
55
|
-
"confirmBeforeReset": true,
|
|
56
|
-
"backupBeforeReset": true
|
|
57
|
-
},
|
|
58
|
-
"scripts": {
|
|
59
|
-
"generateOnRelease": true,
|
|
60
|
-
"generateOnHotfix": true,
|
|
61
|
-
"idempotent": true,
|
|
62
|
-
"outputPath": "./scripts/migrations",
|
|
63
|
-
"namingPattern": "{type}_{version}_{timestamp}.sql"
|
|
64
|
-
},
|
|
65
|
-
"validation": {
|
|
66
|
-
"validateBeforeCommit": true,
|
|
67
|
-
"validateBeforeMerge": true,
|
|
68
|
-
"checkModelSnapshotConflicts": true,
|
|
69
|
-
"crossBranchValidation": true,
|
|
70
|
-
"requireBuildSuccess": true,
|
|
71
|
-
"warnOnPendingMigrations": true
|
|
72
|
-
},
|
|
73
|
-
"backup": {
|
|
74
|
-
"enabled": true,
|
|
75
|
-
"beforeRebase": true,
|
|
76
|
-
"beforeSquash": true,
|
|
77
|
-
"beforeMerge": true,
|
|
78
|
-
"retentionDays": 7,
|
|
79
|
-
"location": ".claude/gitflow/backup/migrations"
|
|
80
|
-
},
|
|
81
|
-
"naming": {
|
|
82
|
-
"migrationPrefix": "",
|
|
83
|
-
"hotfixPrefix": "Hotfix_",
|
|
84
|
-
"timestampFormat": "yyyyMMddHHmmss",
|
|
85
|
-
"pattern": "{BranchType}_{Version}_{BranchName}_{Description}",
|
|
86
|
-
"examples": {
|
|
87
|
-
"feature": "Feature_1.2.0_UserAuth_AddRolesTable",
|
|
88
|
-
"hotfix": "Hotfix_1.2.1_LoginFix_FixNullEmail",
|
|
89
|
-
"release": "Release_1.3.0_Initial"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
"rules": {
|
|
93
|
-
"oneMigrationPerFeature": true,
|
|
94
|
-
"recreateOnChange": true,
|
|
95
|
-
"requireDescription": true,
|
|
96
|
-
"validateNaming": true
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
"workflow": {
|
|
100
|
-
"requireConfirmation": true,
|
|
101
|
-
"autoDeleteBranch": false,
|
|
102
|
-
"createCheckpoints": true,
|
|
103
|
-
"verboseLogging": false,
|
|
104
|
-
"interactiveMode": true,
|
|
105
|
-
"push": {
|
|
106
|
-
"afterCommit": "worktree",
|
|
107
|
-
"modes": {
|
|
108
|
-
"worktree": "Push automatique si worktree détecté",
|
|
109
|
-
"always": "Push automatique après chaque commit",
|
|
110
|
-
"ask": "Demander à l'utilisateur",
|
|
111
|
-
"never": "Ne jamais push automatiquement"
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
"commitConventions": {
|
|
115
|
-
"enabled": true,
|
|
116
|
-
"migration": "db(migrations): ",
|
|
117
|
-
"feature": "feat: ",
|
|
118
|
-
"fix": "fix: ",
|
|
119
|
-
"release": "release: ",
|
|
120
|
-
"hotfix": "hotfix: ",
|
|
121
|
-
"chore": "chore: "
|
|
122
|
-
},
|
|
123
|
-
"hooks": {
|
|
124
|
-
"prePlan": null,
|
|
125
|
-
"postPlan": null,
|
|
126
|
-
"preExec": null,
|
|
127
|
-
"postExec": null,
|
|
128
|
-
"preCommit": null,
|
|
129
|
-
"postCommit": null
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"ui": {
|
|
133
|
-
"colors": true,
|
|
134
|
-
"showProgress": true,
|
|
135
|
-
"compactMode": false,
|
|
136
|
-
"language": "fr"
|
|
137
|
-
}
|
|
138
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://atlashub.ch/schemas/claude-gitflow-config.json",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"worktrees": {
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"basePath": "../worktrees",
|
|
7
|
+
"permanent": {
|
|
8
|
+
"main": true,
|
|
9
|
+
"develop": true
|
|
10
|
+
},
|
|
11
|
+
"structure": {
|
|
12
|
+
"features": "features/{name}",
|
|
13
|
+
"releases": "releases/v{version}",
|
|
14
|
+
"hotfixes": "hotfixes/{name}"
|
|
15
|
+
},
|
|
16
|
+
"cleanupOnFinish": true
|
|
17
|
+
},
|
|
18
|
+
"git": {
|
|
19
|
+
"branches": {
|
|
20
|
+
"main": "main",
|
|
21
|
+
"develop": "develop",
|
|
22
|
+
"featurePrefix": "feature/",
|
|
23
|
+
"releasePrefix": "release/",
|
|
24
|
+
"hotfixPrefix": "hotfix/"
|
|
25
|
+
},
|
|
26
|
+
"remote": "origin",
|
|
27
|
+
"mergeStrategy": "--no-ff",
|
|
28
|
+
"tagPrefix": "v",
|
|
29
|
+
"protectedBranches": ["main", "develop"],
|
|
30
|
+
"requireLinearHistory": false
|
|
31
|
+
},
|
|
32
|
+
"efcore": {
|
|
33
|
+
"enabled": true,
|
|
34
|
+
"autoDetect": true,
|
|
35
|
+
"crossBranch": {
|
|
36
|
+
"enabled": true,
|
|
37
|
+
"scanOnMigrationCreate": true,
|
|
38
|
+
"blockOnConflict": true,
|
|
39
|
+
"cacheExpiry": 300
|
|
40
|
+
},
|
|
41
|
+
"contexts": [
|
|
42
|
+
{
|
|
43
|
+
"name": "ApplicationDbContext",
|
|
44
|
+
"projectPath": "auto-detect",
|
|
45
|
+
"startupProject": "auto-detect",
|
|
46
|
+
"migrationsFolder": "Migrations",
|
|
47
|
+
"migrationsAssembly": null
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"database": {
|
|
51
|
+
"configFile": "appsettings.Local.json",
|
|
52
|
+
"connectionStringName": "DefaultConnection",
|
|
53
|
+
"provider": "SqlServer",
|
|
54
|
+
"seedOnDeploy": false,
|
|
55
|
+
"confirmBeforeReset": true,
|
|
56
|
+
"backupBeforeReset": true
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"generateOnRelease": true,
|
|
60
|
+
"generateOnHotfix": true,
|
|
61
|
+
"idempotent": true,
|
|
62
|
+
"outputPath": "./scripts/migrations",
|
|
63
|
+
"namingPattern": "{type}_{version}_{timestamp}.sql"
|
|
64
|
+
},
|
|
65
|
+
"validation": {
|
|
66
|
+
"validateBeforeCommit": true,
|
|
67
|
+
"validateBeforeMerge": true,
|
|
68
|
+
"checkModelSnapshotConflicts": true,
|
|
69
|
+
"crossBranchValidation": true,
|
|
70
|
+
"requireBuildSuccess": true,
|
|
71
|
+
"warnOnPendingMigrations": true
|
|
72
|
+
},
|
|
73
|
+
"backup": {
|
|
74
|
+
"enabled": true,
|
|
75
|
+
"beforeRebase": true,
|
|
76
|
+
"beforeSquash": true,
|
|
77
|
+
"beforeMerge": true,
|
|
78
|
+
"retentionDays": 7,
|
|
79
|
+
"location": ".claude/gitflow/backup/migrations"
|
|
80
|
+
},
|
|
81
|
+
"naming": {
|
|
82
|
+
"migrationPrefix": "",
|
|
83
|
+
"hotfixPrefix": "Hotfix_",
|
|
84
|
+
"timestampFormat": "yyyyMMddHHmmss",
|
|
85
|
+
"pattern": "{BranchType}_{Version}_{BranchName}_{Description}",
|
|
86
|
+
"examples": {
|
|
87
|
+
"feature": "Feature_1.2.0_UserAuth_AddRolesTable",
|
|
88
|
+
"hotfix": "Hotfix_1.2.1_LoginFix_FixNullEmail",
|
|
89
|
+
"release": "Release_1.3.0_Initial"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"rules": {
|
|
93
|
+
"oneMigrationPerFeature": true,
|
|
94
|
+
"recreateOnChange": true,
|
|
95
|
+
"requireDescription": true,
|
|
96
|
+
"validateNaming": true
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"workflow": {
|
|
100
|
+
"requireConfirmation": true,
|
|
101
|
+
"autoDeleteBranch": false,
|
|
102
|
+
"createCheckpoints": true,
|
|
103
|
+
"verboseLogging": false,
|
|
104
|
+
"interactiveMode": true,
|
|
105
|
+
"push": {
|
|
106
|
+
"afterCommit": "worktree",
|
|
107
|
+
"modes": {
|
|
108
|
+
"worktree": "Push automatique si worktree détecté",
|
|
109
|
+
"always": "Push automatique après chaque commit",
|
|
110
|
+
"ask": "Demander à l'utilisateur",
|
|
111
|
+
"never": "Ne jamais push automatiquement"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"commitConventions": {
|
|
115
|
+
"enabled": true,
|
|
116
|
+
"migration": "db(migrations): ",
|
|
117
|
+
"feature": "feat: ",
|
|
118
|
+
"fix": "fix: ",
|
|
119
|
+
"release": "release: ",
|
|
120
|
+
"hotfix": "hotfix: ",
|
|
121
|
+
"chore": "chore: "
|
|
122
|
+
},
|
|
123
|
+
"hooks": {
|
|
124
|
+
"prePlan": null,
|
|
125
|
+
"postPlan": null,
|
|
126
|
+
"preExec": null,
|
|
127
|
+
"postExec": null,
|
|
128
|
+
"preCommit": null,
|
|
129
|
+
"postCommit": null
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"ui": {
|
|
133
|
+
"colors": true,
|
|
134
|
+
"showProgress": true,
|
|
135
|
+
"compactMode": false,
|
|
136
|
+
"language": "fr"
|
|
137
|
+
}
|
|
138
|
+
}
|