@slorenzot/memento-cli 0.1.1 → 0.1.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 (2) hide show
  1. package/README.md +422 -0
  2. package/package.json +2 -2
package/README.md ADDED
@@ -0,0 +1,422 @@
1
+ # @slorenzot/memento-cli
2
+
3
+ [![NPM Version](https://img.shields.io/npm/v/@slorenzot/memento-cli.svg)](https://www.npmjs.com/package/@slorenzot/memento-cli)
4
+ [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC_BY--NC--ND_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.3+-blue.svg)](https://www.typescriptlang.org/)
6
+
7
+ > Command line interface for Memento memory system with search, management, and administrative commands for AI coding agents.
8
+
9
+ ## 🚀 Instalación
10
+
11
+ ```bash
12
+ # Using Bun (recomendado)
13
+ bun add -g @slorenzot/memento-cli
14
+
15
+ # Using npm
16
+ npm install -g @slorenzot/memento-cli
17
+
18
+ # Using yarn
19
+ yarn global add @slorenzot/memento-cli
20
+ ```
21
+
22
+ ## 💡 Uso Básico
23
+
24
+ ### Shell/Bun
25
+ ```bash
26
+ # Ver ayuda general
27
+ memento --help
28
+
29
+ # Ver versión
30
+ memento --version
31
+ ```
32
+
33
+ ## 🔧 Comandos Disponibles
34
+
35
+ ### Comandos Principales
36
+
37
+ #### `search [query]`
38
+ Busca observaciones en la memoria usando búsqueda full-text.
39
+
40
+ **Parámetros:**
41
+ - `query` (opcional): Texto de búsqueda
42
+
43
+ **Opciones:**
44
+ - `--type, -t`: Filtrar por tipo (`decision|bug|discovery|note`)
45
+ - `--project, -p`: Filtrar por ID de proyecto
46
+ - `--limit, -l`: Número máximo de resultados
47
+ - `--offset, -o`: Paginación de resultados
48
+
49
+ **Ejemplos:**
50
+ ```bash
51
+ # Búsqueda simple
52
+ memento search "arquitectura base de datos"
53
+
54
+ # Búsqueda filtrada
55
+ memento search "configuración" --type decision --limit 5
56
+
57
+ # Búsqueda en proyecto específico
58
+ memento search "bug" --project my-app --type bug
59
+ ```
60
+
61
+ ---
62
+
63
+ #### `save [title] [content]`
64
+ Guarda una nueva observación en la memoria.
65
+
66
+ **Parámetros:**
67
+ - `title`: Título de la observación
68
+ - `content`: Contenido de la observación
69
+
70
+ **Opciones:**
71
+ - `--type, -t`: Tipo de observación (`decision|bug|discovery|note`)
72
+ - `--topic, -k`: Tópico o categoría
73
+ - `--project, -p`: ID del proyecto
74
+ - `--metadata, -m`: Metadatos JSON
75
+
76
+ **Ejemplos:**
77
+ ```bash
78
+ # Guardar observación simple
79
+ memento save "Decisión importante" "Usar PostgreSQL en producción"
80
+
81
+ # Guardar con tipo y proyecto
82
+ memento save "Bug encontrado" "Error de conexión" --type bug --project my-app
83
+
84
+ # Guardar con metadatos
85
+ memento save "Configuración completada" "Servidor listo" --metadata '{"status":"ready","port":3000}'
86
+ ```
87
+
88
+ ---
89
+
90
+ #### `get [id]`
91
+ Obtiene una observación específica por ID.
92
+
93
+ **Parámetros:**
94
+ - `id`: ID numérico de la observación
95
+
96
+ **Ejemplos:**
97
+ ```bash
98
+ # Obtener observación por ID
99
+ memento get 123
100
+
101
+ # La salida mostrará todos los detalles de la observación
102
+ ```
103
+
104
+ ---
105
+
106
+ #### `update <id> [options]`
107
+ Actualiza una observación existente.
108
+
109
+ **Parámetros:**
110
+ - `id`: ID numérico de la observación
111
+
112
+ **Opciones:**
113
+ - `--title, -t`: Nuevo título
114
+ - `--content, -c`: Nuevo contenido
115
+ - `--type`: Nuevo tipo
116
+ - `--topic, -k`: Nuevo tópico
117
+
118
+ **Ejemplos:**
119
+ ```bash
120
+ # Actualizar título
121
+ memento update 123 --title "Título corregido"
122
+
123
+ # Actualizar contenido
124
+ memento update 123 --content "Contenido actualizado"
125
+
126
+ # Actualizar múltiples campos
127
+ memento update 123 --title "Nuevo" --type decision
128
+ ```
129
+
130
+ ---
131
+
132
+ #### `delete <id>`
133
+ Elimina una observación por ID.
134
+
135
+ **Parámetros:**
136
+ - `id`: ID numérico de la observación
137
+
138
+ **Ejemplos:**
139
+ ```bash
140
+ # Eliminar observación
141
+ memento delete 123
142
+ ```
143
+
144
+ ---
145
+
146
+ ### Comandos de Sesiones
147
+
148
+ #### `session start [project]`
149
+ Inicia una nueva sesión de seguimiento.
150
+
151
+ **Parámetros:**
152
+ - `project` (opcional): ID del proyecto
153
+
154
+ **Ejemplos:**
155
+ ```bash
156
+ # Iniciar sesión
157
+ memento session start my-app
158
+ ```
159
+
160
+ ---
161
+
162
+ #### `session end <id>`
163
+ Finaliza una sesión activa.
164
+
165
+ **Parámetros:**
166
+ - `id`: ID numérico de la sesión
167
+
168
+ **Ejemplos:**
169
+ ```bash
170
+ # Finalizar sesión
171
+ memento session end 456
172
+ ```
173
+
174
+ ---
175
+
176
+ #### `session list [project]`
177
+ Lista sesiones del proyecto.
178
+
179
+ **Parámetros:**
180
+ - `project` (opcional): ID del proyecto
181
+
182
+ **Opciones:**
183
+ - `--limit, -l`: Número máximo de resultados
184
+
185
+ **Ejemplos:**
186
+ ```bash
187
+ # Listar todas las sesiones
188
+ memento session list
189
+
190
+ # Listar sesiones de proyecto específico
191
+ memento session list my-app --limit 10
192
+ ```
193
+
194
+ ---
195
+
196
+ ### Comandos de Utilidad
197
+
198
+ #### `stats`
199
+ Muestra estadísticas del sistema de memoria.
200
+
201
+ **Ejemplos:**
202
+ ```bash
203
+ # Ver estadísticas
204
+ memento stats
205
+
206
+ # Salida esperada:
207
+ # Total observaciones: 150
208
+ # Por tipo: decision: 45, bug: 30, discovery: 50, note: 25
209
+ # Sesiones activas: 3
210
+ # Última actualización: 2024-04-04 10:30:00
211
+ ```
212
+
213
+ ---
214
+
215
+ #### `timeline [project]`
216
+ Muestra una línea temporal de observaciones.
217
+
218
+ **Parámetros:**
219
+ - `project` (opcional): ID del proyecto
220
+
221
+ **Opciones:**
222
+ - `--limit, -l`: Número máximo de resultados
223
+ - `--session, -s`: Filtrar por sesión ID
224
+
225
+ **Ejemplos:**
226
+ ```bash
227
+ # Ver timeline completo
228
+ memento timeline
229
+
230
+ # Ver timeline de proyecto específico
231
+ memento timeline my-app --limit 20
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 📝 API Programática
237
+
238
+ ### Uso en Node.js/TypeScript
239
+
240
+ ```typescript
241
+ import { CLI } from '@slorenzot/memento-cli';
242
+
243
+ // Crear instancia CLI
244
+ const cli = new CLI('./data/memento.db');
245
+
246
+ // Ejecutar comando programáticamente
247
+ // Nota: Este uso es para integración personalizada
248
+ // Para uso normal, usar los comandos de shell
249
+
250
+ // Los comandos principales se ejecutan a través del método run()
251
+ cli.run(['search', 'arquitectura']);
252
+
253
+ // Cerrar conexión
254
+ cli.close();
255
+ ```
256
+
257
+ ## ⚡ Ejemplos Prácticos
258
+
259
+ ### Ejemplo 1: Flujo de Trabajo Completo
260
+
261
+ ```bash
262
+ # Iniciar sesión para seguimiento
263
+ SESSION_ID=$(memento session start my-app | grep "ID:" | cut -d' ' -f2)
264
+ echo "Sesión iniciada: $SESSION_ID"
265
+
266
+ # Guardar observaciones durante el trabajo
267
+ memento save "Decisión de arquitectura" "Usar microservicios" --project my-app
268
+ memento save "Bug encontrado" "Error en autenticación" --type bug --project my-app
269
+
270
+ # Buscar decisiones anteriores
271
+ memento search "arquitectura" --type decision --project my-app
272
+
273
+ # Finalizar sesión
274
+ memento session end $SESSION_ID
275
+ ```
276
+
277
+ ### Ejemplo 2: Script de Búsqueda y Análisis
278
+
279
+ ```bash
280
+ #!/bin/bash
281
+
282
+ # Buscar bugs del proyecto
283
+ echo "=== Buscando bugs en proyecto ==="
284
+ memento search "bug" --type bug --project my-app --limit 10
285
+
286
+ # Buscar decisiones recientes
287
+ echo ""
288
+ echo "=== Decisiones recientes ==="
289
+ memento search --type decision --project my-app --limit 5
290
+
291
+ # Mostrar estadísticas
292
+ echo ""
293
+ echo "=== Estadísticas del sistema ==="
294
+ memento stats
295
+ ```
296
+
297
+ ### Ejemplo 3: Integración con Git Hooks
298
+
299
+ ```bash
300
+ # pre-commit hook
301
+ #!/bin/bash
302
+
303
+ # Guardar commits como observaciones
304
+ MESSAGE=$(git log -1 --pretty=%B)
305
+ memento save "Commit: $(git rev-parse --short HEAD)" "$MESSAGE" --type note
306
+
307
+ echo "Commit guardado en Memento"
308
+ ```
309
+
310
+ ### Ejemplo 4: Exportación y Backup
311
+
312
+ ```bash
313
+ # Exportar observaciones del proyecto
314
+ memento timeline my-app --limit 1000 > backup-observations.txt
315
+
316
+ # Crear backup con metadatos
317
+ echo "Backup creado: $(date)" > backup-info.txt
318
+ memento stats >> backup-info.txt
319
+ ```
320
+
321
+ ## 🔧 Configuración
322
+
323
+ ### Archivo de Configuración
324
+
325
+ La CLI busca configuración en `~/.memento/config.json`:
326
+
327
+ ```json
328
+ {
329
+ "databasePath": "./data/memento.db",
330
+ "defaultProject": "my-app",
331
+ "outputFormat": "json",
332
+ "pagination": {
333
+ "limit": 20,
334
+ "offset": 0
335
+ }
336
+ }
337
+ ```
338
+
339
+ ### Variables de Entorno
340
+
341
+ - `MEMENTO_DB_PATH`: Ruta personalizada de base de datos
342
+ - `MEMENTO_DEFAULT_PROJECT`: Proyecto por defecto
343
+
344
+ **Ejemplos:**
345
+ ```bash
346
+ # Usar base de datos personalizada
347
+ export MEMENTO_DB_PATH="/custom/path/database.db"
348
+ memento search "query"
349
+ ```
350
+
351
+ ## ⚠️ Licencia Restrictiva
352
+
353
+ Este paquete está bajo **Licencia CC BY-NC-ND 4.0**:
354
+ - ✅ **Uso personal y educacional permitido**
355
+ - ✅ **Compartir con atribución al autor**
356
+ - ❌ **Uso comercial NO permitido**
357
+ - ❌ **Modificaciones o forks NO permitidos**
358
+
359
+ **Autor**: Soulberto Lorenzo (slorenzot@gmail.com)
360
+
361
+ ## 🔄 Dependencias
362
+
363
+ ### Dependencias Principales
364
+ - `@slorenzot/memento-core` - Motor de memoria
365
+ - `commander` - Framework de CLI
366
+ - `chalk` - Colores en terminal
367
+ - `ora` - Indicadores de progreso
368
+ - `ink` - Componentes de UI en terminal
369
+ - `zod` - Validación de esquemas
370
+
371
+ ### Peer Dependencies
372
+ - `bun` v1.0+ (recomendado)
373
+ - `node` v20+ (compatible)
374
+
375
+ ## 🛠️ Desarrollo
376
+
377
+ ```bash
378
+ # Clonar el proyecto
379
+ git clone https://github.com/slorenzot/memento.git
380
+ cd memento/packages/cli
381
+
382
+ # Instalar dependencias
383
+ bun install
384
+
385
+ # Desarrollo
386
+ bun run dev
387
+
388
+ # Build
389
+ bun run build
390
+
391
+ # Tests
392
+ bun test
393
+ ```
394
+
395
+ ## 📋 Changelog
396
+
397
+ ### [0.1.1] - 2024-04-04
398
+ - **Fixed**: Actualización de dependencias core
399
+ - **Fixed**: Mejora en manejo de argumentos CLI
400
+ - **Updated**: Optimización de salida de comandos
401
+
402
+ ### [0.1.0] - 2024-04-04
403
+ - **Added**: Versión inicial de la CLI
404
+ - **Added**: Comandos de gestión de memoria
405
+ - **Added**: Comandos de búsqueda y estadísticas
406
+ - **Added**: Soporte completo de colores y progreso
407
+
408
+ ## 👤 Autor
409
+
410
+ **Soulberto Lorenzo**
411
+ - GitHub: [@slorenzot](https://github.com/slorenzot)
412
+ - Email: slorenzot@gmail.com
413
+
414
+ ## 📄 Licencia
415
+
416
+ Este paquete está bajo Licencia **Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International**.
417
+
418
+ [Ver Licencia Completa](https://github.com/slorenzot/memento/blob/main/LICENSE)
419
+
420
+ ---
421
+
422
+ **⚠️ Importante**: Este paquete tiene licencia restrictiva. Respeta los términos de la licencia CC BY-NC-ND 4.0.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slorenzot/memento-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "CLI interface for Memento",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "typecheck": "bun tsc --noEmit"
15
15
  },
16
16
  "dependencies": {
17
- "@slorenzot/memento-core": "^0.1.0",
17
+ "@slorenzot/memento-core": "^0.1.2",
18
18
  "commander": "^12.0.0",
19
19
  "ink": "^4.4.1",
20
20
  "chalk": "^5.3.0",