@the-bearded-bear/claude-craft 8.8.1 → 8.8.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.
Files changed (79) hide show
  1. package/Dev/i18n/de/Angular/commands/check-compliance.md +218 -168
  2. package/Dev/i18n/de/Common/agents/refactoring-specialist.md +146 -69
  3. package/Dev/i18n/de/Common/commands/add-technology.md +166 -68
  4. package/Dev/i18n/de/Common/commands/setup-ci.md +216 -33
  5. package/Dev/i18n/de/Laravel/commands/check-compliance.md +223 -115
  6. package/Dev/i18n/de/Python/checklists/new-feature.md +319 -44
  7. package/Dev/i18n/de/React/rules/02-architecture.md +483 -322
  8. package/Dev/i18n/de/React/rules/03-coding-standards.md +584 -368
  9. package/Dev/i18n/de/Symfony/commands/check-compliance.md +186 -114
  10. package/Dev/i18n/de/Symfony/rules/07-testing-symfony.md +679 -10
  11. package/Dev/i18n/de/UIUX/commands/a11y-component.md +284 -26
  12. package/Dev/i18n/de/UIUX/commands/design-tokens.md +199 -35
  13. package/Dev/i18n/de/UIUX/commands/user-flow.md +179 -16
  14. package/Dev/i18n/de/VueJS/commands/check-compliance.md +227 -102
  15. package/Dev/i18n/es/Angular/commands/check-compliance.md +217 -167
  16. package/Dev/i18n/es/Common/commands/add-technology.md +158 -60
  17. package/Dev/i18n/es/Laravel/commands/check-compliance.md +223 -115
  18. package/Dev/i18n/es/React/commands/check-testing.md +263 -169
  19. package/Dev/i18n/es/ReactNative/commands/check-testing.md +256 -198
  20. package/Dev/i18n/es/Symfony/commands/check-compliance.md +189 -117
  21. package/Dev/i18n/es/Symfony/commands/check-testing.md +301 -102
  22. package/Dev/i18n/es/Symfony/commands/migration-plan.md +267 -34
  23. package/Dev/i18n/es/UIUX/commands/a11y-component.md +274 -16
  24. package/Dev/i18n/es/UIUX/commands/design-tokens.md +186 -22
  25. package/Dev/i18n/es/UIUX/commands/user-flow.md +173 -10
  26. package/Dev/i18n/es/VueJS/commands/check-compliance.md +227 -102
  27. package/Dev/i18n/fr/Angular/commands/check-compliance.md +217 -167
  28. package/Dev/i18n/fr/Common/commands/ralph-run.md +138 -60
  29. package/Dev/i18n/fr/Laravel/commands/check-compliance.md +223 -115
  30. package/Dev/i18n/fr/React/commands/check-architecture.md +370 -53
  31. package/Dev/i18n/fr/React/commands/check-code-quality.md +454 -64
  32. package/Dev/i18n/fr/React/commands/check-testing.md +476 -102
  33. package/Dev/i18n/fr/Symfony/commands/check-compliance.md +188 -116
  34. package/Dev/i18n/fr/VueJS/commands/check-compliance.md +227 -102
  35. package/Dev/i18n/pt/Angular/commands/check-compliance.md +225 -175
  36. package/Dev/i18n/pt/Common/agents/ralph-conductor.md +211 -30
  37. package/Dev/i18n/pt/Common/commands/add-technology.md +149 -51
  38. package/Dev/i18n/pt/Common/commands/ralph-run.md +239 -35
  39. package/Dev/i18n/pt/Flutter/commands/analyze-performance.md +331 -46
  40. package/Dev/i18n/pt/Flutter/commands/check-compliance.md +234 -29
  41. package/Dev/i18n/pt/Flutter/commands/generate-feature.md +526 -51
  42. package/Dev/i18n/pt/Flutter/commands/generate-widget.md +515 -27
  43. package/Dev/i18n/pt/Flutter/commands/golden-update.md +322 -46
  44. package/Dev/i18n/pt/Flutter/commands/localization-check.md +278 -37
  45. package/Dev/i18n/pt/Laravel/commands/check-compliance.md +212 -104
  46. package/Dev/i18n/pt/React/commands/accessibility-check.md +151 -42
  47. package/Dev/i18n/pt/React/commands/bundle-analyze.md +300 -25
  48. package/Dev/i18n/pt/React/commands/check-architecture.md +369 -34
  49. package/Dev/i18n/pt/React/commands/check-code-quality.md +440 -34
  50. package/Dev/i18n/pt/React/commands/check-compliance.md +232 -62
  51. package/Dev/i18n/pt/React/commands/check-security.md +370 -31
  52. package/Dev/i18n/pt/React/commands/check-testing.md +473 -43
  53. package/Dev/i18n/pt/React/commands/generate-component.md +454 -19
  54. package/Dev/i18n/pt/React/commands/generate-hook.md +425 -24
  55. package/Dev/i18n/pt/React/commands/storybook-story.md +520 -35
  56. package/Dev/i18n/pt/ReactNative/commands/app-size.md +358 -387
  57. package/Dev/i18n/pt/ReactNative/commands/check-code-quality.md +246 -75
  58. package/Dev/i18n/pt/ReactNative/commands/check-compliance.md +191 -85
  59. package/Dev/i18n/pt/ReactNative/commands/check-security.md +363 -115
  60. package/Dev/i18n/pt/ReactNative/commands/check-testing.md +269 -79
  61. package/Dev/i18n/pt/ReactNative/commands/generate-screen.md +491 -324
  62. package/Dev/i18n/pt/ReactNative/commands/native-module.md +539 -82
  63. package/Dev/i18n/pt/ReactNative/commands/store-prepare.md +429 -185
  64. package/Dev/i18n/pt/ReactNative/rules/02-architecture.md +1084 -31
  65. package/Dev/i18n/pt/Symfony/commands/check-compliance.md +195 -123
  66. package/Dev/i18n/pt/UIUX/commands/a11y-audit.md +208 -24
  67. package/Dev/i18n/pt/UIUX/commands/a11y-component.md +281 -23
  68. package/Dev/i18n/pt/UIUX/commands/design-tokens.md +197 -33
  69. package/Dev/i18n/pt/UIUX/commands/user-flow.md +183 -20
  70. package/Dev/i18n/pt/VueJS/commands/check-compliance.md +228 -103
  71. package/Dev/i18n/pt/Workflow/commands/analyze.md +147 -146
  72. package/Dev/i18n/pt/Workflow/commands/design.md +205 -204
  73. package/Dev/i18n/pt/Workflow/commands/implement.md +184 -184
  74. package/Project/i18n/de/Sprint/commands/dev.md +339 -86
  75. package/Project/i18n/es/Sprint/commands/dev.md +342 -91
  76. package/Project/i18n/pt/Sprint/commands/dev.md +343 -92
  77. package/bundles/cursor/.cursorrules +1 -1
  78. package/bundles/windsurf/.windsurfrules +1 -1
  79. package/package.json +1 -1
