@atlashub/smartstack-cli 1.13.2 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/.documentation/agents.html +1 -1
  2. package/.documentation/apex.html +1 -1
  3. package/.documentation/business-analyse.html +1 -1
  4. package/.documentation/cli-commands.html +3 -3
  5. package/.documentation/commands.html +1 -1
  6. package/.documentation/efcore.html +1 -1
  7. package/.documentation/gitflow.html +1 -1
  8. package/.documentation/hooks.html +1 -1
  9. package/.documentation/index.html +1 -1
  10. package/.documentation/init.html +3 -3
  11. package/.documentation/installation.html +1001 -352
  12. package/.documentation/ralph-loop.html +1 -1
  13. package/.documentation/test-web.html +1 -1
  14. package/README.md +88 -20
  15. package/dist/index.js +276 -85
  16. package/dist/index.js.map +1 -1
  17. package/package.json +1 -1
  18. package/templates/agents/code-reviewer.md +163 -0
  19. package/templates/agents/efcore/db-deploy.md +25 -7
  20. package/templates/agents/efcore/db-reset.md +31 -10
  21. package/templates/agents/efcore/db-status.md +22 -5
  22. package/templates/agents/efcore/migration.md +69 -19
  23. package/templates/agents/gitflow/cleanup.md +8 -1
  24. package/templates/agents/gitflow/commit.md +7 -5
  25. package/templates/agents/gitflow/finish.md +6 -4
  26. package/templates/agents/gitflow/pr.md +8 -1
  27. package/templates/agents/gitflow/start.md +1 -1
  28. package/templates/commands/check-version.md +267 -0
  29. package/templates/commands/efcore/_shared.md +30 -1
  30. package/templates/commands/efcore/db-reset.md +18 -6
  31. package/templates/commands/gitflow/OPTIMIZATIONS.md +206 -0
  32. package/templates/commands/refactor.md +164 -0
  33. package/templates/project/DependencyInjection.Application.cs.template +25 -0
  34. package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
  35. package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
  36. package/templates/project/ExampleEntity.cs.template +116 -0
  37. package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
  38. package/templates/project/ExampleService.cs.template +146 -0
  39. package/templates/project/ExtensionsDbContext.cs.template +41 -0
  40. package/templates/project/IExtensionsDbContext.cs.template +22 -0
  41. package/templates/project/Program.cs.template +47 -0
  42. package/templates/project/README.md +79 -0
  43. package/templates/ralph/README.md +10 -8
  44. package/templates/ralph/ralph.config.yaml +2 -2
  45. package/templates/skills/_shared.md +44 -44
  46. package/templates/skills/ai-prompt/SKILL.md +55 -55
  47. package/templates/skills/apex/SKILL.md +235 -0
  48. package/templates/skills/apex/steps/step-00-init.md +203 -0
  49. package/templates/skills/apex/steps/step-01-analyze.md +210 -0
  50. package/templates/skills/apex/steps/step-02-plan.md +217 -0
  51. package/templates/skills/apex/steps/step-03-execute.md +178 -0
  52. package/templates/skills/apex/steps/step-04-validate.md +217 -0
  53. package/templates/skills/apex/steps/step-05-examine.md +207 -0
  54. package/templates/skills/apex/steps/step-06-resolve.md +181 -0
  55. package/templates/skills/apex/steps/step-07-tests.md +206 -0
  56. package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
  57. package/templates/skills/apex/templates/00-context.md +46 -0
  58. package/templates/skills/apex/templates/01-analyze.md +63 -0
  59. package/templates/skills/apex/templates/02-plan.md +63 -0
  60. package/templates/skills/apex/templates/03-execute.md +34 -0
  61. package/templates/skills/apex/templates/04-validate.md +61 -0
  62. package/templates/skills/apex/templates/05-examine.md +58 -0
  63. package/templates/skills/apex/templates/06-resolve.md +39 -0
  64. package/templates/skills/apex/templates/07-tests.md +56 -0
  65. package/templates/skills/apex/templates/08-run-tests.md +41 -0
  66. package/templates/skills/apex/templates/README.md +69 -0
  67. package/templates/skills/application/SKILL.md +50 -50
  68. package/templates/skills/application/templates-backend.md +25 -25
  69. package/templates/skills/application/templates-frontend.md +43 -43
  70. package/templates/skills/application/templates-i18n.md +29 -29
  71. package/templates/skills/application/templates-seed.md +77 -77
  72. package/templates/skills/business-analyse/SKILL.md +223 -0
  73. package/templates/skills/business-analyse/_shared.md +258 -0
  74. package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
  75. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
  76. package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
  77. package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
  78. package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
  79. package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
  80. package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
  81. package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
  82. package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
  83. package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
  84. package/templates/skills/business-analyse/questionnaire.md +177 -177
  85. package/templates/skills/business-analyse/react/components.md +340 -0
  86. package/templates/skills/business-analyse/react/i18n-template.md +245 -0
  87. package/templates/skills/business-analyse/react/schema.md +151 -0
  88. package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
  89. package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
  90. package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
  91. package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
  92. package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
  93. package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
  94. package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
  95. package/templates/skills/business-analyse/templates/00-context.md +105 -0
  96. package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
  97. package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
  98. package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
  99. package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
  100. package/templates/skills/business-analyse/templates-frd.md +217 -217
  101. package/templates/skills/business-analyse/templates-react.md +26 -26
  102. package/templates/skills/controller/SKILL.md +141 -92
  103. package/templates/skills/controller/postman-templates.md +15 -15
  104. package/templates/skills/controller/steps/step-00-init.md +191 -0
  105. package/templates/skills/controller/steps/step-01-analyze.md +146 -0
  106. package/templates/skills/controller/steps/step-02-plan.md +176 -0
  107. package/templates/skills/controller/steps/step-03-generate.md +219 -0
  108. package/templates/skills/controller/steps/step-04-perms.md +219 -0
  109. package/templates/skills/controller/steps/step-05-validate.md +107 -0
  110. package/templates/skills/controller/templates.md +77 -77
  111. package/templates/skills/documentation/SKILL.md +79 -79
  112. package/templates/skills/feature-full/SKILL.md +38 -38
  113. package/templates/skills/gitflow/SKILL.md +277 -0
  114. package/templates/{commands → skills}/gitflow/_shared.md +20 -20
  115. package/templates/skills/gitflow/phases/abort.md +173 -0
  116. package/templates/skills/gitflow/phases/cleanup.md +226 -0
  117. package/templates/skills/gitflow/phases/status.md +178 -0
  118. package/templates/skills/gitflow/steps/step-commit.md +255 -0
  119. package/templates/skills/gitflow/steps/step-finish.md +255 -0
  120. package/templates/skills/gitflow/steps/step-init.md +209 -0
  121. package/templates/skills/gitflow/steps/step-merge.md +225 -0
  122. package/templates/skills/gitflow/steps/step-plan.md +208 -0
  123. package/templates/skills/gitflow/steps/step-pr.md +235 -0
  124. package/templates/skills/gitflow/steps/step-start.md +234 -0
  125. package/templates/skills/gitflow/steps/step-sync.md +200 -0
  126. package/templates/skills/gitflow/templates/config.json +53 -0
  127. package/templates/skills/notification/SKILL.md +51 -51
  128. package/templates/skills/ralph-loop/SKILL.md +228 -0
  129. package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
  130. package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
  131. package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
  132. package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
  133. package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
  134. package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
  135. package/templates/skills/review-code/SKILL.md +219 -0
  136. package/templates/skills/review-code/references/clean-code-principles.md +140 -0
  137. package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
  138. package/templates/skills/review-code/references/feedback-patterns.md +149 -0
  139. package/templates/skills/review-code/references/security-checklist.md +127 -0
  140. package/templates/skills/ui-components/SKILL.md +54 -54
  141. package/templates/skills/workflow/SKILL.md +46 -46
  142. package/templates/commands/ai-prompt.md +0 -315
  143. package/templates/commands/apex/1-analyze.md +0 -100
  144. package/templates/commands/apex/2-plan.md +0 -145
  145. package/templates/commands/apex/3-execute.md +0 -171
  146. package/templates/commands/apex/4-examine.md +0 -116
  147. package/templates/commands/apex/5-tasks.md +0 -209
  148. package/templates/commands/apex.md +0 -76
  149. package/templates/commands/application/create.md +0 -362
  150. package/templates/commands/application/templates-backend.md +0 -463
  151. package/templates/commands/application/templates-frontend.md +0 -517
  152. package/templates/commands/application/templates-i18n.md +0 -478
  153. package/templates/commands/application/templates-seed.md +0 -362
  154. package/templates/commands/application.md +0 -303
  155. package/templates/commands/business-analyse/0-orchestrate.md +0 -156
  156. package/templates/commands/business-analyse/1-init.md +0 -99
  157. package/templates/commands/business-analyse/2-discover.md +0 -143
  158. package/templates/commands/business-analyse/3-analyse.md +0 -106
  159. package/templates/commands/business-analyse/4-specify.md +0 -133
  160. package/templates/commands/business-analyse/5-validate.md +0 -132
  161. package/templates/commands/business-analyse/6-handoff.md +0 -157
  162. package/templates/commands/business-analyse/7-doc-html.md +0 -103
  163. package/templates/commands/business-analyse/_shared.md +0 -176
  164. package/templates/commands/business-analyse/bug.md +0 -118
  165. package/templates/commands/business-analyse/change-request.md +0 -144
  166. package/templates/commands/business-analyse/hotfix.md +0 -116
  167. package/templates/commands/business-analyse.md +0 -121
  168. package/templates/commands/controller/create.md +0 -216
  169. package/templates/commands/controller/postman-templates.md +0 -528
  170. package/templates/commands/controller/templates.md +0 -600
  171. package/templates/commands/controller.md +0 -337
  172. package/templates/commands/create/agent.md +0 -138
  173. package/templates/commands/create/command.md +0 -166
  174. package/templates/commands/create/hook.md +0 -234
  175. package/templates/commands/create/plugin.md +0 -329
  176. package/templates/commands/create/project.md +0 -508
  177. package/templates/commands/create/skill.md +0 -199
  178. package/templates/commands/create.md +0 -220
  179. package/templates/commands/documentation/module.md +0 -202
  180. package/templates/commands/documentation/templates.md +0 -432
  181. package/templates/commands/documentation.md +0 -190
  182. package/templates/commands/epct.md +0 -69
  183. package/templates/commands/explain.md +0 -186
  184. package/templates/commands/feature-full.md +0 -267
  185. package/templates/commands/gitflow/1-init.md +0 -188
  186. package/templates/commands/gitflow/10-start.md +0 -190
  187. package/templates/commands/gitflow/11-finish.md +0 -382
  188. package/templates/commands/gitflow/12-cleanup.md +0 -103
  189. package/templates/commands/gitflow/13-sync.md +0 -216
  190. package/templates/commands/gitflow/14-rebase.md +0 -251
  191. package/templates/commands/gitflow/2-status.md +0 -122
  192. package/templates/commands/gitflow/3-commit.md +0 -209
  193. package/templates/commands/gitflow/4-plan.md +0 -174
  194. package/templates/commands/gitflow/5-exec.md +0 -202
  195. package/templates/commands/gitflow/6-abort.md +0 -121
  196. package/templates/commands/gitflow/7-pull-request.md +0 -176
  197. package/templates/commands/gitflow/8-review.md +0 -113
  198. package/templates/commands/gitflow/9-merge.md +0 -157
  199. package/templates/commands/gitflow.md +0 -128
  200. package/templates/commands/implement.md +0 -663
  201. package/templates/commands/init.md +0 -567
  202. package/templates/commands/mcp-integration.md +0 -330
  203. package/templates/commands/notification.md +0 -129
  204. package/templates/commands/oneshot.md +0 -57
  205. package/templates/commands/quickstart.md +0 -154
  206. package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
  207. package/templates/commands/ralph-loop/help.md +0 -126
  208. package/templates/commands/ralph-loop/ralph-loop.md +0 -120
  209. package/templates/commands/review.md +0 -106
  210. package/templates/commands/workflow.md +0 -193
