@atlashub/smartstack-cli 1.4.1 → 1.5.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 (58) hide show
  1. package/.documentation/agents.html +916 -916
  2. package/.documentation/apex.html +1018 -1018
  3. package/.documentation/business-analyse.html +1501 -1501
  4. package/.documentation/commands.html +680 -680
  5. package/.documentation/css/styles.css +2168 -2168
  6. package/.documentation/efcore.html +2505 -2505
  7. package/.documentation/gitflow.html +2618 -2618
  8. package/.documentation/hooks.html +413 -413
  9. package/.documentation/index.html +323 -323
  10. package/.documentation/installation.html +462 -462
  11. package/.documentation/js/app.js +794 -794
  12. package/.documentation/test-web.html +513 -513
  13. package/dist/index.js +807 -277
  14. package/dist/index.js.map +1 -1
  15. package/package.json +1 -1
  16. package/templates/agents/efcore/conflicts.md +44 -17
  17. package/templates/agents/efcore/db-status.md +27 -6
  18. package/templates/agents/efcore/scan.md +43 -13
  19. package/templates/commands/ai-prompt.md +315 -315
  20. package/templates/commands/application/create.md +362 -362
  21. package/templates/commands/controller/create.md +216 -216
  22. package/templates/commands/controller.md +59 -0
  23. package/templates/commands/documentation/module.md +202 -202
  24. package/templates/commands/efcore/_env-check.md +153 -153
  25. package/templates/commands/efcore/conflicts.md +109 -192
  26. package/templates/commands/efcore/db-status.md +101 -89
  27. package/templates/commands/efcore/migration.md +23 -11
  28. package/templates/commands/efcore/scan.md +115 -119
  29. package/templates/commands/efcore.md +54 -6
  30. package/templates/commands/feature-full.md +267 -267
  31. package/templates/commands/gitflow/11-finish.md +145 -11
  32. package/templates/commands/gitflow/13-sync.md +216 -216
  33. package/templates/commands/gitflow/14-rebase.md +251 -251
  34. package/templates/commands/gitflow/2-status.md +120 -10
  35. package/templates/commands/gitflow/3-commit.md +150 -0
  36. package/templates/commands/gitflow/7-pull-request.md +134 -5
  37. package/templates/commands/gitflow/9-merge.md +142 -1
  38. package/templates/commands/implement.md +663 -663
  39. package/templates/commands/init.md +562 -0
  40. package/templates/commands/mcp-integration.md +330 -0
  41. package/templates/commands/notification.md +129 -129
  42. package/templates/commands/validate.md +233 -0
  43. package/templates/commands/workflow.md +193 -193
  44. package/templates/skills/ai-prompt/SKILL.md +778 -778
  45. package/templates/skills/application/SKILL.md +563 -563
  46. package/templates/skills/application/templates-backend.md +450 -450
  47. package/templates/skills/application/templates-frontend.md +531 -531
  48. package/templates/skills/application/templates-i18n.md +520 -520
  49. package/templates/skills/application/templates-seed.md +647 -647
  50. package/templates/skills/controller/SKILL.md +240 -240
  51. package/templates/skills/controller/postman-templates.md +614 -614
  52. package/templates/skills/controller/templates.md +1468 -1468
  53. package/templates/skills/documentation/SKILL.md +133 -133
  54. package/templates/skills/documentation/templates.md +476 -476
  55. package/templates/skills/feature-full/SKILL.md +838 -838
  56. package/templates/skills/notification/SKILL.md +555 -555
  57. package/templates/skills/ui-components/SKILL.md +870 -870
  58. 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)