@@ -1,74 +1,352 @@
1
1
  ---
2
- description: Vérification de lArchitecture React
3
- argument-hint: [arguments]
2
+ description: Vérification de la Conformité Architecturale
4
3
  ---
5
4
 
6
- # Vérification de l'Architecture React
5
+ # Vérification de la Conformité Architecturale
7
6
 
8
- ## Arguments
7
+ Vérifie que le projet suit les patterns architecturaux établis et les meilleures pratiques.
9
8
 
10
- $ARGUMENTS
9
+ ## Ce que fait cette commande
10
+
11
+ 1. **Analyse Architecturale**
12
+ - Vérifier la structure des dossiers
13
+ - Contrôler la séparation des responsabilités
14
+ - Valider l'organisation des composants
15
+ - Vérifier les directions de dépendance
16
+ - Vérifier les patterns de conception
17
+
18
+ 2. **Points de Vérification**
19
+ - Structure orientée fonctionnalités (feature-based)
20
+ - Hiérarchie des composants
21
+ - Gestion d'état
22
+ - Séparation de la couche API
23
+ - Définitions de types
24
+
25
+ 3. **Rapport Généré**
26
+ - Violations architecturales
27
+ - Recommandations
28
+ - Opportunités de refactoring
29
+ - Score de conformité
11
30
 
