cmp-standards 2.0.0 → 2.4.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.
- package/README.md +171 -101
- package/dist/cli/index.js +239 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +203 -39
- package/dist/dashboard/server.js.map +1 -1
- package/dist/db/cloud.d.ts +174 -0
- package/dist/db/cloud.d.ts.map +1 -0
- package/dist/db/cloud.js +241 -0
- package/dist/db/cloud.js.map +1 -0
- package/dist/db/errors.d.ts +76 -0
- package/dist/db/errors.d.ts.map +1 -0
- package/dist/db/errors.js +135 -0
- package/dist/db/errors.js.map +1 -0
- package/dist/db/turso-client.d.ts +178 -0
- package/dist/db/turso-client.d.ts.map +1 -0
- package/dist/db/turso-client.js +455 -0
- package/dist/db/turso-client.js.map +1 -0
- package/dist/db/upstash-client.d.ts +161 -0
- package/dist/db/upstash-client.d.ts.map +1 -0
- package/dist/db/upstash-client.js +325 -0
- package/dist/db/upstash-client.js.map +1 -0
- package/dist/hooks/cloud-post-tool-use.d.ts +30 -0
- package/dist/hooks/cloud-post-tool-use.d.ts.map +1 -0
- package/dist/hooks/cloud-post-tool-use.js +116 -0
- package/dist/hooks/cloud-post-tool-use.js.map +1 -0
- package/dist/hooks/cloud-pre-tool-use.d.ts +19 -0
- package/dist/hooks/cloud-pre-tool-use.d.ts.map +1 -0
- package/dist/hooks/cloud-pre-tool-use.js +149 -0
- package/dist/hooks/cloud-pre-tool-use.js.map +1 -0
- package/dist/hooks/cloud-session-start.d.ts +20 -0
- package/dist/hooks/cloud-session-start.d.ts.map +1 -0
- package/dist/hooks/cloud-session-start.js +130 -0
- package/dist/hooks/cloud-session-start.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/memory-checkpoint.d.ts.map +1 -1
- package/dist/hooks/memory-checkpoint.js +12 -20
- package/dist/hooks/memory-checkpoint.js.map +1 -1
- package/dist/hooks/pre-tool-use.d.ts +2 -8
- package/dist/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/hooks/pre-tool-use.js +7 -106
- package/dist/hooks/pre-tool-use.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +15 -6
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +223 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/schema/tracking.d.ts +644 -0
- package/dist/schema/tracking.d.ts.map +1 -0
- package/dist/schema/tracking.js +204 -0
- package/dist/schema/tracking.js.map +1 -0
- package/dist/services/ProjectScaffold.d.ts.map +1 -1
- package/dist/services/ProjectScaffold.js +33 -5
- package/dist/services/ProjectScaffold.js.map +1 -1
- package/dist/services/TaskTracker.d.ts +1 -1
- package/dist/services/TaskTracker.d.ts.map +1 -1
- package/dist/services/TaskTracker.js +4 -8
- package/dist/services/TaskTracker.js.map +1 -1
- package/dist/services/WorkPlanManager.d.ts +1 -1
- package/dist/services/WorkPlanManager.d.ts.map +1 -1
- package/dist/services/WorkPlanManager.js +8 -14
- package/dist/services/WorkPlanManager.js.map +1 -1
- package/dist/services/auto-inject.d.ts +1 -0
- package/dist/services/auto-inject.d.ts.map +1 -1
- package/dist/services/auto-inject.js +12 -17
- package/dist/services/auto-inject.js.map +1 -1
- package/dist/services/cross-project-sync.d.ts +2 -0
- package/dist/services/cross-project-sync.d.ts.map +1 -1
- package/dist/services/cross-project-sync.js +26 -21
- package/dist/services/cross-project-sync.js.map +1 -1
- package/dist/services/memory-consolidation.d.ts.map +1 -1
- package/dist/services/memory-consolidation.js +30 -27
- package/dist/services/memory-consolidation.js.map +1 -1
- package/dist/utils/env-loader.d.ts +41 -0
- package/dist/utils/env-loader.d.ts.map +1 -0
- package/dist/utils/env-loader.js +78 -0
- package/dist/utils/env-loader.js.map +1 -0
- package/dist/utils/git.d.ts +52 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +267 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/paths.d.ts +39 -5
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +88 -7
- package/dist/utils/paths.js.map +1 -1
- package/package.json +9 -4
- package/standards/README.md +50 -0
- package/standards/experts/expert-routing.md +215 -0
- package/standards/general/code-quality.md +86 -0
- package/standards/general/memory-usage.md +205 -0
- package/standards/general/sync-workflow.md +235 -0
- package/standards/general/workflow.md +82 -0
- package/standards/hooks/mandatory-tracking.md +446 -0
- package/standards/infrastructure/cloud-database.md +287 -0
- package/standards/mcp/server-design.md +243 -0
- package/standards/mcp/tool-patterns.md +354 -0
- package/standards/skills/skill-structure.md +286 -0
- package/standards/skills/workflow-design.md +323 -0
- package/standards/tools/tool-design.md +297 -0
- package/templates/claude-settings.json +72 -0
- package/templates/memory-config.json +2 -28
- package/templates/skills/continue.md +205 -0
|
@@ -0,0 +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
|
|
@@ -0,0 +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
|
+
```
|