cmp-standards 2.4.0 → 2.7.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 (97) hide show
  1. package/README.md +633 -611
  2. package/dist/cli/index.js +0 -0
  3. package/dist/db/drizzle-client.d.ts +3 -3
  4. package/dist/db/drizzle-client.d.ts.map +1 -1
  5. package/dist/db/drizzle-client.js +57 -58
  6. package/dist/db/drizzle-client.js.map +1 -1
  7. package/dist/db/turso-client.js +11 -11
  8. package/dist/eslint/rules/no-async-useeffect.js +6 -6
  9. package/dist/hooks/cloud-pre-tool-use.js +20 -20
  10. package/dist/hooks/cloud-session-start.d.ts +15 -3
  11. package/dist/hooks/cloud-session-start.d.ts.map +1 -1
  12. package/dist/hooks/cloud-session-start.js +135 -8
  13. package/dist/hooks/cloud-session-start.js.map +1 -1
  14. package/dist/hooks/session-start.d.ts +2 -1
  15. package/dist/hooks/session-start.d.ts.map +1 -1
  16. package/dist/hooks/session-start.js +99 -74
  17. package/dist/hooks/session-start.js.map +1 -1
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp/server.js +2 -2
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/schema/plans.d.ts +194 -0
  25. package/dist/schema/plans.d.ts.map +1 -0
  26. package/dist/schema/plans.js +180 -0
  27. package/dist/schema/plans.js.map +1 -0
  28. package/dist/schema/tracking.d.ts +90 -90
  29. package/dist/services/ContextGenerator.d.ts +16 -0
  30. package/dist/services/ContextGenerator.d.ts.map +1 -0
  31. package/dist/services/ContextGenerator.js +62 -0
  32. package/dist/services/ContextGenerator.js.map +1 -0
  33. package/dist/services/PlanManager.d.ts +99 -0
  34. package/dist/services/PlanManager.d.ts.map +1 -0
  35. package/dist/services/PlanManager.js +372 -0
  36. package/dist/services/PlanManager.js.map +1 -0
  37. package/dist/services/ProjectScaffold.js +76 -76
  38. package/dist/services/context-injector.d.ts +111 -0
  39. package/dist/services/context-injector.d.ts.map +1 -0
  40. package/dist/services/context-injector.js +397 -0
  41. package/dist/services/context-injector.js.map +1 -0
  42. package/dist/services/index.d.ts +15 -15
  43. package/dist/services/index.d.ts.map +1 -1
  44. package/dist/services/index.js +18 -20
  45. package/dist/services/index.js.map +1 -1
  46. package/dist/services/memory-router.d.ts +122 -0
  47. package/dist/services/memory-router.d.ts.map +1 -0
  48. package/dist/services/memory-router.js +517 -0
  49. package/dist/services/memory-router.js.map +1 -0
  50. package/dist/services/pattern-tracker.d.ts +97 -0
  51. package/dist/services/pattern-tracker.d.ts.map +1 -0
  52. package/dist/services/pattern-tracker.js +425 -0
  53. package/dist/services/pattern-tracker.js.map +1 -0
  54. package/dist/services/semantic-search.d.ts +33 -35
  55. package/dist/services/semantic-search.d.ts.map +1 -1
  56. package/dist/services/semantic-search.js +207 -165
  57. package/dist/services/semantic-search.js.map +1 -1
  58. package/dist/types/index.d.ts +329 -4
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/index.js +186 -9
  61. package/dist/types/index.js.map +1 -1
  62. package/package.json +104 -100
  63. package/standards/README.md +50 -50
  64. package/standards/experts/expert-routing.md +215 -215
  65. package/standards/general/code-quality.md +86 -86
  66. package/standards/general/memory-usage.md +205 -205
  67. package/standards/general/sync-workflow.md +235 -235
  68. package/standards/general/workflow.md +82 -82
  69. package/standards/hooks/mandatory-tracking.md +446 -446
  70. package/standards/infrastructure/cloud-database.md +287 -287
  71. package/standards/mcp/server-design.md +243 -243
  72. package/standards/mcp/tool-patterns.md +354 -354
  73. package/standards/skills/skill-structure.md +286 -286
  74. package/standards/skills/workflow-design.md +323 -323
  75. package/standards/tools/tool-design.md +297 -297
  76. package/templates/agents/architecture-expert.md +61 -61
  77. package/templates/agents/database-expert.md +62 -62
  78. package/templates/agents/documentation-expert.md +57 -57
  79. package/templates/agents/memory-expert.md +88 -88
  80. package/templates/agents/performance-expert.md +61 -61
  81. package/templates/agents/security-expert.md +59 -59
  82. package/templates/agents/ux-expert.md +63 -63
  83. package/templates/agents/worker.md +75 -75
  84. package/templates/ai-skills/SKILL_TEMPLATE.md +55 -55
  85. package/templates/claude-settings.json +72 -72
  86. package/templates/commands/experts.md +138 -138
  87. package/templates/hooks/README.md +158 -158
  88. package/templates/hooks/project.config.json.template +77 -77
  89. package/templates/hooks/settings.local.json.template +57 -57
  90. package/templates/memory-config.json +56 -56
  91. package/templates/memory-config.schema.json +212 -212
  92. package/templates/settings.json +58 -58
  93. package/templates/skills/continue.md +205 -205
  94. package/templates/workflows/business-improvement.md +264 -264
  95. package/templates/workflows/expert-review.md +153 -153
  96. package/templates/workflows/internal-app.md +245 -245
  97. package/templates/workflows/sync-docs.md +187 -187
