@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.
Files changed (60) hide show
  1. package/.documentation/agents.html +5 -1
  2. package/.documentation/apex.html +5 -1
  3. package/.documentation/business-analyse.html +5 -1
  4. package/.documentation/commands.html +5 -1
  5. package/.documentation/css/styles.css +2168 -2168
  6. package/.documentation/efcore.html +5 -1
  7. package/.documentation/gitflow.html +5 -1
  8. package/.documentation/hooks.html +5 -1
  9. package/.documentation/index.html +5 -1
  10. package/.documentation/init.html +565 -0
  11. package/.documentation/installation.html +92 -6
  12. package/.documentation/js/app.js +794 -794
  13. package/.documentation/ralph-loop.html +534 -530
  14. package/.documentation/test-web.html +5 -1
  15. package/dist/index.js +817 -277
  16. package/dist/index.js.map +1 -1
  17. package/package.json +1 -1
  18. package/templates/agents/efcore/conflicts.md +44 -17
  19. package/templates/agents/efcore/db-status.md +27 -6
  20. package/templates/agents/efcore/scan.md +43 -13
  21. package/templates/commands/ai-prompt.md +315 -315
  22. package/templates/commands/application/create.md +362 -362
  23. package/templates/commands/controller/create.md +216 -216
  24. package/templates/commands/controller.md +59 -0
  25. package/templates/commands/documentation/module.md +202 -202
  26. package/templates/commands/efcore/_env-check.md +153 -153
  27. package/templates/commands/efcore/conflicts.md +109 -192
  28. package/templates/commands/efcore/db-status.md +101 -89
  29. package/templates/commands/efcore/migration.md +23 -11
  30. package/templates/commands/efcore/scan.md +115 -119
  31. package/templates/commands/efcore.md +54 -6
  32. package/templates/commands/feature-full.md +267 -267
  33. package/templates/commands/gitflow/11-finish.md +145 -11
  34. package/templates/commands/gitflow/13-sync.md +216 -216
  35. package/templates/commands/gitflow/14-rebase.md +251 -251
  36. package/templates/commands/gitflow/2-status.md +120 -10
  37. package/templates/commands/gitflow/3-commit.md +150 -0
  38. package/templates/commands/gitflow/7-pull-request.md +134 -5
  39. package/templates/commands/gitflow/9-merge.md +142 -1
  40. package/templates/commands/implement.md +663 -663
  41. package/templates/commands/init.md +567 -0
  42. package/templates/commands/mcp-integration.md +330 -0
  43. package/templates/commands/notification.md +129 -129
  44. package/templates/commands/validate.md +233 -0
  45. package/templates/commands/workflow.md +193 -193
  46. package/templates/skills/ai-prompt/SKILL.md +778 -778
  47. package/templates/skills/application/SKILL.md +563 -563
  48. package/templates/skills/application/templates-backend.md +450 -450
  49. package/templates/skills/application/templates-frontend.md +531 -531
  50. package/templates/skills/application/templates-i18n.md +520 -520
  51. package/templates/skills/application/templates-seed.md +647 -647
  52. package/templates/skills/controller/SKILL.md +240 -240
  53. package/templates/skills/controller/postman-templates.md +614 -614
  54. package/templates/skills/controller/templates.md +1468 -1468
  55. package/templates/skills/documentation/SKILL.md +133 -133
  56. package/templates/skills/documentation/templates.md +476 -476
  57. package/templates/skills/feature-full/SKILL.md +838 -838
  58. package/templates/skills/notification/SKILL.md +555 -555
  59. package/templates/skills/ui-components/SKILL.md +870 -870
  60. package/templates/skills/workflow/SKILL.md +582 -582
