Análise do Codebase
Monorepo Freelaw · /home/freeclaw/freelaw/ · Ultima analise: 16 Mar 2026
Arquivos TSX
783
componentes + paginas
API Routes
351
46 modulos de API
Packages
28
monorepo Bun
Apps
8
web + mobile + cron
DB Schemas
400+
tabelas Drizzle ORM
Integrações
14
ativas em produção
AI Agents
18+
Mastra framework
AI Tools
60+
across all agents
Progresso por Gate (e2e)
Percentual e2e = feature funciona de ponta a ponta em produção, não apenas "existe no código".
Muito código existe mas pouco funciona e2e. O desafio da Fase 0 não e construir do zero — e terminar e conectar o que ja existe. 783 arquivos TSX e 351 rotas existem, mas os gates estao entre 2-25% e2e.
Mapa de Apps
🎛️ Backstage
App principal. 780+ TSX, 350+ API routes. Gestão financeira, CRM, CS, automações, dashboards.
🏢 Studio Offices
Portal dos escritorios. Assinaturas, billing, creditos, delegacoes.
👤 Studio Providers
Portal dos prestadores. Perfil, saques, NF, delegacoes.
🌐 Website
Site institucional. Landing, pricing, blog.
📱 Mobile (Offices)
App mobile escritorios (React Native).
📱 Mobile (Providers)
App mobile prestadores (React Native).
⏰ Cron Service
25 crons + 58 edge functions. Billing, sync, cleanup.
🎨 Design System
design.freelaw.ai. Tokens, padroes visuais, componentes.
Packages Chave
| Package | Tier | Descrição | Status |
|---|---|---|---|
| @freelaw/core | Core | Billing, credits, subscriptions, delegation, quota-gate | Funcional |
| @freelaw/server | Core | Auth, middleware, session, RLS | Funcional |
| @freelaw/ui | Core | Componentes React (shadcn-based) | Funcional |
| @freelaw/types | Core | Tipos compartilhados TypeScript | Funcional |
| @freelaw/infra | Infra | DB schemas (Drizzle), banking adapters, storage | Funcional |
| @freelaw/ai | Features | 4 agents, 60+ tools, Mastra framework | Parcial |
| @freelaw/workflows | Features | Workflow builder, automações, triggers | Stub |
| @freelaw/crm | Domain | CRM nativo: contacts, deals, pipelines, sequences | Parcial |
| @freelaw/backstage-core | Domain | GL, posting engines, DRE, financial core | Parcial |
| @freelaw/api-contracts | Core | Zod schemas para API endpoints | Funcional |
Integrações (14 ativas)
| Integração | Uso | Status | Plano Fase 0 |
|---|---|---|---|
| Iugu | Billing (legacy) | Estavel | Manter |
| Stripe | Billing (primary) | Estavel | Manter |
| Banco Inter | Banking, PIX pagamentos | Parcial | Migrar para Itau (D12) |
| HubSpot | CRM, outbound, sequences | Funcional | MATAR (D4) |
| Conta Azul | Contabilidade | Quebrado (504) | MORTO (D26) |
| Evolution API | Funcional | Manter | |
| Resend | Email transacional | Funcional | Manter |
| Meta Ads | Tracking marketing | Parcial | Avaliar |
| Google Ads | Tracking marketing | Parcial | Avaliar |
| Clicksign | Assinatura digital | Funcional | Manter |
| Blip | Chatbot WhatsApp | Parcial | Avaliar |
| Omie | ERP/NF | Inativo | Avaliar (D9) |
| Banco Itau | Banking (destino) | Novo | Ativar (D12) |
| Google Sheets | Business Plan | Manual | MATAR (D10) |
Debito Tecnico
Inventario automatico. Numeros atualizados em 16/Mar/2026.
14
API routes sem autenticaçãoPrecisam de middleware auth. RLS obrigatório.
0
@ts-nocheckZero! Time ja eliminou todos.
9
z.any() em schemas ZodPrecisam de tipagem estrita.
83
console.log em produçãoSubstituir por logger estruturado ou remover.
30
Paginas sem error handlingPrecisam de Error Boundary.
27
Paginas sem loading statesPrecisam de Suspense/Skeleton.
13
Paginas sem empty statesPrecisam de feedback quando sem dados.
Ponto positivo: Zero @ts-nocheck e apenas 9 z.any() mostra disciplina tecnica. O debito principal e nas 14 rotas sem auth e nos 83 console.log — ambos resolviveis em 1-2 dias de cleanup.
Stack Tecnica
| Camada | Tecnologia | Versao |
|---|---|---|
| Runtime | Bun | latest |
| Framework | Next.js | 16 |
| UI Library | React | 19 |
| Language | TypeScript | 5.9 |
| Styling | Tailwind CSS | 4 |
| ORM | Drizzle ORM | latest |
| Database | Supabase (Postgres) | — |
| AI Framework | Mastra | latest |
| Monorepo | Bun workspaces | — |
| Deploy | Vercel + Hetzner | — |
| Auth | Supabase Auth + RLS | — |
| Components | shadcn/ui (customizado) | — |
Regras de Desenvolvimento (AGENTS.md)
| Regra | Detalhe |
|---|---|
| Bun only | Nao usar npm ou yarn. Apenas bun install, bun run, etc. |
| 5-step workflow | PLAN → CLARIFY → BUILD → VALIDATE → SHIP |
| PRs ≤ 500 linhas | PRs grandes não passam review. Quebrar em partes. |
| Zero @ts-nocheck | Ja alcancado! Manter. |
| Zero as any | Tipar corretamente ou usar generics. |
| Auth em toda rota | Sem exceção. RLS obrigatório no banco. |
| Error handling | try/catch em API routes, Error Boundary em paginas. |
| Loading states | Suspense + Skeleton em toda pagina com fetch. |
| Empty states | Feedback visual quando não ha dados. |