@@ -1,144 +0,0 @@
1
- ---
2
- description: Phase 10 - Change Request - Formal specification change during development
3
- agent: ba-change-request
4
- model: sonnet
5
- ---
6
-
7
- # Change Request - Modification Post-Handoff
8
-
9
- > **Ref:** Fonctions communes dans [_shared.md](_shared.md)
10
- > **Output:** `.business-analyse/.../tracking/changes/CR-FEAT-XXX-NNN.md`
11
-
12
- ---
13
-
14
- ## Quand utiliser
15
-
16
- Utiliser APRÈS validation (phase 5) ou handoff (phase 6) quand:
17
- - Modification scope demandée par stakeholder
18
- - Nouvelle exigence découverte
19
- - Cas d'usage manquant identifié
20
- - Règle métier à modifier
21
-
22
- ---
23
-
24
- ## Collecte changement
25
-
26
- ```javascript
27
- AskUserQuestion({
28
- questions: [
29
- {
30
- question: "Type de changement?",
31
- header: "Type",
32
- options: [
33
- { label: "Nouvelle fonctionnalité", description: "Ajouter nouveau" },
34
- { label: "Modification existant", description: "Changer comportement" },
35
- { label: "Suppression", description: "Retirer fonctionnalité" },
36
- { label: "Clarification", description: "Préciser spec ambiguë" }
37
- ],
38
- multiSelect: false
39
- },
40
- {
41
- question: "Priorité?",
42
- header: "Priorité",
43
- options: [
44
- { label: "Critique", description: "Bloque release" },
45
- { label: "Haute", description: "Important MVP" },
46
- { label: "Moyenne", description: "Souhaitable" },
47
- { label: "Basse", description: "Nice-to-have" }
48
- ],
49
- multiSelect: false
50
- },
51
- {
52
- question: "Approuvé par sponsor?",
53
- header: "Approbation",
54
- options: [
55
- { label: "Oui", description: "Sponsor validé" },
56
- { label: "En attente", description: "Discussion en cours" },
57
- { label: "À soumettre", description: "Pas encore discuté" }
58
- ],
59
- multiSelect: false
60
- }
61
- ]
62
- })
63
- ```
64
-
65
- ---
66
-
67
- ## Analyse d'impact
68
-
69
- ### Matrice documents
70
-
71
- | Document | Impact | Modification |
72
- |----------|--------|--------------|
73
- | Discovery | {Aucun/Mineur/Majeur} | {description} |
74
- | BRD | {Aucun/Mineur/Majeur} | {description} |
75
- | FRD | {Aucun/Mineur/Majeur} | {description} |
76
- | Handoff | {Aucun/Mineur/Majeur} | {description} |
77
-
78
- ### Impact code (si implémenté)
79
-
80
- | Couche | Fichiers | Modification |
81
- |--------|----------|--------------|
82
- | Domain | {fichiers} | {ajouter/modifier/supprimer} |
83
- | Application | {fichiers} | {ajouter/modifier/supprimer} |
84
- | API | {fichiers} | {ajouter/modifier/supprimer} |
85
- | Frontend | {fichiers} | {ajouter/modifier/supprimer} |
86
-
87
- ---
88
-
89
- ## Template CR-FEAT-XXX-NNN.md
90
-
91
- ```markdown
92
- # {CR_ID} - Change Request
93
-
94
- > **Feature:** {FEATURE_ID} | **Type:** {X} | **Priorité:** {X} | **Status:** {X}
95
-
96
- ## 1. Changement
97
- ### Description | Justification | Demandeur
98
-
99
- ## 2. Impact
100
- ### Documents impactés | Specs (BR/FR/UC) | Code
101
-
102
- ## 3. Effort
103
- | Composant | Effort | Risque |
104
- | Specs | {h} | {X} |
105
- | Backend | {h} | {X} |
106
- | Frontend | {h} | {X} |
107
-
108
- ## 4. Décision
109
- ### Recommandation | Justification | Conditions
110
-
111
- ## 5. Approbation
112
- | Rôle | Décision | Date |
113
-
114
- ## 6. Prompt modification (si approuvé)
115
- CHANGE REQUEST: {CR_ID}
116
- CHANGEMENT: {description}
117
- FICHIERS: {liste}
118
- VALIDATION: {critères}
119
- ```
120
-
121
- ---
122
-
123
- ## Actions post-approbation
124
-
125
- | Action | Commande |
126
- |--------|----------|
127
- | Implémentation immédiate | Générer prompt |
128
- | Planifier | Ajouter backlog |
129
- | Specs seulement | Modifier documents |
130
-
131
- **Versioning:** 1.0 → 1.1 (mineur) / 1.0 → 2.0 (majeur)
132
-
133
- ---
134
-
135
- ## Résumé
136
-
137
- ```
138
- CR - {CR_ID}
139
- ├── Feature: {FEATURE_ID}
140
- ├── Type: {X}
141
- ├── Impact: {N} documents, {N} fichiers
142
- ├── Effort: {N} heures
143
- └── Status: {En attente/Approuvé/Rejeté}
144
- ```
@@ -1,116 +0,0 @@
1
- ---
2
- description: Phase 9 - Hotfix/Bugfix - Lightweight urgent fix documentation
3
- agent: ba-hotfix
4
- model: haiku
5
- ---
6
-
7
- # Hotfix - Correction Urgente
8
-
9
- > **Ref:** Fonctions communes dans [_shared.md](_shared.md)
10
- > **Output:** `.business-analyse/tracking/hotfixes/HF-YYYYMMDD-NNN.md`
11
-
12
- ---
13
-
14
- ## Quand utiliser
15
-
16
- | ✅ Utiliser | ❌ Ne pas utiliser |
17
- |-------------|-------------------|
18
- | Bug bloquant production | Bug complexe → `/business-analyse:bug` |
19
- | Correction simple, évidente | Changement fonctionnalité → `/business-analyse:change-request` |
20
- | Pas de changement scope | Nouvelle feature → workflow complet |
21
-
22
- ---
23
-
24
- ## Collecte rapide
25
-
26
- ```javascript
27
- AskUserQuestion({
28
- questions: [
29
- {
30
- question: "Quel est le problème?",
31
- header: "Bug",
32
- options: [
33
- { label: "Crash/Erreur 500", description: "Application plante" },
34
- { label: "Données incorrectes", description: "Calcul ou affichage erroné" },
35
- { label: "Permission/Accès", description: "Problème autorisation" },
36
- { label: "UI bloquée", description: "Interface non responsive" }
37
- ],
38
- multiSelect: false
39
- },
40
- {
41
- question: "Où se trouve le bug?",
42
- header: "Location",
43
- options: [
44
- { label: "Backend API", description: "Controller, Service" },
45
- { label: "Frontend", description: "Page, Composant" },
46
- { label: "Database", description: "Migration, Query" },
47
- { label: "Config", description: "appsettings, env" }
48
- ],
49
- multiSelect: false
50
- }
51
- ]
52
- })
53
- ```
54
-
55
- ---
56
-
57
- ## Template HF-YYYYMMDD-NNN.md
58
-
59
- ```markdown
60
- # {HF_ID} - Hotfix
61
-
62
- > **Date:** {YYYY-MM-DD HH:MM} | **Sévérité:** Critique | **Status:** En cours
63
-
64
- ## Bug
65
- **Symptôme:** {description courte}
66
- **Impact:** {qui est bloqué}
67
-
68
- ## Cause
69
- **Fichier:** `{path}` | **Ligne:** ~{N}
70
- **Problème:** {description technique}
71
-
72
- ## Correction
73
- ```{language}
74
- // AVANT
75
- {code incorrect}
76
- // APRÈS
77
- {code corrigé}
78
- ```
79
-
80
- ## Validation
81
- - [ ] Fix appliqué
82
- - [ ] Test manuel OK
83
- - [ ] Déployé
84
- ```
85
-
86
- ---
87
-
88
- ## Prompt correction
89
-
90
- ```
91
- HOTFIX URGENT - {HF_ID}
92
- PROBLÈME: {symptôme}
93
- FICHIER: {path}
94
- CORRECTION: {description}
95
- VALIDATION: {comportement attendu}
96
- ⚠️ Commit: "hotfix({module}): {HF_ID} - {description}"
97
- ```
98
-
99
- ---
100
-
101
- ## Post-hotfix
102
-
103
- 1. Marquer résolu dans .md
104
- 2. Si analyse approfondie nécessaire: `/business-analyse:bug {FEATURE_ID}`
105
- 3. Ajouter test régression
106
-
107
- ---
108
-
109
- ## Résumé
110
-
111
- ```
112
- HOTFIX - {HF_ID}
113
- ├── Sévérité: Critique
114
- ├── Location: {Backend/Frontend/DB/Config}
115
- └── Commit: hotfix({module}): {HF_ID}
116
- ```
@@ -1,121 +0,0 @@
1
- ---
2
- description: Business Analysis - Complete business analysis workflow (BABOK/IEEE 830)
3
- argument-hint: "<description du besoin>"
4
- ---
5
-
6
- # Business Analysis - Expert Workflow
7
-
8
- > **Ref:** Fonctions communes dans [_shared.md](business-analyse/_shared.md)
9
-
10
- Senior BA expert. Produce specs, NOT code.
11
-
12
- ---
13
-
14
- ## Mode Automatique (Recommandé)
15
-
16
- ```bash
17
- /business-analyse "Je veux gérer les contacts clients avec import/export"
18
- ```
19
-
20
- Orchestre: MCP check → Contexte → Phases 1-7 → Implementation → Documentation HTML
21
-
22
- ---
23
-
24
- ## Workflow 7 Phases
25
-
26
- ```
27
- INIT → DISCOVER → ANALYSE → SPECIFY → VALIDATE → HANDOFF → DOC-HTML
28
- │ │ │ │ │ │ │
29
- v v v v v v v
30
- Setup Discovery BRD.md FRD.md Approval Prompt React
31
- Haiku Opus Sonnet Sonnet Haiku Opus Sonnet
32
- ```
33
-
34
- ---
35
-
36
- ## Commandes
37
-
38
- | Phase | Commande | Modèle | Output |
39
- |-------|----------|--------|--------|
40
- | AUTO | `/business-analyse` | opus | Feature complète |
41
- | 0 | `:0-orchestrate` | opus | context.json, prd.json |
42
- | 1 | `:1-init` | haiku | Structure + config.json |
43
- | 2 | `:2-discover` | opus | 1-discovery.md |
44
- | 3 | `:3-analyse` | sonnet | 2-brd.md |
45
- | 4 | `:4-specify` | sonnet | 3-frd.md |
46
- | 5 | `:5-validate` | haiku | validation.json |
47
- | 6 | `:6-handoff` | opus | 4-handoff.md |
48
- | 7 | `:7-doc-html` | sonnet | DocumentationPage.tsx |
49
- | + | `:bug` | sonnet | BUG-XXX.md |
50
- | ⚡ | `:hotfix` | haiku | HF-XXX.md |
51
- | 🔄 | `:change-request` | sonnet | CR-XXX.md |
52
-
53
- ---
54
-
55
- ## Restriction Contexte
56
-
57
- **BUSINESS uniquement** - Refuser platform/personal/system
58
-
59
- Permission path: `business.{application}.{module}.{action}`
60
-
61
- ---
62
-
63
- ## Règles Absolues
64
-
65
- 1. **JAMAIS de code** dans les specs (tables, diagrammes textuels uniquement)
66
- 2. **ULTRATHINK** obligatoire phases 2, 3, 4, 6
67
- 3. **Validation Phase 5** obligatoire avant handoff
68
- 4. **NOK → ANALYSE** (réviser si rejeté)
69
- 5. **Context7** obligatoire pour génération React (phase 7)
70
- 6. **4 langues i18n** (FR, EN, IT, DE)
71
-
72
- ---
73
-
74
- ## Feature ID Format
75
-
76
- - Feature: `FEAT-XXX`
77
- - Business Rule: `BR-XXX`
78
- - Functional Req: `FR-XXX`
79
- - Use Case: `UC-XXX`
80
- - Bug: `BUG-XXX`
81
- - Hotfix: `HF-YYYYMMDD-NNN`
82
- - Change Request: `CR-FEAT-XXX-N`
83
-
84
- ---
85
-
86
- ## Quick Start
87
-
88
- ```bash
89
- # Mode automatique
90
- /business-analyse "Description du besoin"
91
-
92
- # Mode manuel
93
- /business-analyse:1-init
94
- /business-analyse:2-discover {app} {module} "Description"
95
- /business-analyse:3-analyse FEAT-001
96
- /business-analyse:4-specify FEAT-001
97
- /business-analyse:5-validate FEAT-001
98
- /business-analyse:6-handoff FEAT-001
99
- /implement FEAT-001
100
- /business-analyse:7-doc-html FEAT-001
101
- ```
102
-
103
- ---
104
-
105
- ## Post-Implementation
106
-
107
- ```bash
108
- /business-analyse:bug FEAT-001 # Bug découvert
109
- /business-analyse:hotfix # Fix urgent
110
- /business-analyse:change-request FEAT-001 # Changement scope
111
- ```
112
-
113
- ---
114
-
115
- ## Exécution Auto
116
-
117
- ```javascript
118
- if (ARGUMENTS && ARGUMENTS.trim().length > 0) {
119
- execute("/business-analyse:0-orchestrate " + ARGUMENTS);
120
- }
121
- ```
@@ -1,216 +0,0 @@
1
- # /controller:create - Génération Controller API SmartStack
2
-
3
- > **Synergie Skill/Commande:**
4
- > - **Skill** (`.claude/skills/controller/`) → Invocation automatique par Claude
5
- > - **Commande** (`/controller:create`) → Invocation manuelle par l'utilisateur
6
- > - Templates partagés dans `.claude/skills/controller/templates.md`
7
-
8
- ---
9
-
10
- ## ARGUMENTS
11
-
12
- ```
13
- /controller:create <area> <module> [entity]
14
- ```
15
-
16
- | Variable | Extraction | Valeurs |
17
- |----------|------------|---------|
18
- | `$AREA` | Premier mot | `Admin`, `Support`, `Business`, `User`, `Auth` |
19
- | `$MODULE` | Deuxième mot | Nom du module (PascalCase) |
20
- | `$ENTITY` | Troisième mot (optionnel) | Nom de l'entité Domain (défaut = singulier de $MODULE) |
21
-
22
- **Exemples:**
23
- ```
24
- /controller:create Admin Users
25
- /controller:create Support Tickets Ticket
26
- /controller:create Support Sla SlaDefinition
27
- ```
28
-
29
- ---
30
-
31
- ## RÈGLES ABSOLUES
32
-
33
- 1. **TOUJOURS** utiliser `[RequirePermission(Permissions.*)]` - jamais de strings
34
- 2. **TOUJOURS** ajouter `[ProducesResponseType]` pour chaque status possible
35
- 3. **TOUJOURS** logger les opérations (Info pour CRUD, Warning pour Delete/Sensitive)
36
- 4. **TOUJOURS** protéger les comptes système (UserType.System/LocalAdmin)
37
- 5. **JAMAIS** de SQL direct - utiliser EF Core
38
- 6. **JAMAIS** d'endpoint sans permission (sauf [AllowAnonymous] pour auth)
39
-
40
- ---
41
-
42
- ## WORKFLOW
43
-
44
- ### ÉTAPE 1: PARSING DES ARGUMENTS
45
-
46
- ```
47
- EXTRAIRE $AREA = premier mot des arguments (PascalCase)
48
- EXTRAIRE $MODULE = deuxième mot des arguments (PascalCase)
49
- EXTRAIRE $ENTITY = troisième mot OU singulier de $MODULE
50
-
51
- SI $AREA absent → AskUserQuestion (options: Admin, Support, Business, User, Auth)
52
- SI $MODULE absent → AskUserQuestion (texte libre)
53
- ```
54
-
55
- ### ÉTAPE 2: ANALYSE EXISTANTE
56
-
57
- | Action | Commande |
58
- |--------|----------|
59
- | Entity Domain | `Glob "Domain/**/{Entity}.cs"` |
60
- | Permissions existantes | `Read Permissions.cs` |
61
- | DbContext DbSet | `Grep "{Entity}s" ApplicationDbContext.cs` |
62
- | Controller existant | `Glob "Controllers/{Area}/{Module}Controller.cs"` |
63
-
64
- ### ÉTAPE 3: CONFIRMATION UTILISATEUR
65
-
66
- ```typescript
67
- AskUserQuestion({
68
- questions: [
69
- {
70
- header: "Type",
71
- question: "Quel type de controller ?",
72
- options: [
73
- { label: "CRUD Complet (Recommended)", description: "GET list, GET by ID, POST, PUT, PATCH, DELETE" },
74
- { label: "Read-Only", description: "GET list, GET by ID uniquement" },
75
- { label: "Custom", description: "Actions spécifiques à définir" }
76
- ]
77
- },
78
- {
79
- header: "Postman",
80
- question: "Générer les tests Postman ?",
81
- options: [
82
- { label: "Oui (Recommended)", description: "Ajoute tests dans SmartStack.Security.postman_collection.json" },
83
- { label: "Non", description: "Controller uniquement" }
84
- ]
85
- }
86
- ]
87
- })
88
- ```
89
-
90
- ### ÉTAPE 4: VALIDATION SÉCURITÉ
91
-
92
- **Vérifications obligatoires avant génération:**
93
-
94
- 1. ✅ Permission path existe ou sera créée
95
- 2. ✅ Format permission: `context.application.module.action`
96
- 3. ✅ DbSet existe dans ApplicationDbContext
97
- 4. ✅ Entity a les méthodes Create/Update nécessaires
98
-
99
- ### ÉTAPE 5: GÉNÉRATION
100
-
101
- | Fichier | Chemin | Action |
102
- |---------|--------|--------|
103
- | Controller | `src/SmartStack.Api/Controllers/{Area}/{Module}Controller.cs` | CREATE |
104
- | Permissions | `src/SmartStack.Application/Common/Authorization/Permissions.cs` | UPDATE |
105
- | Tests Postman | `tests/SmartStack.Security.postman_collection.json` | UPDATE (si choisi) |
106
-
107
- **Utiliser templates de** → `.claude/skills/controller/templates.md`
108
-
109
- ### ÉTAPE 6: LOGS CRITIQUES - VÉRIFICATION
110
-
111
- Après génération, **VÉRIFIER** que le controller contient :
112
-
113
- | Événement | Niveau Requis | Présent ? |
114
- |-----------|---------------|-----------|
115
- | Login échoué (si auth) | `LogCritical` | ☐ |
116
- | Compte verrouillé (si auth) | `LogCritical` | ☐ |
117
- | Password change | `LogWarning` | ☐ |
118
- | Création | `LogInformation` | ☐ |
119
- | Modification | `LogInformation` | ☐ |
120
- | Suppression | `LogWarning` | ☐ |
121
- | Désactivation | `LogWarning` | ☐ |
122
-
123
- ### ÉTAPE 7: RÉSUMÉ FINAL
124
-
125
- Afficher:
126
- - ✅ Fichiers créés (chemins cliquables)
127
- - 🔐 Permissions ajoutées
128
- - 🧪 Tests Postman générés (si applicable)
129
- - 📝 Prochaines étapes:
130
- - Vérifier les DTOs
131
- - Ajouter validation métier si nécessaire
132
- - Tester avec Swagger/Postman
133
-
134
- ---
135
-
136
- ## SOURCES DE DONNÉES
137
-
138
- | Donnée | Source |
139
- |--------|--------|
140
- | Entity Domain | `src/SmartStack.Domain/**/{Entity}.cs` |
141
- | DbContext | `src/SmartStack.Application/Common/Interfaces/IApplicationDbContext.cs` |
142
- | Permissions | `src/SmartStack.Application/Common/Authorization/Permissions.cs` |
143
- | Controllers existants | `src/SmartStack.Api/Controllers/**/*.cs` |
144
- | Tests Postman | `tests/SmartStack.Security.postman_collection.json` |
145
-
146
- ---
147
-
148
- ## MAPPING AREA → ROUTE
149
-
150
- | Area | Route Prefix | Permission Context |
151
- |------|--------------|-------------------|
152
- | `Admin` | `api/admin/` | `platform.administration.` |
153
- | `Support` | `api/support/` | `platform.support.` |
154
- | `Business` | `api/business/` | `business.` |
155
- | `User` | `api/user/` | `personal.myspace.` |
156
- | `Auth` | `api/auth/` | (AllowAnonymous pour login) |
157
-
158
- ---
159
-
160
- ## TEMPLATES
161
-
162
- → **Voir `.claude/skills/controller/templates.md`**
163
-
164
- Templates disponibles:
165
- - CRUD Controller (standard)
166
- - Auth Controller (login/logout/change-password)
167
- - Controller avec Relations (nested resources)
168
- - Patterns réutilisables (pagination, error responses)
169
-
170
- → **Voir `.claude/skills/controller/postman-templates.md`**
171
-
172
- Templates tests:
173
- - GET list (200, 403, 401)
174
- - POST create (201, 403)
175
- - DELETE (403)
176
- - Auth (login success/fail, invalid token)
177
-
178
- ---
179
-
180
- ## CONTRAINTES TECHNIQUES
181
-
182
- ### Injection de Dépendances (Obligatoire)
183
-
184
- ```csharp
185
- public {Module}Controller(
186
- IApplicationDbContext context, // TOUJOURS
187
- ICurrentUserService currentUser, // TOUJOURS
188
- ILogger<{Module}Controller> logger // TOUJOURS
189
- // + services spécifiques au module
190
- )
191
- ```
192
-
193
- ### ProducesResponseType (Obligatoire)
194
-
195
- ```csharp
196
- [ProducesResponseType(typeof(PagedResult<T>), StatusCodes.Status200OK)]
197
- [ProducesResponseType(StatusCodes.Status401Unauthorized)] // Si [Authorize]
198
- [ProducesResponseType(StatusCodes.Status403Forbidden)] // Si [RequirePermission]
199
- [ProducesResponseType(StatusCodes.Status404NotFound)] // Si GET/PUT/DELETE by ID
200
- ```
201
-
202
- ### Logging Pattern (Obligatoire)
203
-
204
- ```csharp
205
- // Information - opérations standard
206
- _logger.LogInformation("User {User} created {Entity} {Id}",
207
- _currentUser.Email, entity.Id);
208
-
209
- // Warning - opérations sensibles
210
- _logger.LogWarning("User {User} deleted {Entity} {Id} ({Name})",
211
- _currentUser.Email, id, entity.Name);
212
-
213
- // Critical - sécurité (automatique via middleware pour 401/403)
214
- _logger.LogCritical("SECURITY: Login attempt on locked account - {Email} from {IP}",
215
- email, ipAddress);
216
- ```