12
31
  ## Mode Plan
13
32
 
14
33
  > Le mode plan est activé automatiquement lorsque le périmètre couvre plusieurs modules ou nécessite une investigation transversale.
15
34
 
16
- ## MISSION
35
+ ## Architecture Attendue
36
+
37
+ ### Structure des Dossiers
38
+
39
+ ```
40
+ src/
41
+ ├── app/ # Configuration de l'application
42
+ │ ├── App.tsx
43
+ │ ├── routes.tsx
44
+ │ └── providers.tsx
45
+
46
+ ├── features/ # Fonctionnalités (logique métier)
47
+ │ └── users/
48
+ │ ├── components/ # Composants spécifiques à la feature
49
+ │ ├── hooks/ # Hooks spécifiques à la feature
50
+ │ ├── services/ # Appels API
51
+ │ ├── stores/ # Gestion d'état
52
+ │ ├── types/ # Types TypeScript
53
+ │ └── utils/ # Fonctions utilitaires
54
+
55
+ ├── components/ # Composants partagés
56
+ │ ├── ui/ # Primitives UI (Button, Input)
57
+ │ ├── layout/ # Composants de mise en page
58
+ │ └── common/ # Composants communs
59
+
60
+ ├── hooks/ # Hooks partagés
61
+ ├── services/ # Services partagés
62
+ ├── stores/ # État global
63
+ ├── types/ # Types globaux
64
+ ├── utils/ # Fonctions utilitaires
65
+ ├── constants/ # Constantes
66
+ └── config/ # Configuration
67
+ ```
68
+
69
+ ## Ce qu'il faut Vérifier
70
+
71
+ ### 1. Organisation des Composants
72
+
73
+ ```typescript
74
+ // ❌ Mauvais - Tout dans un seul fichier
75
+ src/components/UserList.tsx (1000 lignes)
76
+
77
+ // ✅ Bon - Organisation appropriée
78
+ src/features/users/
79
+ ├── components/
80
+ │ ├── UserList/
81
+ │ │ ├── UserList.tsx
82
+ │ │ ├── UserList.test.tsx
83
+ │ │ ├── UserListItem.tsx
84
+ │ │ └── index.ts
85
+ │ └── UserForm/
86
+ │ ├── UserForm.tsx
87
+ │ └── UserForm.test.tsx
88
+ ├── hooks/
89
+ │ └── useUsers.ts
90
+ └── services/
91
+ └── user.service.ts
92
+ ```
93
+
94
+ ### 2. Séparation des Responsabilités
95
+
96
+ ```typescript
97
+ // ❌ Mauvais - Responsabilités mélangées
98
+ export const UserList: FC = () => {
99
+ const [users, setUsers] = useState([]);
100
+
101
+ useEffect(() => {
102
+ fetch('/api/users')
103
+ .then(res => res.json())
104
+ .then(setUsers);
105
+ }, []);
106
+
107
+ return (
108
+ <div>
109
+ {users.map(user => (
110
+ <div key={user.id}>
111
+ <h3>{user.name}</h3>
112
+ <p>{user.email}</p>
113
+ </div>
114
+ ))}
115
+ </div>
116
+ );
117
+ };
118
+
119
+ // ✅ Bon - Responsabilités séparées
120
+ // hooks/useUsers.ts
121
+ export const useUsers = () => {
122
+ return useQuery({
123
+ queryKey: ['users'],
124
+ queryFn: () => userService.getAll()
125
+ });
126
+ };
127
+
128
+ // services/user.service.ts
129
+ export const userService = {
130
+ getAll: () => apiClient.get<User[]>('/users')
131
+ };
132
+
133
+ // components/UserList.tsx
134
+ export const UserList: FC = () => {
135
+ const { data: users, isLoading } = useUsers();
136
+
137
+ if (isLoading) return <Spinner />;
138
+
139
+ return (
140
+ <ul>
141
+ {users?.map(user => (
142
+ <UserListItem key={user.id} user={user} />
143
+ ))}
144
+ </ul>
145
+ );
146
+ };
147
+ ```
148
+
149
+ ### 3. Direction des Dépendances
150
+
151
+ ```typescript
152
+ // ✅ Bon - Les dépendances vont vers l'intérieur
153
+ features/users/
154
+ └── components/ → Peut utiliser hooks/
155
+ └── hooks/ → Peut utiliser services/
156
+ └── services/ → Peut utiliser utils/
157
+
158
+ // ❌ Mauvais - Dépendances circulaires
159
+ services/user.service.ts importe depuis components/
160
+ ```
161
+
162
+ ### 4. Types de Composants
163
+
164
+ ```typescript
165
+ // Composants de Présentation (UI uniquement)
166
+ export const Button: FC<ButtonProps> = ({ children, ...props }) => {
167
+ return <button {...props}>{children}</button>;
168
+ };
169
+
170
+ // Composants Conteneurs (logique)
171
+ export const UserListContainer: FC = () => {
172
+ const { data: users } = useUsers();
173
+ const deleteUser = useDeleteUser();
174
+
175
+ return <UserListPresenter users={users} onDelete={deleteUser} />;
176
+ };
177
+
178
+ // Composants de Page (routage)
179
+ export const UsersPage: FC = () => {
180
+ return (
181
+ <MainLayout>
182
+ <PageHeader title="Users" />
183
+ <UserListContainer />
184
+ </MainLayout>
185
+ );
186
+ };
187
+ ```
188
+
189
+ ### 5. Gestion d'État
190
+
191
+ ```typescript
192
+ // ❌ Mauvais - État dupliqué en plusieurs endroits
193
+ const [users, setUsers] = useState([]);
194
+ // Mêmes données dans 5 composants différents
195
+
196
+ // ✅ Bon - État centralisé
197
+ // stores/userStore.ts
198
+ export const useUserStore = create<UserStore>((set) => ({
199
+ users: [],
200
+ setUsers: (users) => set({ users })
201
+ }));
202
+
203
+ // Ou React Query pour l'état serveur
204
+ export const useUsers = () => {
205
+ return useQuery({
206
+ queryKey: ['users'],
207
+ queryFn: () => userService.getAll()
208
+ });
209
+ };
210
+ ```
211
+
212
+ ## Patterns Architecturaux
213
+
214
+ ### 1. Structure Orientée Fonctionnalités
215
+
216
+ ```
217
+ src/features/
218
+ ├── auth/
219
+ │ ├── components/
220
+ │ ├── hooks/
221
+ │ ├── services/
222
+ │ └── stores/
223
+ ├── users/
224
+ └── products/
225
+ ```
226
+
227
+ ### 2. Couches de Clean Architecture
228
+
229
+ ```
230
+ Couche Présentation (Composants)
231
+
232
+ Couche Logique Métier (Hooks, Services)
233
+
234
+ Couche Données (API, Store)
235
+ ```
236
+
237
+ ### 3. Atomic Design
238
+
239
+ ```
240
+ src/components/
241
+ ├── atoms/ # Button, Input, Label
242
+ ├── molecules/ # FormField, SearchBar
243
+ ├── organisms/ # UserForm, Header
244
+ ├── templates/ # PageLayout, DashboardLayout
245
+ └── pages/ # HomePage, UsersPage
246
+ ```
247
+
248
+ ## Règles de Validation
249
+
250
+ ### Règle 1 : Pas de Logique Métier dans les Composants
251
+
252
+ ```typescript
253
+ // ❌ Mauvais
254
+ export const UserForm: FC = () => {
255
+ const [email, setEmail] = useState('');
17
256
 
18
- Tu es un expert en architecture React chargé d'auditer la conformité architecturale d'un projet React.
257
+ const validate = () => {
258
+ return email.includes('@') && email.length > 5;
259
+ };
19
260
 
20
- ### Étape 1 : Analyse du contexte
21
- - Identifier le répertoire du projet à auditer ($ARGUMENTS ou répertoire courant)
22
- - Lire les règles architecturales depuis `/home/fmetivier/Documents/Company/TheBeardedCTO/Tools/Claude/Dev/React/rules/02-architecture.md`
23
- - Comprendre la structure attendue (Feature-based, Atomic Design)
261
+ // ... logique de validation complexe
262
+ };
24
263
 
25
- ### Étape 2 : Vérification de la structure du projet
264
+ // Bon
265
+ export const UserForm: FC = () => {
266
+ const form = useForm({
267
+ resolver: zodResolver(userSchema)
268
+ });
26
269
 
27
- Examiner et vérifier :
270
+ // Validation dans le schéma, logique dans le hook
271
+ };
272
+ ```
273
+
274
+ ### Règle 2 : Appels API via les Services
28
275
 
