Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@badgie/crm-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@badgie/crm-cli (badgie-crm)
Versión publicada: 0.5.0 — ver CHANGELOG.md.
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...).
Nombre del binario: badgie-crm — dejamos badgie reservado para el CLI principal de Badgie (próximo).
Instalación (desarrollo)
Desde la raíz del repo:
cd cli
npm install
npm run build
npm link # expone `badgie-crm` como binario globalDespués, desde cualquier sitio:
badgie-crm # banner + estado + atajos
badgie-crm --helpPara desarrollo rápido sin build continuo:
cd cli && npm run dev -- leads list --prettyConfiguración
El CLI lee credenciales de Supabase en este orden:
BADGIE_CRM_SUPABASE_URL/BADGIE_CRM_SUPABASE_ANON_KEY(env vars explícitas).BADGIE_SUPABASE_URL/BADGIE_SUPABASE_ANON_KEY(retrocompat).NEXT_PUBLIC_SUPABASE_URL/NEXT_PUBLIC_SUPABASE_ANON_KEYdel.env.localdel repo.- Valores guardados en
~/.badgie-crm/config.jsontras el primerbadgie-crm login.
Si tenías un ~/.badgie/config.json de la versión anterior, se migra automáticamente la primera vez que se arranca el CLI.
Autenticación
Dos modos:
Modo usuario (interactivo, respeta RLS)
badgie-crm loginTe pide email + contraseña de tu cuenta Badgie (el mismo login que la app web). Aplica las mismas reglas: cuentas @badgie.com entran directas, otras deben tener fila en team_members activa. La sesión se guarda en ~/.badgie-crm/config.json (permisos 0600) y los tokens se refrescan automáticamente.
badgie-crm whoami # JSON
badgie-crm whoami --pretty # texto
badgie-crm logout # limpia la sesiónModo service (CI / automatización, bypassa RLS)
export BADGIE_CRM_SERVICE_KEY=eyJhbGc...
badgie-crm leads listBADGIE_CRM_SERVICE_KEY (o BADGIE_SERVICE_KEY / SUPABASE_SERVICE_ROLE_KEY) tiene precedencia sobre la sesión interactiva. Úsalo solo en entornos confiables.
Módulos (70 comandos)
leads, clients, contacts, tasks, development, finance, outbound, directory, marketing, intelligence, mission-control, top-clients, web-design, team, sports, activities, demos, onboarding, webhooks, admin, search, query, docs.
Explora todo con:
badgie-crm docs # tree completo
badgie-crm docs finance # filtrado por módulo
badgie-crm docs --json # manifest JSON para agentes IA
badgie-crm docs --agent-hints # guidance extra para LLMsEjemplos frecuentes
# Facturas de marzo de la categoría salarios
badgie-crm finance invoices list --category salarios --since 2026-03-01 --until 2026-03-31 --pretty
# Factura con IRPF (retención): total_amount sigue siendo el neto a pagar; ver withholding_rate / withholding_amount
badgie-crm finance invoices list --since 2026-01-01 --pretty
# Query genérico — cualquier columna de cualquier tabla
badgie-crm query invoices --where "category=salarios" --where "invoice_date:gte:2026-03-01" --pretty
badgie-crm query count bank_movements --where "amount:gte:1000" --where "movement_date:gte:2026-03-01"
badgie-crm query describe invoices --pretty
# Directory
badgie-crm directory schools list --sport golf --province Madrid --min-rating 4.5 --pretty
# Búsqueda global
badgie-crm search "valencia" --prettyDistribución al equipo
Opción A — clone + link (hoy, más simple). Cada persona del equipo:
git clone <repo-url> badgie-crm && cd badgie-crm/cli
npm install && npm run build && npm link
badgie-crm loginPara actualizar: git pull && cd cli && npm run build.
Opción B — publicar a npm (cuando queramos). Hoy @badgie/crm-cli está marcado private. Pasos cuando queramos publicar:
- Crear una org
@badgieen npm (o usar GitHub Packages con scope@badgie). npm login --scope=@badgie.- En
cli/package.jsonquitar"private": truesi lo añadimos, o publicar a GitHub Packages conpublishConfig. cd cli && npm publish --access restricted.- Equipo instala:
npm install -g @badgie/crm-cli.
Vercel no interviene. Vercel despliega la app Next (/app). El CLI es un paquete npm independiente que el equipo instala en sus máquinas.
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.
Agentes IA (openclaw, Claude, Cursor…)
Ver cli/AGENTS.md. Dale eso al agente + el manifest JSON:
badgie-crm docs --json > ~/.badgie-crm/manifest.jsonEl agente carga ese JSON como catálogo de tools y respeta los tags [read|write|destructive|http] para saber qué es seguro.
Roadmap
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).
Notas
- La carpeta
cli/está excluida de la build de Next (outputFileTracingExcludesennext.config.ts+excludeentsconfig.jsonraíz). ~/.badgie-crm/config.jsonno debe commitearse — es local del usuario.