@@ -1,202 +1,202 @@
1
- # /documentation:module - Génération Documentation SmartStack
2
-
3
- > **Synergie Skill/Commande:**
4
- > - **Skill** (`.claude/skills/documentation/`) → Invocation automatique par Claude
5
- > - **Commande** (`/documentation:module`) → Invocation manuelle par l'utilisateur
6
- > - Templates partagés dans `.claude/skills/documentation/templates.md`
7
-
8
- ---
9
-
10
- ## ARGUMENTS
11
-
12
- ```
13
- /documentation:module <type> <target>
14
- ```
15
-
16
- | Variable | Extraction | Valeurs |
17
- |----------|------------|---------|
18
- | `$TYPE` | Premier mot | `user` \| `developer` \| `database` \| `testing` |
19
- | `$TARGET` | Reste de la ligne | Nom du module, outil, ou schéma |
20
-
21
- ---
22
-
23
- ## RÈGLES ABSOLUES
24
-
25
- 1. **JAMAIS** de texte en dur → `useTranslation('docs')`
26
- 2. **JAMAIS** d'ASCII art → composants React/HTML pour MCD
27
- 3. **TOUJOURS** lire les sources existantes avant de générer
28
- 4. **TOUJOURS** demander confirmation avant de créer les fichiers
29
- 5. **TOUJOURS** mettre à jour App.tsx et les index parents
30
-
31
- ---
32
-
33
- ## WORKFLOW
34
-
35
- ### ÉTAPE 1: PARSING DES ARGUMENTS
36
-
37
- ```
38
- EXTRAIRE $TYPE = premier mot des arguments
39
- EXTRAIRE $TARGET = reste des arguments
40
-
41
- SI $TYPE absent OU non reconnu → AskUserQuestion
42
- SI $TARGET absent → AskUserQuestion
43
- ```
44
-
45
- ### ÉTAPE 2: ANALYSE (selon $TYPE)
46
-
47
- #### SI $TYPE == "user"
48
-
49
- | Action | Commande |
50
- |--------|----------|
51
- | Trouver le module | `Grep "code.*$TARGET" src/.../Navigation/` |
52
- | Composants React | `Glob "web/.../pages/**/*$TARGET*"` |
53
- | Permissions | `Grep "$TARGET" src/.../Permissions.cs` |
54
- | Endpoints API | `Grep "$TARGET" src/.../Controllers/` |
55
-
56
- #### SI $TYPE == "database"
57
-
58
- | Action | Commande |
59
- |--------|----------|
60
- | Tables du schéma | `Read ApplicationDbContextModelSnapshot.cs` |
61
- | Configurations | `Glob "Persistence/Configurations/$TARGET/*.cs"` |
62
- | Entités Domain | `Glob "Domain/Entities/$TARGET/*.cs"` |
63
-
64
- #### SI $TYPE == "developer" ou "testing"
65
-
66
- | Action | Commande |
67
- |--------|----------|
68
- | Doc existante | `Glob "pages/docs/developer/**/*$TARGET*"` |
69
- | Fichiers config | `Glob "**/$TARGET*.{json,yaml}"` |
70
- | Doc officielle | `WebSearch` |
71
-
72
- ### ÉTAPE 3: CONFIRMATION UTILISATEUR
73
-
74
- ```typescript
75
- AskUserQuestion({
76
- questions: [{
77
- header: "Détail",
78
- question: "Quel niveau de détail pour '$TARGET' ?",
79
- options: [
80
- { label: "Complet (Recommended)", description: "Toutes sections" },
81
- { label: "Standard", description: "Sections principales" },
82
- { label: "Minimal", description: "Référence rapide" }
83
- ]
84
- }]
85
- })
86
- ```
87
-
88
- ### ÉTAPE 4: GÉNÉRATION
89
-
90
- | $TYPE | Fichier | Chemin |
91
- |-------|---------|--------|
92
- | `user` | `{Module}DocPage.tsx` | `pages/docs/user/{context}/` |
93
- | `developer` | `{Tool}Page.tsx` | `pages/docs/developer/tools/` |
94
- | `database` | `{Schema}SchemaPage.tsx` | `pages/docs/developer/database/` |
95
- | `testing` | `{Tool}TestingPage.tsx` | `pages/docs/developer/testing/` |
96
-
97
- **Fichiers à créer/modifier:**
98
- 1. Page React (utiliser template de `templates.md`)
99
- 2. Traductions EN → `i18n/locales/en/docs.json`
100
- 3. Traductions FR → `i18n/locales/fr/docs.json`
101
- 4. Route → `App.tsx`
102
- 5. Index parent → lien de navigation
103
- 6. **UserIndexPage.tsx** → Ajouter le module à la hiérarchie (SI $TYPE == "user")
104
-
105
- ### ÉTAPE 4bis: INTÉGRATION UserIndexPage (SI $TYPE == "user")
106
-
107
- **OBLIGATOIRE** pour les modules utilisateur: Vérifier et mettre à jour `UserIndexPage.tsx`
108
-
109
- ```typescript
110
- // Fichier: web/smartstack-web/src/pages/docs/user/UserIndexPage.tsx
111
-
112
- // 1. Ajouter l'icône si nécessaire
113
- import { ..., {IconName} } from 'lucide-react';
114
-
115
- // 2. Trouver l'application parente dans la hiérarchie
116
- // - Platform > Administration: pour les modules admin
117
- // - Platform > Support: pour les modules support
118
- // - Personal > MySpace: pour les modules personnels
119
-
120
- // 3. Ajouter le module dans le tableau `modules` de l'application:
121
- {
122
- name: t('user.modules.{module}.name'),
123
- icon: {IconName},
124
- href: '/docs/user/{slug}',
125
- description: t('user.modules.{module}.description')
126
- },
127
-
128
- // 4. Ajouter les traductions dans docs.json (fr + en):
129
- "modules": {
130
- "{module}": {
131
- "name": "Nom du module",
132
- "description": "Description courte"
133
- }
134
- }
135
- ```
136
-
137
- **Vérification:**
138
- - Le module doit apparaître dans la page `/docs/user` sous son application parente
139
- - Le lien doit pointer vers `/docs/user/{slug}`
140
-
141
- ### ÉTAPE 5: INTÉGRATION
142
-
143
- ```typescript
144
- // App.tsx
145
- import { {Name}DocPage } from '@/pages/docs/{path}/{Name}DocPage';
146
- <Route path="{slug}" element={<{Name}DocPage />} />
147
- ```
148
-
149
- ### ÉTAPE 6: RÉSUMÉ FINAL
150
-
151
- Afficher:
152
- - ✅ Fichiers créés (chemins cliquables)
153
- - 🔗 URL: `/docs/{path}/{slug}`
154
- - 📝 Prochaines étapes
155
-
156
- ---
157
-
158
- ## TEMPLATES
159
-
160
- → **Voir `.claude/skills/documentation/templates.md`**
161
-
162
- Templates disponibles:
163
- - User Module (maquettes UI, FAQ, API)
164
- - Database Schema (MCD HTML, tables détaillées)
165
- - Developer Tool (installation, config, CI/CD)
166
- - Patterns réutilisables (CodeBlock, Stats, Badges)
167
-
168
- ---
169
-
170
- ## SOURCES DE DONNÉES
171
-
172
- | Donnée | Source |
173
- |--------|--------|
174
- | Tables DB | `ApplicationDbContextModelSnapshot.cs` |
175
- | Configurations | `Persistence/Configurations/{schema}/*.cs` |
176
- | Permissions | `Domain/Authorization/Permissions.cs` |
177
- | Routes | `App.tsx` |
178
- | Traductions | `i18n/locales/*/docs.json` |
179
- | Doc outils | WebSearch |
180
-
181
- ---
182
-
183
- ## STRUCTURE i18n
184
-
185
- ```json
186
- {
187
- "breadcrumb": { "documentation": "...", "user": "...", "developer": "..." },
188
- "common": { "tableOfContents": "...", "externalResources": "..." },
189
- "user": { "{module}": { "title": "...", "sections": {...} } },
190
- "developer": { "tools": {...}, "database": {...} }
191
- }
192
- ```
193
-
194
- ---
195
-
196
- ## CONTRAINTES
197
-
198
- - Variables CSS: `var(--text-primary)`, `var(--bg-secondary)`, `var(--color-primary-600)`
199
- - Responsive: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
200
- - Icônes: `lucide-react` uniquement
201
- - Liens externes: avec `<ExternalLink />` icon
202
- - MCD: composants React/HTML (JAMAIS ASCII)
1
+ # /documentation:module - Génération Documentation SmartStack
2
+
3
+ > **Synergie Skill/Commande:**
4
+ > - **Skill** (`.claude/skills/documentation/`) → Invocation automatique par Claude
5
+ > - **Commande** (`/documentation:module`) → Invocation manuelle par l'utilisateur
6
+ > - Templates partagés dans `.claude/skills/documentation/templates.md`
7
+
8
+ ---
9
+
10
+ ## ARGUMENTS
11
+
12
+ ```
13
+ /documentation:module <type> <target>
14
+ ```
15
+
16
+ | Variable | Extraction | Valeurs |
17
+ |----------|------------|---------|
18
+ | `$TYPE` | Premier mot | `user` \| `developer` \| `database` \| `testing` |
19
+ | `$TARGET` | Reste de la ligne | Nom du module, outil, ou schéma |
20
+
21
+ ---
22
+
23
+ ## RÈGLES ABSOLUES
24
+
25
+ 1. **JAMAIS** de texte en dur → `useTranslation('docs')`
26
+ 2. **JAMAIS** d'ASCII art → composants React/HTML pour MCD
27
+ 3. **TOUJOURS** lire les sources existantes avant de générer
28
+ 4. **TOUJOURS** demander confirmation avant de créer les fichiers
29
+ 5. **TOUJOURS** mettre à jour App.tsx et les index parents
30
+
31
+ ---
32
+
33
+ ## WORKFLOW
34
+
35
+ ### ÉTAPE 1: PARSING DES ARGUMENTS
36
+
37
+ ```
38
+ EXTRAIRE $TYPE = premier mot des arguments
39
+ EXTRAIRE $TARGET = reste des arguments
40
+
41
+ SI $TYPE absent OU non reconnu → AskUserQuestion
42
+ SI $TARGET absent → AskUserQuestion
43
+ ```
44
+
45
+ ### ÉTAPE 2: ANALYSE (selon $TYPE)
46
+
47
+ #### SI $TYPE == "user"
48
+
49
+ | Action | Commande |
50
+ |--------|----------|
51
+ | Trouver le module | `Grep "code.*$TARGET" src/.../Navigation/` |
52
+ | Composants React | `Glob "web/.../pages/**/*$TARGET*"` |
53
+ | Permissions | `Grep "$TARGET" src/.../Permissions.cs` |
54
+ | Endpoints API | `Grep "$TARGET" src/.../Controllers/` |
55
+
56
+ #### SI $TYPE == "database"
57
+
58
+ | Action | Commande |
59
+ |--------|----------|
60
+ | Tables du schéma | `Read ApplicationDbContextModelSnapshot.cs` |
61
+ | Configurations | `Glob "Persistence/Configurations/$TARGET/*.cs"` |
62
+ | Entités Domain | `Glob "Domain/Entities/$TARGET/*.cs"` |
63
+
64
+ #### SI $TYPE == "developer" ou "testing"
65
+
66
+ | Action | Commande |
67
+ |--------|----------|
68
+ | Doc existante | `Glob "pages/docs/developer/**/*$TARGET*"` |
69
+ | Fichiers config | `Glob "**/$TARGET*.{json,yaml}"` |
70
+ | Doc officielle | `WebSearch` |
71
+
72
+ ### ÉTAPE 3: CONFIRMATION UTILISATEUR
73
+
74
+ ```typescript
75
+ AskUserQuestion({
76
+ questions: [{
77
+ header: "Détail",
78
+ question: "Quel niveau de détail pour '$TARGET' ?",
79
+ options: [
80
+ { label: "Complet (Recommended)", description: "Toutes sections" },
81
+ { label: "Standard", description: "Sections principales" },
82
+ { label: "Minimal", description: "Référence rapide" }
83
+ ]
84
+ }]
85
+ })
86
+ ```
87
+
88
+ ### ÉTAPE 4: GÉNÉRATION
89
+
90
+ | $TYPE | Fichier | Chemin |
91
+ |-------|---------|--------|
92
+ | `user` | `{Module}DocPage.tsx` | `pages/docs/user/{context}/` |
93
+ | `developer` | `{Tool}Page.tsx` | `pages/docs/developer/tools/` |
94
+ | `database` | `{Schema}SchemaPage.tsx` | `pages/docs/developer/database/` |
95
+ | `testing` | `{Tool}TestingPage.tsx` | `pages/docs/developer/testing/` |
96
+
97
+ **Fichiers à créer/modifier:**
98
+ 1. Page React (utiliser template de `templates.md`)
99
+ 2. Traductions EN → `i18n/locales/en/docs.json`
100
+ 3. Traductions FR → `i18n/locales/fr/docs.json`
101
+ 4. Route → `App.tsx`
102
+ 5. Index parent → lien de navigation
103
+ 6. **UserIndexPage.tsx** → Ajouter le module à la hiérarchie (SI $TYPE == "user")
104
+
105
+ ### ÉTAPE 4bis: INTÉGRATION UserIndexPage (SI $TYPE == "user")
106
+
107
+ **OBLIGATOIRE** pour les modules utilisateur: Vérifier et mettre à jour `UserIndexPage.tsx`
108
+
109
+ ```typescript
110
+ // Fichier: web/smartstack-web/src/pages/docs/user/UserIndexPage.tsx
111
+
112
+ // 1. Ajouter l'icône si nécessaire
113
+ import { ..., {IconName} } from 'lucide-react';
114
+
115
+ // 2. Trouver l'application parente dans la hiérarchie
116
+ // - Platform > Administration: pour les modules admin
117
+ // - Platform > Support: pour les modules support
118
+ // - Personal > MySpace: pour les modules personnels
119
+
120
+ // 3. Ajouter le module dans le tableau `modules` de l'application:
121
+ {
122
+ name: t('user.modules.{module}.name'),
123
+ icon: {IconName},
124
+ href: '/docs/user/{slug}',
125
+ description: t('user.modules.{module}.description')
126
+ },
127
+
128
+ // 4. Ajouter les traductions dans docs.json (fr + en):
129
+ "modules": {
130
+ "{module}": {
131
+ "name": "Nom du module",
132
+ "description": "Description courte"
133
+ }
134
+ }
135
+ ```
136
+
137
+ **Vérification:**
138
+ - Le module doit apparaître dans la page `/docs/user` sous son application parente
139
+ - Le lien doit pointer vers `/docs/user/{slug}`
140
+
141
+ ### ÉTAPE 5: INTÉGRATION
142
+
143
+ ```typescript
144
+ // App.tsx
145
+ import { {Name}DocPage } from '@/pages/docs/{path}/{Name}DocPage';
146
+ <Route path="{slug}" element={<{Name}DocPage />} />
147
+ ```
148
+
149
+ ### ÉTAPE 6: RÉSUMÉ FINAL
150
+
151
+ Afficher:
152
+ - ✅ Fichiers créés (chemins cliquables)
153
+ - 🔗 URL: `/docs/{path}/{slug}`
154
+ - 📝 Prochaines étapes
155
+
156
+ ---
157
+
158
+ ## TEMPLATES
159
+
160
+ → **Voir `.claude/skills/documentation/templates.md`**
161
+
162
+ Templates disponibles:
163
+ - User Module (maquettes UI, FAQ, API)
164
+ - Database Schema (MCD HTML, tables détaillées)
165
+ - Developer Tool (installation, config, CI/CD)
166
+ - Patterns réutilisables (CodeBlock, Stats, Badges)
167
+
168
+ ---
169
+
170
+ ## SOURCES DE DONNÉES
171
+
172
+ | Donnée | Source |
173
+ |--------|--------|
174
+ | Tables DB | `ApplicationDbContextModelSnapshot.cs` |
175
+ | Configurations | `Persistence/Configurations/{schema}/*.cs` |
176
+ | Permissions | `Domain/Authorization/Permissions.cs` |
177
+ | Routes | `App.tsx` |
178
+ | Traductions | `i18n/locales/*/docs.json` |
179
+ | Doc outils | WebSearch |
180
+
181
+ ---
182
+
183
+ ## STRUCTURE i18n
184
+
185
+ ```json
186
+ {
187
+ "breadcrumb": { "documentation": "...", "user": "...", "developer": "..." },
188
+ "common": { "tableOfContents": "...", "externalResources": "..." },
189
+ "user": { "{module}": { "title": "...", "sections": {...} } },
190
+ "developer": { "tools": {...}, "database": {...} }
191
+ }
192
+ ```
193
+
194
+ ---
195
+
196
+ ## CONTRAINTES
197
+
198
+ - Variables CSS: `var(--text-primary)`, `var(--bg-secondary)`, `var(--color-primary-600)`
199
+ - Responsive: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
200
+ - Icônes: `lucide-react` uniquement
201
+ - Liens externes: avec `<ExternalLink />` icon
202
+ - MCD: composants React/HTML (JAMAIS ASCII)