29
- **Organisation des dossiers (8 points)**
30
- - [ ] Structure feature-based ou modulaire présente
31
- - [ ] Séparation claire features/shared/core
32
- - [ ] Dossiers par domaine métier identifiables
33
- - [ ] Pas de code métier dans `/src/components` racine
276
+ ```typescript
277
+ // Mauvais - fetch direct dans le composant
278
+ const response = await fetch('/api/users');
279
+
280
+ // Bon - Via le service
281
+ const users = await userService.getAll();
282
+ ```
34
283
 
35
- **Atomic Design (7 points)**
36
- - [ ] Hiérarchie atoms/molecules/organisms/templates/pages
37
- - [ ] Composants atomiques réutilisables
38
- - [ ] Composition progressive respectée
39
- - [ ] Pas de logique métier dans les atoms
284
+ ### Règle 3 : Types Centralisés
40
285
 
41
- **Structure des features (5 points)**
42
- - [ ] Chaque feature contient : components, hooks, services, types
43
- - [ ] Index.ts avec exports publics
44
- - [ ] API interne encapsulée
45
- - [ ] Tests co-localisés avec le code
286
+ ```typescript
287
+ // Bonne structure
288
+ src/features/users/types/
289
+ ├── user.types.ts
290
+ ├── dto.types.ts
291
+ └── index.ts
292
+ ```
293
+
294
+ ## Vérifications Automatisées
295
+
296
+ ### Règles ESLint pour l'Architecture
297
+
298
+ ```json
299
+ // .eslintrc.json
300
+ {
301
+ "rules": {
302
+ "no-restricted-imports": [
303
+ "error",
304
+ {
305
+ "patterns": [
306
+ {
307
+ "group": ["../**/features/*"],
308
+ "message": "Les features ne doivent pas importer d'autres features"
309
+ },
310
+ {
311
+ "group": ["**/components/**/services/*"],
312
+ "message": "Les composants ne doivent pas importer les services directement"
313
+ }
314
+ ]
315
+ }
316
+ ]
317
+ }
318
+ }
319
+ ```
46
320
 
