@atlashub/smartstack-cli 1.11.0 → 1.13.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.
Files changed (74) hide show
  1. package/.documentation/agents.html +7 -2
  2. package/.documentation/apex.html +7 -2
  3. package/.documentation/business-analyse.html +7 -2
  4. package/.documentation/cli-commands.html +871 -0
  5. package/.documentation/commands.html +7 -2
  6. package/.documentation/efcore.html +7 -2
  7. package/.documentation/gitflow.html +7 -2
  8. package/.documentation/hooks.html +7 -2
  9. package/.documentation/index.html +7 -2
  10. package/.documentation/init.html +7 -2
  11. package/.documentation/installation.html +7 -2
  12. package/.documentation/ralph-loop.html +7 -2
  13. package/.documentation/test-web.html +7 -2
  14. package/dist/index.js +1932 -336
  15. package/dist/index.js.map +1 -1
  16. package/package.json +8 -2
  17. package/templates/agents/efcore/squash.md +67 -31
  18. package/templates/agents/gitflow/finish.md +68 -56
  19. package/templates/commands/business-analyse/0-orchestrate.md +72 -556
  20. package/templates/commands/business-analyse/1-init.md +23 -193
  21. package/templates/commands/business-analyse/2-discover.md +85 -462
  22. package/templates/commands/business-analyse/3-analyse.md +40 -342
  23. package/templates/commands/business-analyse/4-specify.md +72 -537
  24. package/templates/commands/business-analyse/5-validate.md +43 -237
  25. package/templates/commands/business-analyse/6-handoff.md +93 -682
  26. package/templates/commands/business-analyse/7-doc-html.md +45 -544
  27. package/templates/commands/business-analyse/_shared.md +176 -0
  28. package/templates/commands/business-analyse/bug.md +50 -257
  29. package/templates/commands/business-analyse/change-request.md +59 -283
  30. package/templates/commands/business-analyse/hotfix.md +36 -120
  31. package/templates/commands/business-analyse.md +55 -574
  32. package/templates/commands/efcore/_shared.md +206 -0
  33. package/templates/commands/efcore/conflicts.md +39 -201
  34. package/templates/commands/efcore/db-deploy.md +28 -237
  35. package/templates/commands/efcore/db-reset.md +41 -390
  36. package/templates/commands/efcore/db-seed.md +44 -323
  37. package/templates/commands/efcore/db-status.md +31 -210
  38. package/templates/commands/efcore/migration.md +45 -368
  39. package/templates/commands/efcore/rebase-snapshot.md +38 -241
  40. package/templates/commands/efcore/scan.md +35 -204
  41. package/templates/commands/efcore/squash.md +158 -251
  42. package/templates/commands/efcore.md +49 -177
  43. package/templates/commands/gitflow/1-init.md +94 -1318
  44. package/templates/commands/gitflow/10-start.md +86 -990
  45. package/templates/commands/gitflow/11-finish.md +264 -454
  46. package/templates/commands/gitflow/12-cleanup.md +40 -213
  47. package/templates/commands/gitflow/2-status.md +51 -386
  48. package/templates/commands/gitflow/3-commit.md +108 -801
  49. package/templates/commands/gitflow/4-plan.md +42 -13
  50. package/templates/commands/gitflow/5-exec.md +60 -5
  51. package/templates/commands/gitflow/6-abort.md +54 -277
  52. package/templates/commands/gitflow/7-pull-request.md +74 -717
  53. package/templates/commands/gitflow/8-review.md +51 -178
  54. package/templates/commands/gitflow/9-merge.md +74 -404
  55. package/templates/commands/gitflow/_shared.md +196 -0
  56. package/templates/commands/quickstart.md +154 -0
  57. package/templates/commands/ralph-loop/ralph-loop.md +104 -2
  58. package/templates/hooks/hooks.json +13 -0
  59. package/templates/hooks/ralph-mcp-logger.sh +46 -0
  60. package/templates/hooks/ralph-session-end.sh +69 -0
  61. package/templates/ralph/README.md +91 -0
  62. package/templates/ralph/ralph.config.yaml +113 -0
  63. package/templates/scripts/setup-ralph-loop.sh +173 -0
  64. package/templates/skills/_shared.md +117 -0
  65. package/templates/skills/ai-prompt/SKILL.md +87 -654
  66. package/templates/skills/application/SKILL.md +76 -499
  67. package/templates/skills/controller/SKILL.md +38 -165
  68. package/templates/skills/documentation/SKILL.md +2 -1
  69. package/templates/skills/feature-full/SKILL.md +107 -732
  70. package/templates/skills/notification/SKILL.md +85 -474
  71. package/templates/skills/ui-components/SKILL.md +62 -762
  72. package/templates/skills/workflow/SKILL.md +85 -489
  73. package/templates/commands/gitflow/rescue.md +0 -867
  74. package/templates/skills/business-analyse/SKILL.md +0 -191