@@ -1,235 +1,235 @@
1
- # Sync Inteligente - Adaptación de Estándares
2
-
3
- ## Concepto
4
-
5
- El sync **NO es un script**. Es un proceso inteligente donde la IA:
6
-
7
- 1. Lee estándares globales (este paquete)
8
- 2. Analiza el proyecto local
9
- 3. Adapta los estándares al contexto
10
- 4. Actualiza CLAUDE.md local
11
-
12
- ## Invocación
13
-
14
- ```bash
15
- /sync
16
- ```
17
-
18
- ## Proceso de Sync
19
-
20
- ### 1. Leer Estándares Globales
21
-
22
- La IA lee los estándares de `cmp-standards`:
23
-
24
- ```
25
- standards/
26
- ├── general/ → Cómo trabajar
27
- ├── mcp/ → Cómo crear MCP servers
28
- ├── tools/ → Cómo diseñar tools
29
- ├── skills/ → Cómo crear skills
30
- └── experts/ → Cuándo consultar expertos
31
- ```
32
-
33
- ### 2. Analizar Proyecto Local
34
-
35
- La IA examina:
36
-
37
- ```
38
- Estructura:
39
- - src/
40
- - package.json
41
- - tsconfig.json
42
- - CLAUDE.md (existente)
43
-
44
- Tech Stack:
45
- - Framework (Next.js, Remix, etc.)
46
- - ORM (Drizzle, Prisma, etc.)
47
- - Styling (Tailwind, CSS Modules, etc.)
48
-
49
- Patrones:
50
- - Estructura de carpetas
51
- - Convenciones de naming
52
- - Tests existentes
53
- ```
54
-
55
- ### 3. Adaptar Estándares
56
-
57
- **NO copiar literalmente**. Adaptar al contexto:
58
-
59
- ```markdown
60
- # Ejemplo: Estándar Global
61
- "Usar Drizzle ORM con filtro de sistema"
62
-
63
- # Adaptación para Proyecto sin Multi-tenancy
64
- "Usar Drizzle ORM" (sin filtro de sistema)
65
-
66
- # Adaptación para Proyecto con Prisma
67
- Omitir - no aplica a este proyecto
68
- ```
69
-
70
- ### 4. Actualizar CLAUDE.md
71
-
72
- Generar/actualizar CLAUDE.md local con:
73
-
74
- ```markdown
75
- # CLAUDE.md
76
-
77
- ## Proyecto: [nombre]
78
-
79
- > [descripción breve]
80
-
81
- ## Tech Stack
82
- [detectado del proyecto]
83
-
84
- ## Reglas Específicas
85
- [adaptadas de estándares globales]
86
-
87
- ## Workflow
88
- [recordatorio de cómo trabajar]
89
-
90
- ## Expertos
91
- [cuándo consultar /experts]
92
- ```
93
-
94
- ## Qué SIEMPRE incluir
95
-
96
- Independiente del proyecto, siempre recordar:
97
-
98
- ### Workflow Básico
99
-
100
- ```markdown
101
- ## Cómo Trabajar
102
-
103
- 1. **Planificar** - Usar TodoWrite para tareas
104
- 2. **Ejecutar** - Una tarea a la vez
105
- 3. **Verificar** - Typecheck y tests
106
- 4. **Aprender** - Registrar en memoria
107
- ```
108
-
109
- ### Consulta a Expertos
110
-
111
- ```markdown
112
- ## Expertos
113
-
114
- Consultar /experts cuando:
115
- - Código financiero
116
- - Autenticación/autorización
117
- - Cambios de schema
118
- - Refactoring grande
119
- ```
120
-
121
- ### Memory
122
-
123
- ```markdown
124
- ## Memory
125
-
126
- - Registrar tareas al empezar
127
- - Capturar aprendizajes
128
- - Documentar decisiones
129
- ```
130
-
131
- ## Qué ADAPTAR por Proyecto
132
-
133
- ### Base de Datos
134
-
135
- ```markdown
136
- # Si usa Drizzle + MySQL compartida
137
- ## Database
138
- - Filter by system='PROJECT_NAME'
139
- - Use transactions for multiple ops
140
-
141
- # Si usa Prisma local
142
- ## Database
143
- - Standard Prisma queries
144
- - Use $transaction for atomicity
145
- ```
146
-
147
- ### Testing
148
-
149
- ```markdown
150
- # Si tiene Vitest
151
- ## Testing
152
- npm run test
153
-
154
- # Si tiene Jest
155
- ## Testing
156
- npm test
157
-
158
- # Si no tiene tests
159
- ## Testing
160
- Consider adding tests for critical paths
161
- ```
162
-
163
- ### Linting
164
-
165
- ```markdown
166
- # Si tiene ESLint config
167
- ## Linting
168
- npm run lint
169
-
170
- # Si no tiene
171
- ## Linting
172
- Consider adding ESLint
173
- ```
174
-
175
- ## Ejemplo de CLAUDE.md Generado
176
-
177
- ```markdown
178
- # CLAUDE.md - MyProject
179
-
180
- > E-commerce platform with Next.js
181
-
182
- ## Tech Stack
183
- - Next.js 14 (App Router)
184
- - Prisma + PostgreSQL
185
- - Tailwind CSS
186
- - tRPC
187
-
188
- ## Core Rules
189
-
190
- ### Code Quality
191
- - NO `any` types
192
- - Use Zod for validation
193
- - Prefer Server Components
194
-
195
- ### Database
196
- - Use Prisma transactions
197
- - Always handle errors
198
- - Index frequently queried fields
199
-
200
- ## Workflow
201
-
202
- 1. Plan with TodoWrite
203
- 2. Execute incrementally
204
- 3. Run typecheck + lint
205
- 4. Consult experts for critical code
206
-
207
- ## Commands
208
-
209
- ```bash
210
- npm run dev # Development
211
- npm run build # Production build
212
- npm run lint # ESLint
213
- npm run typecheck # TypeScript
214
- ```
215
-
216
- ## When to use /experts
217
-
218
- - Payment processing code
219
- - User authentication
220
- - Database migrations
221
- - Large refactoring
222
- ```
223
-
224
- ## Frecuencia de Sync
225
-
226
- - **Inicial**: Al empezar a trabajar en proyecto nuevo
227
- - **Periódico**: Cuando cambian estándares globales
228
- - **Manual**: Cuando el usuario ejecuta `/sync`
229
-
230
- ## NO hacer en Sync
231
-
232
- - No sobreescribir reglas específicas del proyecto
233
- - No agregar estándares irrelevantes
234
- - No crear archivos innecesarios
235
- - No modificar código, solo documentación
1
+ # Sync Inteligente - Adaptación de Estándares
2
+
3
+ ## Concepto
4
+
5
+ El sync **NO es un script**. Es un proceso inteligente donde la IA:
6
+
7
+ 1. Lee estándares globales (este paquete)
8
+ 2. Analiza el proyecto local
9
+ 3. Adapta los estándares al contexto
10
+ 4. Actualiza CLAUDE.md local
11
+
12
+ ## Invocación
13
+
14
+ ```bash
15
+ /sync
16
+ ```
17
+
18
+ ## Proceso de Sync
19
+
20
+ ### 1. Leer Estándares Globales
21
+
22
+ La IA lee los estándares de `cmp-standards`:
23
+
24
+ ```
25
+ standards/
26
+ ├── general/ → Cómo trabajar
27
+ ├── mcp/ → Cómo crear MCP servers
28
+ ├── tools/ → Cómo diseñar tools
29
+ ├── skills/ → Cómo crear skills
30
+ └── experts/ → Cuándo consultar expertos
31
+ ```
32
+
33
+ ### 2. Analizar Proyecto Local
34
+
35
+ La IA examina:
36
+
37
+ ```
38
+ Estructura:
39
+ - src/
40
+ - package.json
41
+ - tsconfig.json
42
+ - CLAUDE.md (existente)
43
+
44
+ Tech Stack:
45
+ - Framework (Next.js, Remix, etc.)
46
+ - ORM (Drizzle, Prisma, etc.)
47
+ - Styling (Tailwind, CSS Modules, etc.)
48
+
49
+ Patrones:
50
+ - Estructura de carpetas
51
+ - Convenciones de naming
52
+ - Tests existentes
53
+ ```
54
+
55
+ ### 3. Adaptar Estándares
56
+
57
+ **NO copiar literalmente**. Adaptar al contexto:
58
+
59
+ ```markdown
60
+ # Ejemplo: Estándar Global
61
+ "Usar Drizzle ORM con filtro de sistema"
62
+
63
+ # Adaptación para Proyecto sin Multi-tenancy
64
+ "Usar Drizzle ORM" (sin filtro de sistema)
65
+
66
+ # Adaptación para Proyecto con Prisma
67
+ Omitir - no aplica a este proyecto
68
+ ```
69
+
70
+ ### 4. Actualizar CLAUDE.md
71
+
72
+ Generar/actualizar CLAUDE.md local con:
73
+
74
+ ```markdown
75
+ # CLAUDE.md
76
+
77
+ ## Proyecto: [nombre]
78
+
79
+ > [descripción breve]
80
+
81
+ ## Tech Stack
82
+ [detectado del proyecto]
83
+
84
+ ## Reglas Específicas
85
+ [adaptadas de estándares globales]
86
+
87
+ ## Workflow
88
+ [recordatorio de cómo trabajar]
89
+
90
+ ## Expertos
91
+ [cuándo consultar /experts]
92
+ ```
93
+
94
+ ## Qué SIEMPRE incluir
95
+
96
+ Independiente del proyecto, siempre recordar:
97
+
98
+ ### Workflow Básico
99
+
100
+ ```markdown
101
+ ## Cómo Trabajar
102
+
103
+ 1. **Planificar** - Usar TodoWrite para tareas
104
+ 2. **Ejecutar** - Una tarea a la vez
105
+ 3. **Verificar** - Typecheck y tests
106
+ 4. **Aprender** - Registrar en memoria
107
+ ```
108
+
109
+ ### Consulta a Expertos
110
+
111
+ ```markdown
112
+ ## Expertos
113
+
114
+ Consultar /experts cuando:
115
+ - Código financiero
116
+ - Autenticación/autorización
117
+ - Cambios de schema
118
+ - Refactoring grande
119
+ ```
120
+
121
+ ### Memory
122
+
123
+ ```markdown
124
+ ## Memory
125
+
126
+ - Registrar tareas al empezar
127
+ - Capturar aprendizajes
128
+ - Documentar decisiones
129
+ ```
130
+
131
+ ## Qué ADAPTAR por Proyecto
132
+
133
+ ### Base de Datos
134
+
135
+ ```markdown
136
+ # Si usa Drizzle + MySQL compartida
137
+ ## Database
138
+ - Filter by system='PROJECT_NAME'
139
+ - Use transactions for multiple ops
140
+
141
+ # Si usa Prisma local
142
+ ## Database
143
+ - Standard Prisma queries
144
+ - Use $transaction for atomicity
145
+ ```
146
+
147
+ ### Testing
148
+
149
+ ```markdown
150
+ # Si tiene Vitest
151
+ ## Testing
152
+ npm run test
153
+
154
+ # Si tiene Jest
155
+ ## Testing
156
+ npm test
157
+
158
+ # Si no tiene tests
159
+ ## Testing
160
+ Consider adding tests for critical paths
161
+ ```
162
+
163
+ ### Linting
164
+
165
+ ```markdown
166
+ # Si tiene ESLint config
167
+ ## Linting
168
+ npm run lint
169
+
170
+ # Si no tiene
171
+ ## Linting
172
+ Consider adding ESLint
173
+ ```
174
+
175
+ ## Ejemplo de CLAUDE.md Generado
176
+
177
+ ```markdown
178
+ # CLAUDE.md - MyProject
179
+
180
+ > E-commerce platform with Next.js
181
+
182
+ ## Tech Stack
183
+ - Next.js 14 (App Router)
184
+ - Prisma + PostgreSQL
185
+ - Tailwind CSS
186
+ - tRPC
187
+
188
+ ## Core Rules
189
+
190
+ ### Code Quality
191
+ - NO `any` types
192
+ - Use Zod for validation
193
+ - Prefer Server Components
194
+
195
+ ### Database
196
+ - Use Prisma transactions
197
+ - Always handle errors
198
+ - Index frequently queried fields
199
+
200
+ ## Workflow
201
+
202
+ 1. Plan with TodoWrite
203
+ 2. Execute incrementally
204
+ 3. Run typecheck + lint
205
+ 4. Consult experts for critical code
206
+
207
+ ## Commands
208
+
209
+ ```bash
210
+ npm run dev # Development
211
+ npm run build # Production build
212
+ npm run lint # ESLint
213
+ npm run typecheck # TypeScript
214
+ ```
215
+
216
+ ## When to use /experts
217
+
218
+ - Payment processing code
219
+ - User authentication
220
+ - Database migrations
221
+ - Large refactoring
222
+ ```
223
+
224
+ ## Frecuencia de Sync
225
+
226
+ - **Inicial**: Al empezar a trabajar en proyecto nuevo
227
+ - **Periódico**: Cuando cambian estándares globales
228
+ - **Manual**: Cuando el usuario ejecuta `/sync`
229
+
230
+ ## NO hacer en Sync
231
+
232
+ - No sobreescribir reglas específicas del proyecto
233
+ - No agregar estándares irrelevantes
234
+ - No crear archivos innecesarios
235
+ - No modificar código, solo documentación
@@ -1,82 +1,82 @@
1
- # Workflow General con Claude Code
2
-
3
- ## Principios Fundamentales
4
-
5
- ### 1. Registrar Todo en Memory
6
- - **Antes** de empezar una tarea: registrarla
7
- - **Durante** la tarea: capturar ideas y aprendizajes
8
- - **Después** de la tarea: documentar resultado y lecciones
9
-
10
- ### 2. Consultar Expertos en Decisiones Críticas
11
- Usar `/experts` cuando:
12
- - Cambios en código financiero o de pagos
13
- - Modificaciones de esquema de base de datos
14
- - Cambios de autenticación/autorización
15
- - Arquitectura nueva o refactoring grande
16
-
17
- ### 3. Flujo de Trabajo Estándar
18
-
19
- ```
20
- 1. ENTENDER
21
- - Leer contexto existente
22
- - Buscar en memoria patrones similares
23
- - Identificar archivos relevantes
24
-
25
- 2. PLANIFICAR
26
- - Crear plan con TodoWrite
27
- - Dividir en tareas pequeñas
28
- - Identificar si necesita validación de expertos
29
-
30
- 3. EJECUTAR
31
- - Una tarea a la vez
32
- - Marcar progreso en todo list
33
- - Capturar ideas que surjan
34
-
35
- 4. VERIFICAR
36
- - Ejecutar tests si existen
37
- - Ejecutar typecheck
38
- - Consultar expertos si es crítico
39
-
40
- 5. APRENDER
41
- - Registrar aprendizajes en memory
42
- - Detectar patrones repetidos
43
- - Actualizar estándares si aplica
44
- ```
45
-
46
- ## Comunicación
47
-
48
- - **Conciso**: Respuestas cortas y directas
49
- - **Sin emojis**: A menos que el usuario los pida
50
- - **Técnico**: Enfocado en la solución
51
- - **Honesto**: Si no sabes algo, dilo
52
-
53
- ## Manejo de Errores
54
-
55
- 1. **No asumir** - Verificar que archivos/funciones existen antes de usarlos
56
- 2. **Leer antes de editar** - Siempre leer el archivo antes de modificarlo
57
- 3. **No sobre-ingenierizar** - Solución mínima que funcione
58
-
59
- ## Memory Usage
60
-
61
- ```typescript
62
- // Registrar tarea
63
- await taskTracker.startTask({
64
- title: "Implementar feature X",
65
- description: "...",
66
- userRequest: "mensaje original del usuario"
67
- })
68
-
69
- // Capturar idea durante trabajo
70
- await ideaCollector.captureIdea({
71
- title: "Podríamos optimizar Y",
72
- category: "optimization",
73
- priority: "medium"
74
- })
75
-
76
- // Registrar aprendizaje
77
- await memoryClient.createMemory({
78
- title: "Pattern Z funciona mejor que W",
79
- body: "Descubrimos que...",
80
- domain: "performance"
81
- })
82
- ```
1
+ # Workflow General con Claude Code
2
+
3
+ ## Principios Fundamentales
4
+
5
+ ### 1. Registrar Todo en Memory
6
+ - **Antes** de empezar una tarea: registrarla
7
+ - **Durante** la tarea: capturar ideas y aprendizajes
8
+ - **Después** de la tarea: documentar resultado y lecciones
9
+
10
+ ### 2. Consultar Expertos en Decisiones Críticas
11
+ Usar `/experts` cuando:
12
+ - Cambios en código financiero o de pagos
13
+ - Modificaciones de esquema de base de datos
14
+ - Cambios de autenticación/autorización
15
+ - Arquitectura nueva o refactoring grande
16
+
17
+ ### 3. Flujo de Trabajo Estándar
18
+
19
+ ```
20
+ 1. ENTENDER
21
+ - Leer contexto existente
22
+ - Buscar en memoria patrones similares
23
+ - Identificar archivos relevantes
24
+
25
+ 2. PLANIFICAR
26
+ - Crear plan con TodoWrite
27
+ - Dividir en tareas pequeñas
28
+ - Identificar si necesita validación de expertos
29
+
30
+ 3. EJECUTAR
31
+ - Una tarea a la vez
32
+ - Marcar progreso en todo list
33
+ - Capturar ideas que surjan
34
+
35
+ 4. VERIFICAR
36
+ - Ejecutar tests si existen
37
+ - Ejecutar typecheck
38
+ - Consultar expertos si es crítico
39
+
40
+ 5. APRENDER
41
+ - Registrar aprendizajes en memory
42
+ - Detectar patrones repetidos
43
+ - Actualizar estándares si aplica
44
+ ```
45
+
46
+ ## Comunicación
47
+
48
+ - **Conciso**: Respuestas cortas y directas
49
+ - **Sin emojis**: A menos que el usuario los pida
50
+ - **Técnico**: Enfocado en la solución
51
+ - **Honesto**: Si no sabes algo, dilo
52
+
53
+ ## Manejo de Errores
54
+
55
+ 1. **No asumir** - Verificar que archivos/funciones existen antes de usarlos
56
+ 2. **Leer antes de editar** - Siempre leer el archivo antes de modificarlo
57
+ 3. **No sobre-ingenierizar** - Solución mínima que funcione
58
+
59
+ ## Memory Usage
60
+
61
+ ```typescript
62
+ // Registrar tarea
63
+ await taskTracker.startTask({
64
+ title: "Implementar feature X",
65
+ description: "...",
66
+ userRequest: "mensaje original del usuario"
67
+ })
68
+
69
+ // Capturar idea durante trabajo
70
+ await ideaCollector.captureIdea({
71
+ title: "Podríamos optimizar Y",
72
+ category: "optimization",
73
+ priority: "medium"
74
+ })
75
+
76
+ // Registrar aprendizaje
77
+ await memoryClient.createMemory({
78
+ title: "Pattern Z funciona mejor que W",
79
+ body: "Descubrimos que...",
80
+ domain: "performance"
81
+ })
82
+ ```