47
- **Gestion d'état (5 points)**
48
- - [ ] State management centralisé (Context/Zustand/Redux)
49
- - [ ] Pas de prop drilling excessif (>3 niveaux)
50
- - [ ] State local vs global clairement séparé
51
- - [ ] Hooks personnalisés pour la logique réutilisable
321
+ ### Script Personnalisé
52
322
 
53
- ### Étape 3 : Analyse approfondie
323
+ ```typescript
324
+ // scripts/check-architecture.ts
325
+ import { glob } from 'glob';
326
+ import { readFile } from 'fs/promises';
54
327
 
55
- Pour chaque feature/module identifié :
56
- - Vérifier la cohésion interne
57
- - Identifier les dépendances circulaires
58
- - Vérifier l'encapsulation des API
59
- - Mesurer le couplage inter-features
328
+ const checkImports = async () => {
329
+ const files = await glob('src/**/*.{ts,tsx}');
330
+ const violations = [];
60
331
 
61
- ### Étape 4 : Calcul du score
332
+ for (const file of files) {
333
+ const content = await readFile(file, 'utf-8');
62
334
 
63
- **Score sur 25 points :**
64
- - Organisation des dossiers : 8 points
65
- - Atomic Design : 7 points
66
- - Structure des features : 5 points
67
- - Gestion d'état : 5 points
335
+ // Vérifier les violations
336
+ if (file.includes('/components/') && content.includes('fetch(')) {
337
+ violations.push({
338
+ file,
339
+ rule: 'Pas d\'appels API directs dans les composants',
340
+ line: content.split('\n').findIndex(l => l.includes('fetch('))
341
+ });
342
+ }
343
+ }
68
344
 
69
- ### Étape 5 : Rapport de conformité
345
+ return violations;
346
+ };
347
+ ```
70
348
 
