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".

G1 Gestão Financeira~25%
G6 Integrações~10%
G3 CRM / Pipeline~8%
G5 Dashboard~8%
G2 Acompanhar Cliente~5%
G7 Mensageria~5%
G4 Automações~2%
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.

App Fase 0

🏢 Studio Offices

Portal dos escritorios. Assinaturas, billing, creditos, delegacoes.

App Produção

👤 Studio Providers

Portal dos prestadores. Perfil, saques, NF, delegacoes.

App Produção

🌐 Website

Site institucional. Landing, pricing, blog.

App Produção

📱 Mobile (Offices)

App mobile escritorios (React Native).

App Em dev

📱 Mobile (Providers)

App mobile prestadores (React Native).

App Em dev

⏰ Cron Service

25 crons + 58 edge functions. Billing, sync, cleanup.

Service Produção

🎨 Design System

design.freelaw.ai. Tokens, padroes visuais, componentes.

App Produção
Packages Chave
PackageTierDescriçãoStatus
@freelaw/coreCoreBilling, credits, subscriptions, delegation, quota-gateFuncional
@freelaw/serverCoreAuth, middleware, session, RLSFuncional
@freelaw/uiCoreComponentes React (shadcn-based)Funcional
@freelaw/typesCoreTipos compartilhados TypeScriptFuncional
@freelaw/infraInfraDB schemas (Drizzle), banking adapters, storageFuncional
@freelaw/aiFeatures4 agents, 60+ tools, Mastra frameworkParcial
@freelaw/workflowsFeaturesWorkflow builder, automações, triggersStub
@freelaw/crmDomainCRM nativo: contacts, deals, pipelines, sequencesParcial
@freelaw/backstage-coreDomainGL, posting engines, DRE, financial coreParcial
@freelaw/api-contractsCoreZod schemas para API endpointsFuncional
Integrações (14 ativas)
IntegraçãoUsoStatusPlano Fase 0
IuguBilling (legacy)EstavelManter
StripeBilling (primary)EstavelManter
Banco InterBanking, PIX pagamentosParcialMigrar para Itau (D12)
HubSpotCRM, outbound, sequencesFuncionalMATAR (D4)
Conta AzulContabilidadeQuebrado (504)MORTO (D26)
Evolution APIWhatsAppFuncionalManter
ResendEmail transacionalFuncionalManter
Meta AdsTracking marketingParcialAvaliar
Google AdsTracking marketingParcialAvaliar
ClicksignAssinatura digitalFuncionalManter
BlipChatbot WhatsAppParcialAvaliar
OmieERP/NFInativoAvaliar (D9)
Banco ItauBanking (destino)NovoAtivar (D12)
Google SheetsBusiness PlanManualMATAR (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
CamadaTecnologiaVersao
RuntimeBunlatest
FrameworkNext.js16
UI LibraryReact19
LanguageTypeScript5.9
StylingTailwind CSS4
ORMDrizzle ORMlatest
DatabaseSupabase (Postgres)
AI FrameworkMastralatest
MonorepoBun workspaces
DeployVercel + Hetzner
AuthSupabase Auth + RLS
Componentsshadcn/ui (customizado)
Regras de Desenvolvimento (AGENTS.md)
RegraDetalhe
Bun onlyNao usar npm ou yarn. Apenas bun install, bun run, etc.
5-step workflowPLAN → CLARIFY → BUILD → VALIDATE → SHIP
PRs ≤ 500 linhasPRs grandes não passam review. Quebrar em partes.
Zero @ts-nocheckJa alcancado! Manter.
Zero as anyTipar corretamente ou usar generics.
Auth em toda rotaSem exceção. RLS obrigatório no banco.
Error handlingtry/catch em API routes, Error Boundary em paginas.
Loading statesSuspense + Skeleton em toda pagina com fetch.
Empty statesFeedback visual quando não ha dados.