@@ -6,226 +6,100 @@ model: haiku
6
6
 
7
7
  # Phase 8: REVIEW - Review PR avec checklist
8
8
 
9
- Tu es expert code review .NET/EF Core. Analyse la PR et fournis feedback structure.
9
+ **Argument:** `$ARGUMENTS` = numéro PR (requis)
10
10
 
11
- **Argument:** `$ARGUMENTS` = numero PR ou URL (requis)
12
-
13
- ---
14
-
15
- ## Detection du provider
16
-
17
- ```bash
18
- REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
19
-
20
- if [[ "$REMOTE_URL" == *"dev.azure.com"* ]] || [[ "$REMOTE_URL" == *"visualstudio.com"* ]]; then
21
- GIT_PROVIDER="azuredevops"
22
- if [[ "$REMOTE_URL" =~ dev\.azure\.com/([^/]+)/([^/]+)/_git/([^/]+) ]]; then
23
- AZURE_ORG="${BASH_REMATCH[1]}"
24
- AZURE_PROJECT="${BASH_REMATCH[2]}"
25
- AZURE_REPO="${BASH_REMATCH[3]}"
26
- fi
27
- elif [[ "$REMOTE_URL" == *"github.com"* ]]; then
28
- GIT_PROVIDER="github"
29
- else
30
- GIT_PROVIDER="unknown"
31
- fi
32
- ```
11
+ > **Ref:** Fonction `detect_git_provider()` dans [_shared.md](_shared.md)
33
12
 
34
13
  ---
35
14
 
36
15
  ## Chargement PR
37
16
 
38
17
  ```bash
39
- if [ "$GIT_PROVIDER" = "azuredevops" ]; then
40
- # Recuperer infos PR Azure DevOps
41
- az repos pr show --id {number} \
42
- --organization "https://dev.azure.com/$AZURE_ORG" \
43
- --project "$AZURE_PROJECT"
44
-
45
- # Recuperer les fichiers changes
46
- az repos pr diff --id {number} \
47
- --organization "https://dev.azure.com/$AZURE_ORG" \
48
- --project "$AZURE_PROJECT"
49
- else
50
- # Recuperer infos PR GitHub
51
- gh pr view {number} --json title,body,files,commits,reviews,checks
52
-
53
- # Recuperer diff
54
- gh pr diff {number}
55
- fi
18
+ # GitHub
19
+ gh pr view {number} --json title,body,files,commits,reviews,checks
20
+ gh pr diff {number}
21
+
22
+ # Azure DevOps
23
+ az repos pr show --id {number} --organization "https://dev.azure.com/$AZURE_ORG" --project "$AZURE_PROJECT"
56
24
  ```
57
25
 
58
26
  ---
59
27
 
60
28
  ## Checklist Review
61
29
 
62
- ### 1. Code Quality
30
+ ### Code Quality
63
31
 
64
- | Check | Critere | Poids |
32
+ | Check | Critère | Poids |
65
33
  |-------|---------|-------|
66
- | Lisibilite | Noms clairs, structure logique | HIGH |
34
+ | Lisibilité | Noms clairs, structure logique | HIGH |
67
35
  | DRY | Pas de duplication | MEDIUM |
68
- | SOLID | Principes respectes | MEDIUM |
69
- | Complexite | Methodes < 20 lignes, cyclomatic < 10 | LOW |
36
+ | SOLID | Principes respectés | MEDIUM |
37
+ | Complexité | Méthodes < 20 lignes | LOW |
70
38
 
