@atlashub/smartstack-cli 1.5.0 → 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/agents.html +920 -916
- package/.documentation/apex.html +1022 -1018
- package/.documentation/business-analyse.html +1505 -1501
- package/.documentation/commands.html +684 -680
- package/.documentation/css/styles.css +2168 -2168
- package/.documentation/efcore.html +2509 -2505
- package/.documentation/gitflow.html +2622 -2618
- package/.documentation/hooks.html +417 -413
- package/.documentation/index.html +327 -323
- package/.documentation/init.html +565 -0
- package/.documentation/installation.html +548 -462
- package/.documentation/js/app.js +794 -794
- package/.documentation/ralph-loop.html +534 -530
- package/.documentation/test-web.html +517 -513
- 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 +18 -8
- 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 -562
- 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,190 +1,190 @@
|
|
|
1
|
-
# /documentation - Skill 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
|
-
## QUAND CE SKILL S'ACTIVE
|
|
24
|
-
|
|
25
|
-
Claude invoque automatiquement ce skill quand il détecte :
|
|
26
|
-
|
|
27
|
-
| Déclencheur | Exemple |
|
|
28
|
-
|-------------|---------|
|
|
29
|
-
| Demande explicite | "Documente le module CRM" |
|
|
30
|
-
| Mention de documentation | "Il faudrait créer la doc pour..." |
|
|
31
|
-
| Après implémentation | "La feature est terminée, génère la doc" |
|
|
32
|
-
| Question sur structure | "Comment est organisée la documentation ?" |
|
|
33
|
-
| Mots-clés | "MCD", "schéma", "diagramme", "documenter" |
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## TYPES DE DOCUMENTATION
|
|
38
|
-
|
|
39
|
-
| Type | Description | Sortie |
|
|
40
|
-
|------|-------------|--------|
|
|
41
|
-
| `user` | Module utilisateur avec maquettes UI | `docs/user/{context}/{Module}DocPage.tsx` |
|
|
42
|
-
| `developer` | Guide d'outil de développement | `docs/developer/tools/{Tool}Page.tsx` |
|
|
43
|
-
| `database` | Schéma avec diagramme MCD | `docs/developer/database/{Schema}SchemaPage.tsx` |
|
|
44
|
-
| `testing` | Outil de test | `docs/developer/testing/{Tool}TestingPage.tsx` |
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## RÈGLES ABSOLUES
|
|
49
|
-
|
|
50
|
-
1. **JAMAIS** de texte en dur → `useTranslation('docs')`
|
|
51
|
-
2. **JAMAIS** d'ASCII art → composants React/HTML pour MCD
|
|
52
|
-
3. **TOUJOURS** lire les sources existantes avant de générer
|
|
53
|
-
4. **TOUJOURS** demander confirmation avant de créer les fichiers
|
|
54
|
-
5. **TOUJOURS** mettre à jour App.tsx et les index parents
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## WORKFLOW
|
|
59
|
-
|
|
60
|
-
### ÉTAPE 1: PARSING DES ARGUMENTS
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
EXTRAIRE $TYPE = premier mot des arguments
|
|
64
|
-
EXTRAIRE $TARGET = reste des arguments
|
|
65
|
-
|
|
66
|
-
SI $TYPE absent OU non reconnu → AskUserQuestion
|
|
67
|
-
SI $TARGET absent → AskUserQuestion
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### ÉTAPE 2: ANALYSE (selon $TYPE)
|
|
71
|
-
|
|
72
|
-
#### SI $TYPE == "user"
|
|
73
|
-
|
|
74
|
-
| Action | Commande |
|
|
75
|
-
|--------|----------|
|
|
76
|
-
| Trouver le module | `Grep "code.*$TARGET" src/.../Navigation/` |
|
|
77
|
-
| Composants React | `Glob "web/.../pages/**/*$TARGET*"` |
|
|
78
|
-
| Permissions | `Grep "$TARGET" src/.../Permissions.cs` |
|
|
79
|
-
| Endpoints API | `Grep "$TARGET" src/.../Controllers/` |
|
|
80
|
-
|
|
81
|
-
#### SI $TYPE == "database"
|
|
82
|
-
|
|
83
|
-
| Action | Commande |
|
|
84
|
-
|--------|----------|
|
|
85
|
-
| Tables du schéma | `Read ApplicationDbContextModelSnapshot.cs` |
|
|
86
|
-
| Configurations | `Glob "Persistence/Configurations/$TARGET/*.cs"` |
|
|
87
|
-
| Entités Domain | `Glob "Domain/Entities/$TARGET/*.cs"` |
|
|
88
|
-
|
|
89
|
-
#### SI $TYPE == "developer" ou "testing"
|
|
90
|
-
|
|
91
|
-
| Action | Commande |
|
|
92
|
-
|--------|----------|
|
|
93
|
-
| Doc existante | `Glob "pages/docs/developer/**/*$TARGET*"` |
|
|
94
|
-
| Fichiers config | `Glob "**/$TARGET*.{json,yaml}"` |
|
|
95
|
-
| Doc officielle | `WebSearch` |
|
|
96
|
-
|
|
97
|
-
### ÉTAPE 3: CONFIRMATION UTILISATEUR
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
AskUserQuestion({
|
|
101
|
-
questions: [{
|
|
102
|
-
header: "Détail",
|
|
103
|
-
question: "Quel niveau de détail pour '$TARGET' ?",
|
|
104
|
-
options: [
|
|
105
|
-
{ label: "Complet (Recommended)", description: "Toutes sections" },
|
|
106
|
-
{ label: "Standard", description: "Sections principales" },
|
|
107
|
-
{ label: "Minimal", description: "Référence rapide" }
|
|
108
|
-
]
|
|
109
|
-
}]
|
|
110
|
-
})
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### ÉTAPE 4: GÉNÉRATION
|
|
114
|
-
|
|
115
|
-
| $TYPE | Fichier | Chemin |
|
|
116
|
-
|-------|---------|--------|
|
|
117
|
-
| `user` | `{Module}DocPage.tsx` | `pages/docs/user/{context}/` |
|
|
118
|
-
| `developer` | `{Tool}Page.tsx` | `pages/docs/developer/tools/` |
|
|
119
|
-
| `database` | `{Schema}SchemaPage.tsx` | `pages/docs/developer/database/` |
|
|
120
|
-
| `testing` | `{Tool}TestingPage.tsx` | `pages/docs/developer/testing/` |
|
|
121
|
-
|
|
122
|
-
**Fichiers à créer/modifier:**
|
|
123
|
-
1. Page React (utiliser template de `templates.md`)
|
|
124
|
-
2. Traductions EN → `i18n/locales/en/docs.json`
|
|
125
|
-
3. Traductions FR → `i18n/locales/fr/docs.json`
|
|
126
|
-
4. Route → `App.tsx`
|
|
127
|
-
5. Index parent → lien de navigation
|
|
128
|
-
|
|
129
|
-
### ÉTAPE 5: INTÉGRATION
|
|
130
|
-
|
|
131
|
-
```typescript
|
|
132
|
-
// App.tsx
|
|
133
|
-
import { {Name}DocPage } from '@/pages/docs/{path}/{Name}DocPage';
|
|
134
|
-
<Route path="{slug}" element={<{Name}DocPage />} />
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### ÉTAPE 6: RÉSUMÉ FINAL
|
|
138
|
-
|
|
139
|
-
Afficher:
|
|
140
|
-
- ✅ Fichiers créés (chemins cliquables)
|
|
141
|
-
- 🔗 URL: `/docs/{path}/{slug}`
|
|
142
|
-
- 📝 Prochaines étapes
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## OUTILS DEVELOPER DISPONIBLES
|
|
147
|
-
|
|
148
|
-
| Catégorie | Outils |
|
|
149
|
-
|-----------|--------|
|
|
150
|
-
| Environnement Local | Docker Compose, MailDev, VS Code, Variables d'env |
|
|
151
|
-
| Tests API | Postman, REST Client, Swagger/OpenAPI |
|
|
152
|
-
| Tests E2E | Microsoft Playwright, Inspector, Trace Viewer |
|
|
153
|
-
| Tests Charge | NBomber (.NET), k6, Azure Load Testing |
|
|
154
|
-
| Tests Sécurité | OWASP ZAP, Security Code Scan, Snyk, OWASP ASVS |
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## SOURCES DE DONNÉES
|
|
159
|
-
|
|
160
|
-
| Donnée | Source |
|
|
161
|
-
|--------|--------|
|
|
162
|
-
| Tables DB | `ApplicationDbContextModelSnapshot.cs` |
|
|
163
|
-
| Configurations | `Persistence/Configurations/{schema}/*.cs` |
|
|
164
|
-
| Permissions | `Domain/Authorization/Permissions.cs` |
|
|
165
|
-
| Routes | `App.tsx` |
|
|
166
|
-
| Traductions | `i18n/locales/*/docs.json` |
|
|
167
|
-
| Doc outils | WebSearch |
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## STRUCTURE i18n
|
|
172
|
-
|
|
173
|
-
```json
|
|
174
|
-
{
|
|
175
|
-
"breadcrumb": { "documentation": "...", "user": "...", "developer": "..." },
|
|
176
|
-
"common": { "tableOfContents": "...", "externalResources": "..." },
|
|
177
|
-
"user": { "{module}": { "title": "...", "sections": {...} } },
|
|
178
|
-
"developer": { "tools": {...}, "database": {...} }
|
|
179
|
-
}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## CONTRAINTES
|
|
185
|
-
|
|
186
|
-
- Variables CSS: `var(--text-primary)`, `var(--bg-secondary)`, `var(--color-primary-600)`
|
|
187
|
-
- Responsive: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
|
|
188
|
-
- Icônes: `lucide-react` uniquement
|
|
189
|
-
- Liens externes: avec `<ExternalLink />` icon
|
|
190
|
-
- MCD: composants React/HTML (JAMAIS ASCII)
|
|
1
|
+
# /documentation - Skill 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
|
+
## QUAND CE SKILL S'ACTIVE
|
|
24
|
+
|
|
25
|
+
Claude invoque automatiquement ce skill quand il détecte :
|
|
26
|
+
|
|
27
|
+
| Déclencheur | Exemple |
|
|
28
|
+
|-------------|---------|
|
|
29
|
+
| Demande explicite | "Documente le module CRM" |
|
|
30
|
+
| Mention de documentation | "Il faudrait créer la doc pour..." |
|
|
31
|
+
| Après implémentation | "La feature est terminée, génère la doc" |
|
|
32
|
+
| Question sur structure | "Comment est organisée la documentation ?" |
|
|
33
|
+
| Mots-clés | "MCD", "schéma", "diagramme", "documenter" |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## TYPES DE DOCUMENTATION
|
|
38
|
+
|
|
39
|
+
| Type | Description | Sortie |
|
|
40
|
+
|------|-------------|--------|
|
|
41
|
+
| `user` | Module utilisateur avec maquettes UI | `docs/user/{context}/{Module}DocPage.tsx` |
|
|
42
|
+
| `developer` | Guide d'outil de développement | `docs/developer/tools/{Tool}Page.tsx` |
|
|
43
|
+
| `database` | Schéma avec diagramme MCD | `docs/developer/database/{Schema}SchemaPage.tsx` |
|
|
44
|
+
| `testing` | Outil de test | `docs/developer/testing/{Tool}TestingPage.tsx` |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## RÈGLES ABSOLUES
|
|
49
|
+
|
|
50
|
+
1. **JAMAIS** de texte en dur → `useTranslation('docs')`
|
|
51
|
+
2. **JAMAIS** d'ASCII art → composants React/HTML pour MCD
|
|
52
|
+
3. **TOUJOURS** lire les sources existantes avant de générer
|
|
53
|
+
4. **TOUJOURS** demander confirmation avant de créer les fichiers
|
|
54
|
+
5. **TOUJOURS** mettre à jour App.tsx et les index parents
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## WORKFLOW
|
|
59
|
+
|
|
60
|
+
### ÉTAPE 1: PARSING DES ARGUMENTS
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
EXTRAIRE $TYPE = premier mot des arguments
|
|
64
|
+
EXTRAIRE $TARGET = reste des arguments
|
|
65
|
+
|
|
66
|
+
SI $TYPE absent OU non reconnu → AskUserQuestion
|
|
67
|
+
SI $TARGET absent → AskUserQuestion
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### ÉTAPE 2: ANALYSE (selon $TYPE)
|
|
71
|
+
|
|
72
|
+
#### SI $TYPE == "user"
|
|
73
|
+
|
|
74
|
+
| Action | Commande |
|
|
75
|
+
|--------|----------|
|
|
76
|
+
| Trouver le module | `Grep "code.*$TARGET" src/.../Navigation/` |
|
|
77
|
+
| Composants React | `Glob "web/.../pages/**/*$TARGET*"` |
|
|
78
|
+
| Permissions | `Grep "$TARGET" src/.../Permissions.cs` |
|
|
79
|
+
| Endpoints API | `Grep "$TARGET" src/.../Controllers/` |
|
|
80
|
+
|
|
81
|
+
#### SI $TYPE == "database"
|
|
82
|
+
|
|
83
|
+
| Action | Commande |
|
|
84
|
+
|--------|----------|
|
|
85
|
+
| Tables du schéma | `Read ApplicationDbContextModelSnapshot.cs` |
|
|
86
|
+
| Configurations | `Glob "Persistence/Configurations/$TARGET/*.cs"` |
|
|
87
|
+
| Entités Domain | `Glob "Domain/Entities/$TARGET/*.cs"` |
|
|
88
|
+
|
|
89
|
+
#### SI $TYPE == "developer" ou "testing"
|
|
90
|
+
|
|
91
|
+
| Action | Commande |
|
|
92
|
+
|--------|----------|
|
|
93
|
+
| Doc existante | `Glob "pages/docs/developer/**/*$TARGET*"` |
|
|
94
|
+
| Fichiers config | `Glob "**/$TARGET*.{json,yaml}"` |
|
|
95
|
+
| Doc officielle | `WebSearch` |
|
|
96
|
+
|
|
97
|
+
### ÉTAPE 3: CONFIRMATION UTILISATEUR
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
AskUserQuestion({
|
|
101
|
+
questions: [{
|
|
102
|
+
header: "Détail",
|
|
103
|
+
question: "Quel niveau de détail pour '$TARGET' ?",
|
|
104
|
+
options: [
|
|
105
|
+
{ label: "Complet (Recommended)", description: "Toutes sections" },
|
|
106
|
+
{ label: "Standard", description: "Sections principales" },
|
|
107
|
+
{ label: "Minimal", description: "Référence rapide" }
|
|
108
|
+
]
|
|
109
|
+
}]
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### ÉTAPE 4: GÉNÉRATION
|
|
114
|
+
|
|
115
|
+
| $TYPE | Fichier | Chemin |
|
|
116
|
+
|-------|---------|--------|
|
|
117
|
+
| `user` | `{Module}DocPage.tsx` | `pages/docs/user/{context}/` |
|
|
118
|
+
| `developer` | `{Tool}Page.tsx` | `pages/docs/developer/tools/` |
|
|
119
|
+
| `database` | `{Schema}SchemaPage.tsx` | `pages/docs/developer/database/` |
|
|
120
|
+
| `testing` | `{Tool}TestingPage.tsx` | `pages/docs/developer/testing/` |
|
|
121
|
+
|
|
122
|
+
**Fichiers à créer/modifier:**
|
|
123
|
+
1. Page React (utiliser template de `templates.md`)
|
|
124
|
+
2. Traductions EN → `i18n/locales/en/docs.json`
|
|
125
|
+
3. Traductions FR → `i18n/locales/fr/docs.json`
|
|
126
|
+
4. Route → `App.tsx`
|
|
127
|
+
5. Index parent → lien de navigation
|
|
128
|
+
|
|
129
|
+
### ÉTAPE 5: INTÉGRATION
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
// App.tsx
|
|
133
|
+
import { {Name}DocPage } from '@/pages/docs/{path}/{Name}DocPage';
|
|
134
|
+
<Route path="{slug}" element={<{Name}DocPage />} />
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### ÉTAPE 6: RÉSUMÉ FINAL
|
|
138
|
+
|
|
139
|
+
Afficher:
|
|
140
|
+
- ✅ Fichiers créés (chemins cliquables)
|
|
141
|
+
- 🔗 URL: `/docs/{path}/{slug}`
|
|
142
|
+
- 📝 Prochaines étapes
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## OUTILS DEVELOPER DISPONIBLES
|
|
147
|
+
|
|
148
|
+
| Catégorie | Outils |
|
|
149
|
+
|-----------|--------|
|
|
150
|
+
| Environnement Local | Docker Compose, MailDev, VS Code, Variables d'env |
|
|
151
|
+
| Tests API | Postman, REST Client, Swagger/OpenAPI |
|
|
152
|
+
| Tests E2E | Microsoft Playwright, Inspector, Trace Viewer |
|
|
153
|
+
| Tests Charge | NBomber (.NET), k6, Azure Load Testing |
|
|
154
|
+
| Tests Sécurité | OWASP ZAP, Security Code Scan, Snyk, OWASP ASVS |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## SOURCES DE DONNÉES
|
|
159
|
+
|
|
160
|
+
| Donnée | Source |
|
|
161
|
+
|--------|--------|
|
|
162
|
+
| Tables DB | `ApplicationDbContextModelSnapshot.cs` |
|
|
163
|
+
| Configurations | `Persistence/Configurations/{schema}/*.cs` |
|
|
164
|
+
| Permissions | `Domain/Authorization/Permissions.cs` |
|
|
165
|
+
| Routes | `App.tsx` |
|
|
166
|
+
| Traductions | `i18n/locales/*/docs.json` |
|
|
167
|
+
| Doc outils | WebSearch |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## STRUCTURE i18n
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"breadcrumb": { "documentation": "...", "user": "...", "developer": "..." },
|
|
176
|
+
"common": { "tableOfContents": "...", "externalResources": "..." },
|
|
177
|
+
"user": { "{module}": { "title": "...", "sections": {...} } },
|
|
178
|
+
"developer": { "tools": {...}, "database": {...} }
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## CONTRAINTES
|
|
185
|
+
|
|
186
|
+
- Variables CSS: `var(--text-primary)`, `var(--bg-secondary)`, `var(--color-primary-600)`
|
|
187
|
+
- Responsive: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
|
|
188
|
+
- Icônes: `lucide-react` uniquement
|
|
189
|
+
- Liens externes: avec `<ExternalLink />` icon
|
|
190
|
+
- MCD: composants React/HTML (JAMAIS ASCII)
|