@the-bearded-bear/claude-craft 8.19.1 → 8.19.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/Dev/i18n/base/Common/skills/documentation/SKILL.md +0 -19
- package/Dev/i18n/base/Common/skills/ecosystem-tools/SKILL.md +0 -12
- package/Dev/i18n/base/Common/skills/git-workflow/SKILL.md +0 -17
- package/Dev/i18n/base/Common/skills/kiss-dry-yagni/SKILL.md +0 -11
- package/Dev/i18n/base/Common/skills/parallel-worktrees/SKILL.md +0 -11
- package/Dev/i18n/base/Common/skills/security/SKILL.md +0 -20
- package/Dev/i18n/base/Common/skills/solid-principles/SKILL.md +0 -18
- package/Dev/i18n/base/Common/skills/testing/SKILL.md +0 -25
- package/Dev/i18n/base/Common/skills/workflow-analysis/SKILL.md +0 -10
- package/Dev/i18n/de/Common/agents/tdd-coach.md +1 -1
- package/Dev/i18n/de/Common/commands/getting-started.md +6 -8
- package/Dev/i18n/de/Common/templates/settings.json.template +4 -4
- package/Dev/i18n/de/QA/commands/fix.md +1 -1
- package/Dev/i18n/de/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/de/ReactNative/rules/06-tooling.md +6 -6
- package/Dev/i18n/en/Common/agents/tdd-coach.md +1 -1
- package/Dev/i18n/en/Common/commands/getting-started.md +6 -8
- package/Dev/i18n/en/Common/templates/settings.json.template +4 -4
- package/Dev/i18n/en/QA/commands/fix.md +1 -1
- package/Dev/i18n/en/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/en/ReactNative/rules/06-tooling.md +4 -4
- package/Dev/i18n/es/Common/agents/tdd-coach.md +1 -1
- package/Dev/i18n/es/Common/commands/getting-started.md +6 -8
- package/Dev/i18n/es/Common/templates/settings.json.template +4 -4
- package/Dev/i18n/es/QA/commands/fix.md +1 -1
- package/Dev/i18n/es/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/es/ReactNative/rules/06-tooling.md +6 -6
- package/Dev/i18n/fr/Common/agents/tdd-coach.md +1 -1
- package/Dev/i18n/fr/Common/commands/getting-started.md +6 -8
- package/Dev/i18n/fr/Common/templates/settings.json.template +4 -4
- package/Dev/i18n/fr/QA/commands/fix.md +1 -1
- package/Dev/i18n/fr/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/fr/ReactNative/rules/06-tooling.md +6 -6
- package/Dev/i18n/pt/Common/agents/tdd-coach.md +1 -1
- package/Dev/i18n/pt/Common/commands/getting-started.md +6 -8
- package/Dev/i18n/pt/Common/templates/settings.json.template +4 -4
- package/Dev/i18n/pt/QA/commands/fix.md +1 -1
- package/Dev/i18n/pt/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/pt/ReactNative/rules/06-tooling.md +6 -6
- package/Project/i18n/de/scaffold/CLAUDE.md +208 -0
- package/Project/i18n/de/scaffold/project-management__README.md +40 -0
- package/Project/i18n/de/scaffold/project-management__backlog__index.md +58 -0
- package/Project/i18n/en/scaffold/CLAUDE.md +208 -0
- package/Project/i18n/en/scaffold/project-management__README.md +40 -0
- package/Project/i18n/en/scaffold/project-management__backlog__index.md +58 -0
- package/Project/i18n/es/scaffold/CLAUDE.md +208 -0
- package/Project/i18n/es/scaffold/project-management__README.md +40 -0
- package/Project/i18n/es/scaffold/project-management__backlog__index.md +58 -0
- package/Project/i18n/fr/scaffold/CLAUDE.md +208 -0
- package/Project/i18n/fr/scaffold/project-management__README.md +40 -0
- package/Project/i18n/fr/scaffold/project-management__backlog__index.md +58 -0
- package/Project/i18n/pt/scaffold/CLAUDE.md +208 -0
- package/Project/i18n/pt/scaffold/project-management__README.md +40 -0
- package/Project/i18n/pt/scaffold/project-management__backlog__index.md +58 -0
- package/Project/install-project-commands.sh +85 -312
- package/README.md +4 -4
- package/bundles/cursor/.cursorrules +3 -3
- package/bundles/windsurf/.windsurfrules +3 -3
- package/cli/lib/tech-registry.js +2 -2
- package/package.json +2 -2
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"hooks": [
|
|
82
82
|
{
|
|
83
83
|
"type": "command",
|
|
84
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
84
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot edit sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
85
85
|
}
|
|
86
86
|
]
|
|
87
87
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"hooks": [
|
|
91
91
|
{
|
|
92
92
|
"type": "command",
|
|
93
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
93
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot write sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
94
94
|
}
|
|
95
95
|
]
|
|
96
96
|
}
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"hooks": [
|
|
102
102
|
{
|
|
103
103
|
"type": "command",
|
|
104
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
104
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Extract only the relevant information and summarize in under 20 lines.'; elif [ \"$OUTPUT_SIZE\" -gt 10000 ]; then echo 'NOTICE: Moderate output (>10KB). Focus on errors, warnings, and key results.'; fi; exit 0",
|
|
105
105
|
"timeout": 3000
|
|
106
106
|
}
|
|
107
107
|
]
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"hooks": [
|
|
112
112
|
{
|
|
113
113
|
"type": "command",
|
|
114
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
114
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Summarize key findings in under 20 lines.'; fi; exit 0",
|
|
115
115
|
"timeout": 3000
|
|
116
116
|
}
|
|
117
117
|
]
|
|
@@ -279,7 +279,7 @@ resume_from:
|
|
|
279
279
|
|-------|----------|
|
|
280
280
|
| "Sesion no encontrada" | Verifique el ID de sesion en `.recette/sessions/` |
|
|
281
281
|
| "Sin errores en la sesion" | La sesion no tiene errores a corregir |
|
|
282
|
-
| "sprint-status.yaml no encontrado" | Inicialice BMAD con `/
|
|
282
|
+
| "sprint-status.yaml no encontrado" | Inicialice BMAD con `/workflow:init` |
|
|
283
283
|
| "Test RED no falla" | El bug puede que ya no exista, verificar manualmente |
|
|
284
284
|
|
|
285
285
|
## Mejores Practicas
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reactnative-reviewer
|
|
3
|
-
description: Especialista en revisión de código React Native 0.
|
|
3
|
+
description: Especialista en revisión de código React Native 0.85 y Expo — New Architecture, navegación, rendimiento móvil, análisis de bundle
|
|
4
4
|
model: haiku
|
|
5
5
|
effort: low
|
|
6
6
|
maxTurns: 6
|
|
@@ -10,11 +10,11 @@ permissionMode: default
|
|
|
10
10
|
skills: [solid-principles, testing-reactnative, security-reactnative, architecture, navigation]
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# Agente Auditor React Native 0.
|
|
13
|
+
# Agente Auditor React Native 0.85 / Expo
|
|
14
14
|
|
|
15
15
|
## Identidad
|
|
16
16
|
|
|
17
|
-
Soy un especialista en revisión de código React Native 0.
|
|
17
|
+
Soy un especialista en revisión de código React Native 0.85 y Expo. Mi enfoque se centra en los problemas específicos del móvil: la New Architecture (JSI, Fabric, TurboModules), la navegación con Expo Router, el rendimiento a 60 FPS, la gestión del tamaño del bundle, y los patrones de composición adaptados al móvil. No hago una auditoría genérica -- detecto lo que rompe, ralentiza o complejiza innecesariamente una aplicación React Native moderna que utiliza la New Architecture por defecto.
|
|
18
18
|
|
|
19
19
|
## Sistema de puntuación (100 puntos)
|
|
20
20
|
|
|
@@ -411,7 +411,7 @@ import { format } from 'date-fns';
|
|
|
411
411
|
## Formato de informe de auditoría
|
|
412
412
|
|
|
413
413
|
```markdown
|
|
414
|
-
# Informe de auditoría React Native 0.
|
|
414
|
+
# Informe de auditoría React Native 0.85 / Expo
|
|
415
415
|
|
|
416
416
|
## Proyecto: [Nombre del proyecto]
|
|
417
417
|
**Fecha:** [Fecha]
|
|
@@ -8,9 +8,9 @@ Este documento cubre las herramientas esenciales para el desarrollo de React Nat
|
|
|
8
8
|
|
|
9
9
|
## Requisitos del Sistema
|
|
10
10
|
|
|
11
|
-
### Node.js >= 22 LTS (requerido para RN 0.
|
|
11
|
+
### Node.js >= 22 LTS (requerido para RN 0.85)
|
|
12
12
|
|
|
13
|
-
React Native 0.
|
|
13
|
+
React Native 0.85 requiere **Node.js 22.x LTS** mínimo (RN 0.85 requería Node 20). La versión recomendada es **Node.js 22.x active LTS**.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
# Verificar versión
|
|
@@ -22,11 +22,11 @@ nvm use 22
|
|
|
22
22
|
nvm alias default 22
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
> Las versiones de Node < 22 ya no son compatibles con RN 0.
|
|
25
|
+
> Las versiones de Node < 22 ya no son compatibles con RN 0.85. Actualizar antes de migrar.
|
|
26
26
|
|
|
27
27
|
### React Native Gesture Handler 3.0.0 — Cambios Breaking
|
|
28
28
|
|
|
29
|
-
RNGH 3.0.0 introduce cambios de ruptura con RN 0.
|
|
29
|
+
RNGH 3.0.0 introduce cambios de ruptura con RN 0.85:
|
|
30
30
|
|
|
31
31
|
```typescript
|
|
32
32
|
// ✅ RNGH 3.0 — GestureHandlerRootView obligatorio a nivel raíz
|
|
@@ -230,7 +230,7 @@ rm -rf node_modules/.cache
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
## Metro TLS (0.85+ / 0.
|
|
233
|
+
## Metro TLS (0.85+ / 0.85+)
|
|
234
234
|
|
|
235
235
|
Desde RN 0.85, Metro acepta un objeto `server.tls` en `metro.config.js`, habilitando HTTPS y WSS (WebSocket seguro para Fast Refresh) durante el desarrollo local.
|
|
236
236
|
|
|
@@ -246,7 +246,7 @@ Desde RN 0.85, Metro acepta un objeto `server.tls` en `metro.config.js`, habilit
|
|
|
246
246
|
### Configuración
|
|
247
247
|
|
|
248
248
|
```javascript
|
|
249
|
-
// metro.config.js (bare RN 0.85+ / 0.
|
|
249
|
+
// metro.config.js (bare RN 0.85+ / 0.85+)
|
|
250
250
|
const { getDefaultConfig } = require('@react-native/metro-config');
|
|
251
251
|
const fs = require('fs');
|
|
252
252
|
|
|
@@ -8,7 +8,7 @@ allowed-tools: Read, Glob, Bash, Grep
|
|
|
8
8
|
|
|
9
9
|
Bienvenue ! Ce guide vous aide à découvrir la valeur de Claude Craft en moins de 10 minutes.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
220 commandes peuvent sembler intimidantes — trouvons les 3 qui comptent le plus pour VOTRE projet, maintenant.
|
|
12
12
|
|
|
13
13
|
## Étape 1 : Détection de Votre Stack Projet (30 secondes)
|
|
14
14
|
|
|
@@ -21,9 +21,7 @@ Analyse de votre projet pour identifier la stack technologique...
|
|
|
21
21
|
- `pyproject.toml` ou `requirements.txt` → Python
|
|
22
22
|
- `pubspec.yaml` → Flutter/Dart
|
|
23
23
|
- `*.csproj` ou `*.sln` → C# / .NET
|
|
24
|
-
-
|
|
25
|
-
- `go.mod` → Go
|
|
26
|
-
- `mix.exs` → Elixir
|
|
24
|
+
- Paperclip is Node.js/TypeScript — not auto-detected; install explicitly with `--tech=paperclip`
|
|
27
25
|
|
|
28
26
|
2. Pour les projets JavaScript/TypeScript, vérifier les dépendances pour déterminer le framework :
|
|
29
27
|
- Chercher `react`, `@angular/core`, `vue`, `react-native` dans les dépendances package.json
|
|
@@ -117,7 +115,7 @@ Basé sur votre stack, ces 3 commandes vous donneront des insights immédiats :
|
|
|
117
115
|
3. ✓ /[commande-3] — [Explication en 2 phrases de la valeur]
|
|
118
116
|
Pourquoi maintenant ? [1 phrase sur le bénéfice TTFV]
|
|
119
117
|
|
|
120
|
-
Choisissez une commande à exécuter (tapez le numéro 1-3), ou passez pour explorer les
|
|
118
|
+
Choisissez une commande à exécuter (tapez le numéro 1-3), ou passez pour explorer les 220 commandes avec /help
|
|
121
119
|
```
|
|
122
120
|
|
|
123
121
|
## Étape 3 : Exécuter avec Commentaire Pédagogique (5 minutes)
|
|
@@ -185,7 +183,7 @@ C. Rejoindre la communauté
|
|
|
185
183
|
|
|
186
184
|
📚 Ressources :
|
|
187
185
|
- Guide quickstart complet : @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
188
|
-
- Toutes les
|
|
186
|
+
- Toutes les 220 commandes : /help
|
|
189
187
|
- Guides spécifiques à votre technologie : @.claude/references/[votre-tech]/
|
|
190
188
|
|
|
191
189
|
✓ Vous avez terminé vos 10 premières minutes avec Claude Craft !
|
|
@@ -221,7 +219,7 @@ Basé sur votre stack, ces 3 commandes vous donneront des insights immédiats :
|
|
|
221
219
|
3. ✓ /react:bundle-analyze — Identifier grandes dépendances qui alourdissent votre bundle
|
|
222
220
|
Pourquoi maintenant ? Chaque 100KB coûte de l'argent aux utilisateurs et ralentit le chargement — gains rapides ici.
|
|
223
221
|
|
|
224
|
-
Choisissez une commande à exécuter (tapez le numéro 1-3), ou passez pour explorer les
|
|
222
|
+
Choisissez une commande à exécuter (tapez le numéro 1-3), ou passez pour explorer les 220 commandes avec /help
|
|
225
223
|
```
|
|
226
224
|
|
|
227
225
|
**L'Utilisateur Tape : 1**
|
|
@@ -276,7 +274,7 @@ C. Rejoindre la communauté
|
|
|
276
274
|
|
|
277
275
|
📚 Ressources :
|
|
278
276
|
- Guide quickstart complet : @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
279
|
-
- Toutes les
|
|
277
|
+
- Toutes les 220 commandes : /help
|
|
280
278
|
- Guides spécifiques React : @.claude/references/react/
|
|
281
279
|
|
|
282
280
|
✓ Vous avez terminé vos 10 premières minutes avec Claude Craft !
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"hooks": [
|
|
82
82
|
{
|
|
83
83
|
"type": "command",
|
|
84
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
84
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot edit sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
85
85
|
}
|
|
86
86
|
]
|
|
87
87
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"hooks": [
|
|
91
91
|
{
|
|
92
92
|
"type": "command",
|
|
93
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
93
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot write sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
94
94
|
}
|
|
95
95
|
]
|
|
96
96
|
}
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"hooks": [
|
|
102
102
|
{
|
|
103
103
|
"type": "command",
|
|
104
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
104
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Extract only the relevant information and summarize in under 20 lines.'; elif [ \"$OUTPUT_SIZE\" -gt 10000 ]; then echo 'NOTICE: Moderate output (>10KB). Focus on errors, warnings, and key results.'; fi; exit 0",
|
|
105
105
|
"timeout": 3000
|
|
106
106
|
}
|
|
107
107
|
]
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"hooks": [
|
|
112
112
|
{
|
|
113
113
|
"type": "command",
|
|
114
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
114
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Summarize key findings in under 20 lines.'; fi; exit 0",
|
|
115
115
|
"timeout": 3000
|
|
116
116
|
}
|
|
117
117
|
]
|
|
@@ -279,7 +279,7 @@ resume_from:
|
|
|
279
279
|
|--------|----------|
|
|
280
280
|
| "Session introuvable" | Verifiez l'ID de session dans `.recette/sessions/` |
|
|
281
281
|
| "Aucune erreur dans la session" | La session n'a pas d'erreurs a corriger |
|
|
282
|
-
| "Sprint-status.yaml introuvable" | Initialisez BMAD avec `/
|
|
282
|
+
| "Sprint-status.yaml introuvable" | Initialisez BMAD avec `/workflow:init` |
|
|
283
283
|
| "Test RED n'echoue pas" | Le bug n'est peut-etre plus present, verifier manuellement |
|
|
284
284
|
|
|
285
285
|
## Bonnes Pratiques
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reactnative-reviewer
|
|
3
|
-
description: Spécialiste de la revue de code React Native 0.
|
|
3
|
+
description: Spécialiste de la revue de code React Native 0.85 et Expo — New Architecture, navigation, performance mobile, analyse de bundle
|
|
4
4
|
model: haiku
|
|
5
5
|
effort: low
|
|
6
6
|
maxTurns: 6
|
|
@@ -10,11 +10,11 @@ permissionMode: default
|
|
|
10
10
|
skills: [solid-principles, testing-reactnative, security-reactnative, architecture, navigation]
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# Agent Auditeur React Native 0.
|
|
13
|
+
# Agent Auditeur React Native 0.85 / Expo
|
|
14
14
|
|
|
15
15
|
## Identité
|
|
16
16
|
|
|
17
|
-
Je suis un spécialiste de la revue de code React Native 0.
|
|
17
|
+
Je suis un spécialiste de la revue de code React Native 0.85 et Expo. Mon approche est centrée sur les problèmes spécifiques au mobile : la New Architecture (JSI, Fabric, TurboModules), la navigation avec Expo Router, les performances à 60 FPS, la gestion de la taille du bundle, et les patterns de composition adaptés au mobile. Je ne fais pas un audit générique -- je détecte ce qui casse, ralentit ou complexifie inutilement une application React Native moderne utilisant la New Architecture par défaut.
|
|
18
18
|
|
|
19
19
|
## Système de notation (100 points)
|
|
20
20
|
|
|
@@ -411,7 +411,7 @@ import { format } from 'date-fns';
|
|
|
411
411
|
## Format de rapport d'audit
|
|
412
412
|
|
|
413
413
|
```markdown
|
|
414
|
-
# Rapport d'audit React Native 0.
|
|
414
|
+
# Rapport d'audit React Native 0.85 / Expo
|
|
415
415
|
|
|
416
416
|
## Projet : [Nom du projet]
|
|
417
417
|
**Date :** [Date]
|
|
@@ -8,9 +8,9 @@ Ce document couvre les outils essentiels pour le développement React Native ave
|
|
|
8
8
|
|
|
9
9
|
## Prérequis Système
|
|
10
10
|
|
|
11
|
-
### Node.js >= 22 LTS (requis pour RN 0.
|
|
11
|
+
### Node.js >= 22 LTS (requis pour RN 0.85)
|
|
12
12
|
|
|
13
|
-
React Native 0.
|
|
13
|
+
React Native 0.85 requiert **Node.js 22.x LTS** minimum (RN 0.85 nécessitait Node 20). La version recommandée est **Node.js 22.x active LTS**.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
# Vérifier la version
|
|
@@ -22,11 +22,11 @@ nvm use 22
|
|
|
22
22
|
nvm alias default 22
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
> Les versions Node < 22 ne sont plus supportées avec RN 0.
|
|
25
|
+
> Les versions Node < 22 ne sont plus supportées avec RN 0.85. Mettre à jour avant de migrer.
|
|
26
26
|
|
|
27
27
|
### React Native Gesture Handler 3.0.0 — Changements Breaking
|
|
28
28
|
|
|
29
|
-
RNGH 3.0.0 introduit des changements de rupture avec RN 0.
|
|
29
|
+
RNGH 3.0.0 introduit des changements de rupture avec RN 0.85 :
|
|
30
30
|
|
|
31
31
|
```typescript
|
|
32
32
|
// ✅ RNGH 3.0 — GestureHandlerRootView obligatoire au niveau racine
|
|
@@ -230,7 +230,7 @@ rm -rf node_modules/.cache
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
## Metro TLS (0.85+ / 0.
|
|
233
|
+
## Metro TLS (0.85+ / 0.85+)
|
|
234
234
|
|
|
235
235
|
Depuis RN 0.85, Metro accepte un objet `server.tls` dans `metro.config.js`, activant HTTPS et WSS (WebSocket sécurisé pour Fast Refresh) pendant le développement local.
|
|
236
236
|
|
|
@@ -246,7 +246,7 @@ Depuis RN 0.85, Metro accepte un objet `server.tls` dans `metro.config.js`, acti
|
|
|
246
246
|
### Configuration
|
|
247
247
|
|
|
248
248
|
```javascript
|
|
249
|
-
// metro.config.js (bare RN 0.85+ / 0.
|
|
249
|
+
// metro.config.js (bare RN 0.85+ / 0.85+)
|
|
250
250
|
const { getDefaultConfig } = require('@react-native/metro-config');
|
|
251
251
|
const fs = require('fs');
|
|
252
252
|
|
|
@@ -8,7 +8,7 @@ allowed-tools: Read, Glob, Bash, Grep
|
|
|
8
8
|
|
|
9
9
|
Welcome! This wizard helps you discover Claude Craft's value in under 10 minutes.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
220 commands can feel overwhelming — let's find the 3 that matter most for YOUR project right now.
|
|
12
12
|
|
|
13
13
|
## Step 1: Detect Your Project Stack (30 seconds)
|
|
14
14
|
|
|
@@ -21,9 +21,7 @@ Scanning your project to identify the technology stack...
|
|
|
21
21
|
- `pyproject.toml` or `requirements.txt` → Python
|
|
22
22
|
- `pubspec.yaml` → Flutter/Dart
|
|
23
23
|
- `*.csproj` or `*.sln` → C# / .NET
|
|
24
|
-
-
|
|
25
|
-
- `go.mod` → Go
|
|
26
|
-
- `mix.exs` → Elixir
|
|
24
|
+
- Paperclip is Node.js/TypeScript — not auto-detected; install explicitly with `--tech=paperclip`
|
|
27
25
|
|
|
28
26
|
2. For JavaScript/TypeScript projects, check dependencies to determine framework:
|
|
29
27
|
- Look for `react`, `@angular/core`, `vue`, `react-native` in package.json dependencies
|
|
@@ -117,7 +115,7 @@ Based on your stack, these 3 commands will give you immediate insights:
|
|
|
117
115
|
3. ✓ /[command-3] — [2-sentence explanation of value]
|
|
118
116
|
Why now? [1 sentence on TTFV benefit]
|
|
119
117
|
|
|
120
|
-
Choose one to run (type the number 1-3), or skip to explore all
|
|
118
|
+
Choose one to run (type the number 1-3), or skip to explore all 220 commands with /help
|
|
121
119
|
```
|
|
122
120
|
|
|
123
121
|
## Step 3: Execute with Pedagogical Commentary (5 minutes)
|
|
@@ -185,7 +183,7 @@ C. Join the community
|
|
|
185
183
|
|
|
186
184
|
📚 Resources:
|
|
187
185
|
- Full quickstart guide: @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
188
|
-
- All
|
|
186
|
+
- All 220 commands: /help
|
|
189
187
|
- Technology-specific guides: @.claude/references/[your-tech]/
|
|
190
188
|
|
|
191
189
|
✓ You've completed your first 10 minutes with Claude Craft!
|
|
@@ -221,7 +219,7 @@ Based on your stack, these 3 commands will give you immediate insights:
|
|
|
221
219
|
3. ✓ /react:bundle-analyze — Identify large dependencies bloating your bundle
|
|
222
220
|
Why now? Every 100KB costs users money and slows load time — quick wins here.
|
|
223
221
|
|
|
224
|
-
Choose one to run (type the number 1-3), or skip to explore all
|
|
222
|
+
Choose one to run (type the number 1-3), or skip to explore all 220 commands with /help
|
|
225
223
|
```
|
|
226
224
|
|
|
227
225
|
**User Types: 1**
|
|
@@ -276,7 +274,7 @@ C. Join the community
|
|
|
276
274
|
|
|
277
275
|
📚 Resources:
|
|
278
276
|
- Full quickstart guide: @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
279
|
-
- All
|
|
277
|
+
- All 220 commands: /help
|
|
280
278
|
- React-specific guides: @.claude/references/react/
|
|
281
279
|
|
|
282
280
|
✓ You've completed your first 10 minutes with Claude Craft!
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"hooks": [
|
|
82
82
|
{
|
|
83
83
|
"type": "command",
|
|
84
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
84
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot edit sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
85
85
|
}
|
|
86
86
|
]
|
|
87
87
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"hooks": [
|
|
91
91
|
{
|
|
92
92
|
"type": "command",
|
|
93
|
-
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env|\\.
|
|
93
|
+
"command": "FILEPATH=$(jq -r '.tool_input.file_path // empty'); if printf '%s' \"$FILEPATH\" | grep -qE '(\\.env(\\.|$)|\\.envrc|credentials|secrets?|private.*key|id_(rsa|dsa|ecdsa|ed25519)|\\.pem$|\\.p(fx|12)$|\\.key$|\\.npmrc$|\\.netrc$|kubeconfig)'; then echo \"BLOCKED: Cannot write sensitive file: $FILEPATH\" >&2 && exit 2; fi; exit 0"
|
|
94
94
|
}
|
|
95
95
|
]
|
|
96
96
|
}
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"hooks": [
|
|
102
102
|
{
|
|
103
103
|
"type": "command",
|
|
104
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
104
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Extract only the relevant information and summarize in under 20 lines.'; elif [ \"$OUTPUT_SIZE\" -gt 10000 ]; then echo 'NOTICE: Moderate output (>10KB). Focus on errors, warnings, and key results.'; fi; exit 0",
|
|
105
105
|
"timeout": 3000
|
|
106
106
|
}
|
|
107
107
|
]
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"hooks": [
|
|
112
112
|
{
|
|
113
113
|
"type": "command",
|
|
114
|
-
"command": "OUTPUT_SIZE=$(jq -r '.
|
|
114
|
+
"command": "OUTPUT_SIZE=$(jq -r '.tool_response.stdout? // .tool_response? // .tool_result? // empty' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Summarize key findings in under 20 lines.'; fi; exit 0",
|
|
115
115
|
"timeout": 3000
|
|
116
116
|
}
|
|
117
117
|
]
|
|
@@ -279,7 +279,7 @@ resume_from:
|
|
|
279
279
|
|------|---------|
|
|
280
280
|
| "Sessao nao encontrada" | Verifique o ID de sessao em `.recette/sessions/` |
|
|
281
281
|
| "Sem erros na sessao" | A sessao nao tem erros a corrigir |
|
|
282
|
-
| "sprint-status.yaml nao encontrado" | Inicialize o BMAD com `/
|
|
282
|
+
| "sprint-status.yaml nao encontrado" | Inicialize o BMAD com `/workflow:init` |
|
|
283
283
|
| "Teste RED nao falha" | O bug pode nao existir mais, verificar manualmente |
|
|
284
284
|
|
|
285
285
|
## Melhores Praticas
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reactnative-reviewer
|
|
3
|
-
description: Especialista em revisao de codigo React Native 0.
|
|
3
|
+
description: Especialista em revisao de codigo React Native 0.85 e Expo SDK 56 — New Architecture, navegacao, performance mobile, analise de bundle
|
|
4
4
|
model: haiku
|
|
5
5
|
effort: low
|
|
6
6
|
maxTurns: 6
|
|
@@ -10,11 +10,11 @@ permissionMode: default
|
|
|
10
10
|
skills: [solid-principles, testing-reactnative, security-reactnative, architecture, navigation]
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# Agente Auditor React Native 0.
|
|
13
|
+
# Agente Auditor React Native 0.85 / Expo
|
|
14
14
|
|
|
15
15
|
## Identidade
|
|
16
16
|
|
|
17
|
-
Sou um especialista em revisao de codigo React Native 0.
|
|
17
|
+
Sou um especialista em revisao de codigo React Native 0.85 e Expo. Minha abordagem e centrada nos problemas especificos do mobile: a New Architecture (JSI, Fabric, TurboModules), a navegacao com Expo Router, as performances a 60 FPS, a gestao do tamanho do bundle, e os padroes de composicao adaptados ao mobile. Nao faco uma auditoria generica -- detecto o que quebra, desacelera ou complexifica desnecessariamente uma aplicacao React Native moderna utilizando a New Architecture por padrao.
|
|
18
18
|
|
|
19
19
|
## Sistema de pontuacao (100 pontos)
|
|
20
20
|
|
|
@@ -411,7 +411,7 @@ import { format } from 'date-fns';
|
|
|
411
411
|
## Formato do relatorio de auditoria
|
|
412
412
|
|
|
413
413
|
```markdown
|
|
414
|
-
# Relatorio de auditoria React Native 0.
|
|
414
|
+
# Relatorio de auditoria React Native 0.85 / Expo
|
|
415
415
|
|
|
416
416
|
## Projeto: [Nome do projeto]
|
|
417
417
|
**Data:** [Data]
|
|
@@ -8,9 +8,9 @@ Este documento cobre as ferramentas essenciais para o desenvolvimento React Nati
|
|
|
8
8
|
|
|
9
9
|
## Requisitos do Sistema
|
|
10
10
|
|
|
11
|
-
### Node.js >= 22 LTS (obrigatório para RN 0.
|
|
11
|
+
### Node.js >= 22 LTS (obrigatório para RN 0.85)
|
|
12
12
|
|
|
13
|
-
React Native 0.
|
|
13
|
+
React Native 0.85 requer **Node.js 22.x LTS** no mínimo (o RN 0.85 exigia Node 20). A versão recomendada é **Node.js 22.x active LTS**.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
# Verificar versão
|
|
@@ -22,11 +22,11 @@ nvm use 22
|
|
|
22
22
|
nvm alias default 22
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
> Versões Node < 22 não são mais suportadas com RN 0.
|
|
25
|
+
> Versões Node < 22 não são mais suportadas com RN 0.85. Atualizar antes de migrar.
|
|
26
26
|
|
|
27
27
|
### React Native Gesture Handler 3.0.0 — Mudanças Breaking
|
|
28
28
|
|
|
29
|
-
RNGH 3.0.0 introduz mudanças breaking com RN 0.
|
|
29
|
+
RNGH 3.0.0 introduz mudanças breaking com RN 0.85:
|
|
30
30
|
|
|
31
31
|
```typescript
|
|
32
32
|
// ✅ RNGH 3.0 — GestureHandlerRootView obrigatório no nível raiz
|
|
@@ -230,7 +230,7 @@ rm -rf node_modules/.cache
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
## Metro TLS (0.85+ / 0.
|
|
233
|
+
## Metro TLS (0.85+ / 0.85+)
|
|
234
234
|
|
|
235
235
|
Desde o RN 0.85, o Metro aceita um objeto `server.tls` no `metro.config.js`, habilitando HTTPS e WSS (WebSocket seguro para Fast Refresh) durante o desenvolvimento local.
|
|
236
236
|
|
|
@@ -246,7 +246,7 @@ Desde o RN 0.85, o Metro aceita um objeto `server.tls` no `metro.config.js`, hab
|
|
|
246
246
|
### Configuração
|
|
247
247
|
|
|
248
248
|
```javascript
|
|
249
|
-
// metro.config.js (bare RN 0.85+ / 0.
|
|
249
|
+
// metro.config.js (bare RN 0.85+ / 0.85+)
|
|
250
250
|
const { getDefaultConfig } = require('@react-native/metro-config');
|
|
251
251
|
const fs = require('fs');
|
|
252
252
|
|