71
- ### 2. Patterns .NET
39
+ ### Patterns .NET
72
40
 
73
41
  | Check | Validation |
74
42
  |-------|------------|
75
43
  | Async/Await | Pas de `.Result` ou `.Wait()` |
76
- | Dependency Injection | Pas de `new Service()` |
77
- | Null handling | `?.` ou `??` ou `required` |
78
- | Exceptions | Specifiques, pas `catch (Exception)` |
79
-
80
- ### 3. EF Core (si migrations)
81
-
82
- | Check | Validation | Severite |
83
- |-------|------------|----------|
84
- | 3 fichiers | Migration + Designer + ModelSnapshot | BLOQUANT |
85
- | Naming | Convention `{Date}_{Description}` | WARNING |
86
- | Down() | Methode Down implementee | WARNING |
87
- | Indexes | Sur colonnes FK et filtres frequents | INFO |
88
- | Data loss | Pas de DropColumn sans backup | BLOQUANT |
89
-
90
- ### 4. Tests
91
-
92
- | Check | Critere |
93
- |-------|---------|
94
- | Coverage | Nouveau code couvert |
95
- | Naming | `{Method}_Should_{Behavior}_When_{Condition}` |
96
- | Arrange/Act/Assert | Structure claire |
97
- | Mocks | Pas de dependances reelles |
98
-
99
- ### 5. Security
100
-
101
- | Check | Pattern a detecter | Severite |
102
- |-------|-------------------|----------|
103
- | Secrets | `password`, `apikey`, `secret` hardcodes | BLOQUANT |
104
- | SQL Injection | String concat dans queries | BLOQUANT |
105
- | XSS | `@Html.Raw()` sans sanitization | HIGH |
106
- | Auth | `[AllowAnonymous]` sur endpoints sensibles | HIGH |
44
+ | DI | Pas de `new Service()` |
45
+ | Null | `?.` ou `??` ou `required` |
46
+ | Exceptions | Spécifiques, pas `catch (Exception)` |
107
47
 
108
- ---
48
+ ### EF Core (si migrations)
109
49
 
110
- ## Analyse automatique
50
+ | Check | Sévérité |
51
+ |-------|----------|
52
+ | 3 fichiers complets | BLOQUANT |
53
+ | Naming convention | WARNING |
54
+ | Down() implémenté | WARNING |
55
+ | Pas de DropColumn sans backup | BLOQUANT |
111
56
 
112
- ### Fichiers a examiner en priorite
57
+ ### Security
113
58
 
114
- | Priorite | Type | Raison |
115
- |----------|------|--------|
116
- | 1 | `*Migration*.cs` | Impact base de donnees |
117
- | 2 | `*Controller*.cs` | Surface d'attaque |
118
- | 3 | `*Service*.cs` | Logique metier |
119
- | 4 | `*.razor` | UI et securite XSS |
120
- | 5 | Tests | Qualite couverture |
59
+ | Pattern | Sévérité |
60
+ |---------|----------|
61
+ | Secrets hardcodés | BLOQUANT |
62
+ | SQL Injection | BLOQUANT |
63
+ | `@Html.Raw()` sans sanitization | HIGH |
64
+ | `[AllowAnonymous]` sur sensible | HIGH |
121
65
 
122
- ### Metriques
66
+ ---
123
67
 
124
- ```
125
- METRIQUES PR
126
- ────────────────────────────────
127
- Fichiers: {count} (+{added}/-{removed})
128
- Commits: {count}
129
- Insertions: +{lines}
130
- Deletions: -{lines}
131
-
132
- Ratio tests: {test_files}/{total_files}
133
- ────────────────────────────────
134
- ```
68
+ ## Priorité fichiers
135
69
 
136
- ---
70
+ 1. `*Migration*.cs` - Impact DB
71
+ 2. `*Controller*.cs` - Surface d'attaque
72
+ 3. `*Service*.cs` - Logique métier
73
+ 4. Tests - Couverture
137
74
 
138
- ## Output Review
75
+ ---
139
76
 
140
- ### Format
77
+ ## Output
141
78
 
