@badgie/crm-cli 0.6.0 → 0.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.
package/AGENTS.md CHANGED
@@ -4,7 +4,7 @@ Este archivo es la guía canónica para que un agente (openclaw, Claude, Cursor,
4
4
 
5
5
  ## Qué es
6
6
 
7
- CLI oficial del Badgie CRM. 70 comandos sobre Supabase. Instalación: ver `cli/README.md`.
7
+ CLI oficial del Badgie CRM. La versión publicada `0.6.0` incluye 86 comandos; la rama actual expone 110 comandos sobre Supabase y endpoints de la app Next. Instalación: ver `cli/README.md`.
8
8
 
9
9
  ## Fuente de verdad (machine-readable)
10
10
 
@@ -29,6 +29,7 @@ badgie-crm docs finance --json
29
29
  - `[http]` — requiere que la app Next esté arriba Y que el endpoint acepte Bearer token. Si falla, avisa al usuario antes de reintentar.
30
30
  3. **Exit code**: `0` = ok, `1` = error (mensaje en stderr).
31
31
  4. **Filtros ad-hoc**: si no hay flag ergonómico, usa `badgie-crm query <table> --where col:op:val` (ops: eq, neq, gt, gte, lt, lte, like, ilike, in, is, not). `--where` es repetible.
32
+ 5. **Orden en `query`**: el comando genérico no asume `created_at`; si necesitas orden estable, pasa `--order columna:desc`.
32
33
 
33
34
  ## Patrón recomendado para agentes
34
35
 
@@ -64,13 +65,47 @@ badgie-crm query describe <table> --pretty
64
65
 
65
66
  # "Registra un intento de contacto fallido sobre un lead"
66
67
  badgie-crm leads log-attempt <lead-uuid> --type call --result no_answer --notes "buzón"
68
+
69
+ # "Resume Top Clients de abril 2026"
70
+ badgie-crm top-clients summary --month 4 --year 2026
71
+
72
+ # "Dame el estado operativo de Finanzas"
73
+ badgie-crm finance control summary --pretty
74
+
75
+ # "Qué problemas bloquean el cierre"
76
+ badgie-crm finance health --critical-only
77
+
78
+ # "Resumen fiscal del Q2 2026"
79
+ badgie-crm finance tax-summary --year 2026 --quarter 2
80
+
81
+ # "Forecast de caja a 30/60/90 días"
82
+ badgie-crm finance forecast summary
83
+
84
+ # "Cerrar abril 2026 tras revisión humana"
85
+ badgie-crm finance closings close --year 2026 --month 4 --notes "Revisado"
86
+
87
+ # "Marca un cliente top con riesgo alto"
88
+ badgie-crm top-clients answer set --review-id <review-id> --question risk_level --value high
67
89
  ```
68
90
 
91
+ ## Finance OS para agentes
92
+
93
+ Usa estos comandos nuevos antes de hacer queries manuales:
94
+
95
+ - `finance control summary`: cockpit de caja. Primero para entender estado mensual.
96
+ - `finance health`: incidencias accionables; `--critical-only` para blockers.
97
+ - `finance aging`: cobros/pagos pendientes por buckets.
98
+ - `finance tax-summary`: fiscal trimestral; `--csv` si el humano pide export.
99
+ - `finance forecast summary|list|add|update|pause|resume|delete`: forecast manual. Mutaciones son `[write|http]`; `delete` es `[destructive|http]`.
100
+ - `finance closings list|close|reopen`: cierre mensual. `close` y `reopen` son `[write|http]`; pide confirmación humana porque cambian el estado operativo del periodo.
101
+
102
+ No edites directamente `finance_period_closings` ni `finance_forecast_items` con `query` para mutar datos. Los comandos tipados pasan por la app Next y respetan `finance_access`, audit log y bloqueo de meses cerrados.
103
+
69
104
  ## Setup rápido como skill de openclaw
70
105
 
71
106
  1. Instala el CLI en la máquina donde corra el agente:
72
107
  ```bash
73
- git clone <repo> && cd <repo>/cli && npm install && npm run build && npm link
108
+ npm install -g @badgie/crm-cli
74
109
  ```
75
110
  2. Autentica una vez: `badgie-crm login` (o exporta `BADGIE_CRM_SERVICE_KEY` para modo no interactivo en CI/servidor).
76
111
  3. Crea el skill en el agente apuntando a este `AGENTS.md` + referenciando el manifest:
@@ -81,15 +116,34 @@ badgie-crm leads log-attempt <lead-uuid> --type call --result no_answer --notes
81
116
  ```
82
117
  4. Verifica: `badgie-crm docs --agent-hints` imprime guidance adicional.
83
118
 
119
+ ## MCP local
120
+
121
+ Clientes nativos como Claude Desktop, Cursor, VS Code y openclaw pueden consumir el CLI como servidor MCP stdio:
122
+
123
+ ```json
124
+ {
125
+ "mcpServers": {
126
+ "badgie-crm": {
127
+ "command": "badgie-crm",
128
+ "args": ["mcp", "serve"]
129
+ }
130
+ }
131
+ }
132
+ ```
133
+
134
+ Las tools MCP usan nombres `badgie_crm_<path>` (por ejemplo `badgie_crm_finance_invoices_list`) y comparten los mismos args/options del manifest.
135
+
84
136
  ## Qué NO hacer
85
137
 
86
138
  - **No** construyas queries SQL por tu cuenta — usa los comandos tipados.
87
139
  - **No** uses `[destructive]` sin confirmación explícita del humano.
88
140
  - **No** asumas nombres de columnas — usa `query describe <table>` para descubrirlas.
89
141
  - **No** mezcles `--pretty` con parseo JSON (rompe el output).
142
+ - **No** uses MCP stdio desde una UI web: sólo funciona si el cliente puede lanzar el proceso local `badgie-crm`.
143
+ - **No** cierres/reabras periodos financieros sin confirmación explícita del humano.
90
144
 
91
145
  ## Límites conocidos
92
146
 
93
- - Comandos con tag `[http]` requieren que la app Next esté viva Y aceptando Bearer tokens. Hoy los endpoints siguen leyendo cookies algunos fallarán hasta que se extiendan. Ver `tasks/badgie-crm-cli-mcp.md`.
147
+ - Comandos con tag `[http]` requieren que la app Next esté viva y que el endpoint acepte `Authorization: Bearer <supabase_token>` o `x-badgie-service-key`. Si alguno falla por auth, revisar el endpoint antes de reintentar.
94
148
  - El CLI en modo `service` (env `BADGIE_CRM_SERVICE_KEY`) bypasa RLS: **solo en entornos confiables**.
95
- - Mutaciones masivas (bulk update) aún no tienen comandos dedicados usa `query` en modo lectura para verificar y pide al humano si necesitas un script ad-hoc.
149
+ - Hay bulk dedicado en varios `set-status`, `assign` y `archive` mediante `--ids`, `--ids-file` o `--stdin`; para el resto, usa `query` en modo lectura para verificar y pide confirmación antes de crear un script ad-hoc.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,54 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 — 2026-04-26
4
+
5
+ ### Added
6
+
7
+ - **Finance OS CLI coverage** for the new operational finance module:
8
+ - `finance control summary` — closing, health, tax, aging and cash forecast in one agent-friendly response.
9
+ - `finance health` — same actionable issues as Control → Salud.
10
+ - `finance aging` — receivables/payables buckets.
11
+ - `finance tax-summary` with optional `--csv`.
12
+ - `finance forecast summary|list|add|update|pause|resume|delete`.
13
+ - `finance closings list|close|reopen`.
14
+ - Finance OS write commands call the Next app endpoints so `finance_access`, audit logging and closed-period guards are enforced.
15
+ - Expanded **Top Clients** CLI coverage for `client_monthly_reviews`:
16
+ - `top-clients get`
17
+ - `top-clients questions list`
18
+ - `top-clients answers list`
19
+ - `top-clients summary`
20
+ - `top-clients generate`
21
+ - `top-clients answer set`
22
+ - `top-clients notes set`
23
+ - `top-clients owner set`
24
+ - `top-clients config get|set`
25
+ - Top Clients write commands include `--dry-run` where previewing is useful.
26
+ - `top-clients config get|set` documents and updates only existing UI-backed fields (`clients.status`, `clients.assigned_to`, plan fields); no dedicated DB schema exists for per-client active questions, review periodicity, or top-client priority.
27
+
28
+ ### Fixed
29
+
30
+ - `finance aging` y `finance forecast summary`: las queries a `invoices`, `bank_movements`, `finance_forecast_items` y `clients` se paginan en chunks de 1000 filas. Antes el cap implícito de Supabase truncaba los cómputos en silencio cuando un tenant superaba 1000 filas en alguna de esas tablas (aging y runway subestimados sin error visible).
31
+ - `finance forecast add`: si no se pasa `--recurrence`, el payload ahora incluye `recurrence: 'monthly'` (coherente con la doc del help; antes el campo se enviaba ausente y dependía del default del endpoint).
32
+ - `top-clients generate`: el output ya no reporta `dry_run: true` cuando una ejecución real no tiene reviews por crear (refleja el flag real).
33
+ - `top-clients answer set --question reviewed_at`: las fechas inválidas devuelven un error accionable en lugar de un `RangeError` no capturado.
34
+
35
+ ### Manual Checks
36
+
37
+ ```bash
38
+ npm run typecheck
39
+ npm run clean && npm run build
40
+ node dist/bin.js docs --json | jq '.commands[] | select(.module=="top-clients") | .command'
41
+ node dist/bin.js docs --json | jq '.commands[] | select(.module=="finance") | .command'
42
+ node dist/bin.js finance control summary --pretty
43
+ node dist/bin.js finance health --critical-only
44
+ node dist/bin.js finance tax-summary --year 2026 --quarter 2 --csv
45
+ node dist/bin.js finance forecast list --pretty
46
+ node dist/bin.js finance closings list --year 2026 --pretty
47
+ node dist/bin.js top-clients questions list
48
+ node dist/bin.js top-clients summary --month 4 --year 2026
49
+ node dist/bin.js top-clients generate --month 4 --year 2026 --dry-run
50
+ ```
51
+
3
52
  ## 0.6.0 — 2026-04-25
4
53
 
5
54
  ### Added
package/README.md CHANGED
@@ -1,12 +1,28 @@
1
1
  # @badgie/crm-cli (`badgie-crm`)
2
2
 
3
- **Versión publicada:** `0.6.0` — ver [`CHANGELOG.md`](./CHANGELOG.md).
3
+ **Versión publicada:** `0.7.0` — ver [`CHANGELOG.md`](./CHANGELOG.md).
4
4
 
5
- CLI para operar el Badgie CRM desde la terminal. Reemplaza los scripts sueltos de `/scripts/` y prepara el terreno para exponer el CRM vía MCP a agentes IA (openclaw, Claude Desktop, Cursor...).
5
+ CLI para operar el Badgie CRM desde la terminal. Reemplaza los scripts sueltos de `/scripts/` y expone el CRM vía MCP a agentes IA (openclaw, Claude Desktop, Cursor...).
6
6
 
7
7
  **Nombre del binario: `badgie-crm`** — dejamos `badgie` reservado para el CLI principal de Badgie (próximo).
8
8
 
9
- ## Instalación (desarrollo)
9
+ ## Instalación
10
+
11
+ Para usuarios del equipo:
12
+
13
+ ```bash
14
+ npm install -g @badgie/crm-cli
15
+ badgie-crm login
16
+ badgie-crm whoami --pretty
17
+ ```
18
+
19
+ Para actualizar:
20
+
21
+ ```bash
22
+ npm update -g @badgie/crm-cli
23
+ ```
24
+
25
+ ## Desarrollo local
10
26
 
11
27
  Desde la raíz del repo:
12
28
 
@@ -38,6 +54,7 @@ El CLI lee credenciales de Supabase en este orden:
38
54
  2. `BADGIE_SUPABASE_URL` / `BADGIE_SUPABASE_ANON_KEY` (retrocompat).
39
55
  3. `NEXT_PUBLIC_SUPABASE_URL` / `NEXT_PUBLIC_SUPABASE_ANON_KEY` del `.env.local` del repo.
40
56
  4. Valores guardados en `~/.badgie-crm/config.json` tras el primer `badgie-crm login`.
57
+ 5. Defaults públicos embebidos (`DEFAULT_SUPABASE_URL` / anon key pública) para que el paquete npm funcione sin repo clonado.
41
58
 
42
59
  Si tenías un `~/.badgie/config.json` de la versión anterior, se migra automáticamente la primera vez que se arranca el CLI.
43
60
 
@@ -70,7 +87,9 @@ badgie-crm leads list
70
87
 
71
88
  ## Módulos
72
89
 
73
- `leads`, `clients`, `contacts`, `tasks`, `development`, `finance`, `outbound`, `directory`, `marketing`, `intelligence`, `mission-control`, `top-clients`, `federations`, `web-design`, `team`, `sports`, `activities`, `demos`, `onboarding`, `webhooks`, `admin`, `search`, `query`, `docs`.
90
+ La versión `0.7.0` expone 110 comandos. Módulos principales:
91
+
92
+ `leads`, `clients`, `contacts`, `tasks`, `development`, `finance`, `outbound`, `directory`, `marketing`, `intelligence`, `mission-control`, `top-clients`, `federations`, `web-design`, `team`, `sports`, `activities`, `demos`, `onboarding`, `webhooks`, `admin`, `search`, `query`, `docs`, `mcp`.
74
93
 
75
94
  Explora todo con:
76
95
 
@@ -90,6 +109,20 @@ badgie-crm finance invoices list --category salarios --since 2026-03-01 --until
90
109
  # Factura con IRPF (retención): total_amount sigue siendo el neto a pagar; ver withholding_rate / withholding_amount
91
110
  badgie-crm finance invoices list --since 2026-01-01 --pretty
92
111
 
112
+ # Finance OS: cockpit operativo de caja
113
+ badgie-crm finance control summary --pretty
114
+ badgie-crm finance health --critical-only
115
+ badgie-crm finance aging --date 2026-04-30
116
+ badgie-crm finance tax-summary --year 2026 --quarter 2 --pretty
117
+ badgie-crm finance tax-summary --year 2026 --quarter 2 --csv > fiscal-q2.csv
118
+
119
+ # Finance OS: forecast manual y cierres
120
+ badgie-crm finance forecast summary --pretty
121
+ badgie-crm finance forecast list --active-only --pretty
122
+ badgie-crm finance forecast add --type expense --name "Oficina" --amount 350 --recurrence monthly --next-date 2026-05-01 --pretty
123
+ badgie-crm finance closings list --year 2026 --pretty
124
+ badgie-crm finance closings close --year 2026 --month 4 --notes "Abril revisado" --pretty
125
+
93
126
  # Query genérico — cualquier columna de cualquier tabla
94
127
  badgie-crm query invoices --where "category=salarios" --where "invoice_date:gte:2026-03-01" --pretty
95
128
  badgie-crm query count bank_movements --where "amount:gte:1000" --where "movement_date:gte:2026-03-01"
@@ -102,26 +135,85 @@ badgie-crm directory schools list --sport golf --province Madrid --min-rating 4.
102
135
  badgie-crm search "valencia" --pretty
103
136
  ```
104
137
 
138
+ ## Finance OS
139
+
140
+ Los comandos `badgie-crm finance control|health|aging|tax-summary|forecast|closings` cubren la capa nueva de Finanzas como sistema operativo de caja:
141
+
142
+ - `finance control summary` es el primer comando recomendado para un agente: devuelve cierre del periodo, incidencias, fiscal, aging y forecast 30/60/90.
143
+ - `finance health` llama al endpoint autenticado de la app y usa las mismas incidencias que Control → Salud.
144
+ - `finance tax-summary` usa el cálculo trimestral de la app; `--csv` emite una fila lista para exportar.
145
+ - `finance forecast add|update|pause|resume|delete` llama a los endpoints Finance OS para respetar `finance_access`, audit log y bloqueo de periodos cerrados.
146
+ - `finance closings close|reopen` también pasa por la app; no edites `finance_period_closings` con `query` salvo inspección de solo lectura.
147
+ - `finance forecast delete` es destructivo: los agentes deben pedir confirmación explícita.
148
+
149
+ Descubrimiento completo:
150
+
151
+ ```bash
152
+ badgie-crm docs finance --json
153
+ badgie-crm docs finance
154
+ ```
155
+
156
+ ## Top Clients
157
+
158
+ Top Clients usa `client_monthly_reviews` para las revisiones mensuales. La pantalla actual no tiene una tabla separada de preguntas/configuración: las preguntas del modal son columnas de esa tabla (`notes`, `needs`, `testimonials`, `risk_level`, `next_actions`, `status`, `reviewed_at`) y el contacto semanal vive en `metadata.contact_log`.
159
+
160
+ ```bash
161
+ # Listar reviews existentes del mes
162
+ badgie-crm top-clients list --month 4 --year 2026 --limit 10
163
+
164
+ # Ver detalle completo de una review
165
+ badgie-crm top-clients get <review-id>
166
+
167
+ # Ver las preguntas/campos que puede responder un agente
168
+ badgie-crm top-clients questions list
169
+
170
+ # Ver respuestas guardadas
171
+ badgie-crm top-clients answers list --review-id <review-id>
172
+
173
+ # Resumen mensual
174
+ badgie-crm top-clients summary --month 4 --year 2026
175
+
176
+ # Previsualizar creación de reviews para clientes activos/free trial
177
+ badgie-crm top-clients generate --month 4 --year 2026 --dry-run
178
+
179
+ # Escribir respuestas
180
+ badgie-crm top-clients answer set --review-id <review-id> --question risk_level --value high
181
+ badgie-crm top-clients notes set --review-id <review-id> --notes "Cliente estable; revisar expansión"
182
+ badgie-crm top-clients owner set --review-id <review-id> --kam Greg
183
+
184
+ # Config por cliente derivada de campos existentes en clients
185
+ badgie-crm top-clients config get --client-id "Club Example"
186
+ badgie-crm top-clients config set --client-id "Club Example" --kam Greg --dry-run
187
+ ```
188
+
189
+ Para descubrir todos los flags y ejemplos:
190
+
191
+ ```bash
192
+ badgie-crm docs top-clients
193
+ badgie-crm docs top-clients --json
194
+ ```
195
+
105
196
  ## Distribución al equipo
106
197
 
107
- **Opción A clone + link (hoy, más simple)**. Cada persona del equipo:
198
+ El canal normal es npm:
199
+
108
200
  ```bash
109
- git clone <repo-url> badgie-crm && cd badgie-crm/cli
110
- npm install && npm run build && npm link
201
+ npm install -g @badgie/crm-cli
111
202
  badgie-crm login
112
203
  ```
113
- Para actualizar: `git pull && cd cli && npm run build`.
114
204
 
115
- **Opción B publicar a npm (cuando queramos)**. Hoy `@badgie/crm-cli` está marcado `private`. Pasos cuando queramos publicar:
116
- 1. Crear una org `@badgie` en npm (o usar GitHub Packages con scope `@badgie`).
117
- 2. `npm login --scope=@badgie`.
118
- 3. En `cli/package.json` quitar `"private": true` si lo añadimos, o publicar a GitHub Packages con `publishConfig`.
119
- 4. `cd cli && npm publish --access restricted`.
120
- 5. Equipo instala: `npm install -g @badgie/crm-cli`.
205
+ Para desarrollo del propio CLI usa `npm link` desde `cli/`. Vercel no interviene: Vercel despliega la app Next (`/app`) y el CLI es un paquete npm independiente.
206
+
207
+ Publish futuro:
121
208
 
122
- **Vercel no interviene.** Vercel despliega la app Next (`/app`). El CLI es un paquete npm independiente que el equipo instala en sus máquinas.
209
+ ```bash
210
+ cd cli
211
+ npm version patch
212
+ npm publish --access public --auth-type=web
213
+ git push --follow-tags
214
+ ```
123
215
 
124
- **Git**: sí, empuja el commit con `cli/` a GitHub para que el equipo pueda clonar. El CLI está excluido de la build de Next, así que el deploy de la app no se ve afectado.
216
+ Antes de publicar, revisa `knowledge/cli/npm-publish-cli-gotchas.md`.
125
217
 
126
218
  ## Agentes IA (openclaw, Claude, Cursor…)
127
219
 
@@ -131,9 +223,26 @@ badgie-crm docs --json > ~/.badgie-crm/manifest.json
131
223
  ```
132
224
  El agente carga ese JSON como catálogo de tools y respeta los tags `[read|write|destructive|http]` para saber qué es seguro.
133
225
 
226
+ ### MCP local
227
+
228
+ `badgie-crm mcp serve` expone los comandos como tools MCP tipadas sobre stdio:
229
+
230
+ ```json
231
+ {
232
+ "mcpServers": {
233
+ "badgie-crm": {
234
+ "command": "badgie-crm",
235
+ "args": ["mcp", "serve"]
236
+ }
237
+ }
238
+ }
239
+ ```
240
+
241
+ Esto funciona en clientes nativos que pueden lanzar procesos locales (Claude Desktop, Cursor, VS Code, openclaw local). No funciona en UIs web que no puedan ejecutar procesos en la máquina del usuario.
242
+
134
243
  ## Roadmap
135
244
 
136
- Ver `tasks/badgie-crm-cli-mcp.md`. Próximo: **`badgie-crm mcp serve`** para que openclaw y otros agentes consuman el CRM como tools MCP tipadas (reutilizando el mismo registry).
245
+ Ver `tasks/badgie-crm-cli-mcp.md` para el estado actual y próximos huecos. Los más relevantes: imports directos de facturas/banco desde archivos, tests automáticos del CLI, y seguir migrando scripts legacy cuando haga falta.
137
246
 
138
247
  ## Notas
139
248
 
@@ -40,8 +40,10 @@ export function createDocsModule(getAll) {
40
40
  console.log(C.grey('\n── Agent hints ───────────────────────────────────'));
41
41
  console.log(C.grey('• Default output is JSON for programmatic use.'));
42
42
  console.log(C.grey('• `badgie-crm docs --json` returns the full tool manifest.'));
43
+ console.log(C.grey('• `badgie-crm mcp serve` exposes the same manifest as typed MCP tools over stdio.'));
43
44
  console.log(C.grey('• Tags: read (safe), write (mutates DB), destructive (irreversible), http (needs app running).'));
44
- console.log(C.grey('• Tests live in a single Supabase project — no dry-run; use read-only commands to verify state first.'));
45
+ console.log(C.grey('• Generic `query` has no default order; pass `--order column:desc` when ordering matters.'));
46
+ console.log(C.grey('• Some write commands support `--dry-run`; otherwise verify with read-only commands before mutating.'));
45
47
  }
46
48
  }
47
49
  function printSpec(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}