71
- Générer un rapport structuré :
349
+ ## Rapport de Conformité
72
350
 
73
351
  ```
74
352
  ═══════════════════════════════════════════════════
@@ -125,10 +403,49 @@ Générer un rapport structuré :
125
403
  • rules/03-coding-standards.md - Conventions de code
126
404
  ```
127
405
 
128
- ### Étape 6 : Recommandations détaillées
406
+ ## Bonnes Pratiques
407
+
408
+ 1. **Isolation des features** : Chaque feature est autonome
409
+ 2. **Frontières claires** : Couches présentation, logique, données
410
+ 3. **Injection de dépendances** : Services via hooks/context
411
+ 4. **Sécurité des types** : TypeScript partout
412
+ 5. **Nommage cohérent** : Respecter les conventions
413
+ 6. **Responsabilité unique** : Un composant, une tâche
414
+ 7. **Composition plutôt qu'héritage** : Utiliser la composition
415
+ 8. **Documentation** : Documenter les décisions architecturales
416
+
417
+ ## Violations Courantes
418
+
419
+ ### Violation 1 : Composants Dieux
420
+
421
+ **Problème** : Le composant fait trop de choses
422
+ **Solution** : Décomposer en composants plus petits
423
+
424
+ ### Violation 2 : Dépendances Circulaires
425
+
426
+ **Problème** : A importe B, B importe A
427
+ **Solution** : Extraire le code commun ou repenser la structure
428
+
429
+ ### Violation 3 : Prop Drilling
430
+
431
+ **Problème** : Passage de props à travers de nombreux niveaux
432
+ **Solution** : Utiliser le Context ou la gestion d'état
433
+
434
+ ### Violation 4 : Responsabilités Mélangées
435
+
436
+ **Problème** : UI et logique métier mélangées
437
+ **Solution** : Séparer en composant présentateur et conteneur
438
+
439
+ ## Outils
440
+
441
+ - ESLint avec règles personnalisées
442
+ - Dependency cruiser
443
+ - Madge (graphe de dépendances)
444
+ - SonarQube
445
+ - Scripts personnalisés
446
+
447
+ ## Ressources
129
448
 
130
- Pour chaque problème identifié :
131
- - Expliquer l'impact
132
- - Proposer une solution concrète
133
- - Fournir un exemple de code si pertinent
134
- - Indiquer le niveau d'effort (Low/Medium/High)
449
+ - [React Architecture Best Practices](https://react.dev/learn/thinking-in-react)
450
+ - [Feature-Sliced Design](https://feature-sliced.design/)
451
+ - [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)