142
79
  ```
143
80
  CODE REVIEW - PR #{number}
144
- ════════════════════════════════════════
145
-
146
- RESUME: {APPROVE | CHANGES_REQUESTED | COMMENT}
81
+ RÉSUMÉ: {APPROVE | CHANGES_REQUESTED}
147
82
 
148
- BLOQUANTS ({count}):
83
+ BLOQUANTS:
149
84
  🔴 [{file}:{line}] {description}
150
- Suggestion: {fix}
151
85
 
152
- WARNINGS ({count}):
86
+ WARNINGS:
153
87
  🟡 [{file}:{line}] {description}
154
- Suggestion: {fix}
155
-
156
- SUGGESTIONS ({count}):
157
- 🟢 [{file}:{line}] {description}
158
88
 
159
89
  POINTS POSITIFS:
160
- ✨ {ce qui est bien fait}
161
-
162
- ════════════════════════════════════════
163
- ```
164
-
165
- ### Soumission review
166
-
167
- #### GitHub
168
-
169
- ```bash
170
- if [ "$GIT_PROVIDER" = "github" ]; then
171
- # Approve
172
- gh pr review {number} --approve --body "{comments}"
173
-
174
- # Request changes
175
- gh pr review {number} --request-changes --body "{comments}"
176
-
177
- # Comment only
178
- gh pr review {number} --comment --body "{comments}"
179
- fi
90
+ ✨ {ce qui est bien}
180
91
  ```
181
92
 
182
- #### Azure DevOps
93
+ ### Soumission
183
94
 
184
95
  ```bash
185
- if [ "$GIT_PROVIDER" = "azuredevops" ]; then
186
- # Azure DevOps utilise un systeme de vote:
187
- # 10 = Approved, 5 = Approved with suggestions, 0 = No vote, -5 = Waiting, -10 = Rejected
188
-
189
- # Approve
190
- az repos pr set-vote --id {number} --vote approve \
191
- --organization "https://dev.azure.com/$AZURE_ORG" \
192
- --project "$AZURE_PROJECT"
193
-
194
- # Request changes (reject)
195
- az repos pr set-vote --id {number} --vote reject \
196
- --organization "https://dev.azure.com/$AZURE_ORG" \
197
- --project "$AZURE_PROJECT"
198
-
199
- # Ajouter commentaire
200
- az repos pr comment create --id {number} \
201
- --content "{comments}" \
202
- --organization "https://dev.azure.com/$AZURE_ORG" \
203
- --project "$AZURE_PROJECT"
204
- fi
205
- ```
96
+ # GitHub
97
+ gh pr review {number} --approve --body "{comments}"
98
+ gh pr review {number} --request-changes --body "{comments}"
206
99
 
207
- > **Note Azure DevOps:** Les votes possibles sont: `approve`, `approve-with-suggestions`, `reset`, `wait-for-author`, `reject`
208
-
209
- ---
210
-
211
- ## Resume
212
-
213
- ```
214
- REVIEW COMPLETE
215
- ────────────────────────────────
216
- PR: #{number}
217
- Status: {APPROVED|CHANGES_REQUESTED|COMMENTED}
218
-
219
- Issues:
220
- Bloquants: {count}
221
- Warnings: {count}
222
- Suggestions: {count}
223
-
224
- EF Core: {OK|ISSUES|N/A}
225
- Tests: {COVERED|MISSING|N/A}
226
- Security: {OK|ISSUES}
227
- ────────────────────────────────
228
- Prochain: /gitflow:9-merge #{number}
100
+ # Azure DevOps
101
+ az repos pr set-vote --id {number} --vote approve
102
+ az repos pr set-vote --id {number} --vote reject
229
103
  ```
230
104
 
231
105
  ---
@@ -235,6 +109,5 @@ Prochain: /gitflow:9-merge #{number}
235
109
  | Commande | Action |
236
110
  |----------|--------|
237
111
  | `/gitflow:8-review 123` | Review PR #123 |
238
- | `/gitflow:8-review --security` | Focus securite |
239
- | `/gitflow:8-review --ef-core` | Focus migrations |
112
+ | `/gitflow:8-review --security` | Focus sécurité |
240
113
  | `/gitflow:8-review --quick` | Checklist rapide |