Files
DeskcommCRM/scripts/README.md
T
Rafael MelgaçoandClaude Opus 4.7 d0859733d8 feat: bootstrap DeskcommCRM v0.1 — full PRD/Specs/scaffold + Supabase schema
DOCS (~85k words):
- PRD-Master + 6 Sub-PRDs (platform, customer 360, whatsapp, pipeline, ai, nuvemshop)
- 60 Business Rules catalog (T/L/W/P/AT/IA/B prefixes with enforcement layer)
- 8 Technical Specs (~60k words) — schema SQL, code patterns, flows
- 15 Mermaid architecture diagrams (C4, ER, sequence, state machines)
- Pitch deck for SP meeting 2026-04-29
- Reference synthesis from CRM Nichado WAHA bundle

CODE SCAFFOLDING (38 files, ~1.7k lines):
- Next.js 15 App Router + TypeScript + Tailwind + shadcn/ui
- Supabase clients (browser, server, admin) via @supabase/ssr
- API wrappers (ok, fail, ApiSuccess<T>, ApiError) + canonical error codes
- env.ts with Zod validation; .env.example exhaustive
- Health check /api/v1/health (Supabase + Redis + WAHA pings)
- docker-compose for local WAHA dev
- vercel.ts with 7 cron schedules
- CLAUDE.md with project conventions and anti-patterns

SUPABASE SCHEMA DEPLOYED (sa-east-1, project rrydmwnporysaiysiztn):
- 19 tables with RLS enabled
- platform_base: organizations, user_organizations, platform_admins, api_tokens,
  api_audit_log (append-only), user_recovery_codes, idempotency_keys
- event_log + emit_event/fn_log_event helpers (bus interno; trigger NEVER calls HTTP)
- customer_360: contacts (CPF encrypted via pgcrypto), crm_pipelines, crm_stages,
  crm_leads, crm_lead_activities, crm_lead_links, merge_queue
- whatsapp: channel_sessions, channel_session_warmup, conversations, messages,
  webhook_events_log
- Triggers: auto won/lost via stage flags, denorm last_activity_at, emit lead/message
  events, seed default pipeline on org create, validate lost_reason
- RLS helpers: fn_user_org_ids, fn_is_platform_admin, fn_user_role_in_org, fn_role_at_least
- 4 migrations applied: 0001 platform_base, 0002 event_log+compat, 0003 customer_360,
  0004 whatsapp_waha

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 17:00:26 -03:00

584 B

scripts/

CLI utilities pra operação local e de produção.

Lista

  • seed-tenant.ts — Cria um tenant manualmente (modo BPO). Placeholder; implementação na Spec 01.

Convenções

  • Todos em TypeScript (executar via npx tsx scripts/<nome>.ts)
  • Sempre validar input com Zod
  • Logar via console.error (stderr) pra mensagens operacionais; console.log (stdout) só pra output estruturado consumível por pipe
  • Operações destrutivas exigem flag --confirm ou prompt interativo
  • Toda mutação relevante gera entrada em api_audit_log com actor=script:<nome>