JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 298
  • Score
    100M100P100Q124140F
  • License UNLICENSED

Badgie CRM CLI — terminal operations for the Badgie CRM (leads, clients, invoices, webhooks) plus MCP server for AI agents.

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)

    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 global

    Después, desde cualquier sitio:

    badgie-crm               # banner + estado + atajos
    badgie-crm --help

    Para desarrollo rápido sin build continuo:

    cd cli && npm run dev -- leads list --pretty

    Configuración

    El CLI lee credenciales de Supabase en este orden:

    1. BADGIE_CRM_SUPABASE_URL / BADGIE_CRM_SUPABASE_ANON_KEY (env vars explícitas).
    2. BADGIE_SUPABASE_URL / BADGIE_SUPABASE_ANON_KEY (retrocompat).
    3. NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY del .env.local del repo.
    4. Valores guardados en ~/.badgie-crm/config.json tras el primer badgie-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 login

    Te 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ón

    Modo service (CI / automatización, bypassa RLS)

    export BADGIE_CRM_SERVICE_KEY=eyJhbGc...
    badgie-crm leads list

    BADGIE_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 LLMs

    Ejemplos 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
    
    # 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" --pretty

    Distribució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 login

    Para 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:

    1. Crear una org @badgie en npm (o usar GitHub Packages con scope @badgie).
    2. npm login --scope=@badgie.
    3. En cli/package.json quitar "private": true si lo añadimos, o publicar a GitHub Packages con publishConfig.
    4. cd cli && npm publish --access restricted.
    5. 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.json

    El 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 (outputFileTracingExcludes en next.config.ts + exclude en tsconfig.json raíz).
    • ~/.badgie-crm/config.json no debe commitearse — es local del usuario.