Framework v1.0

Kerno Framework

Roadmap completo para criação de aplicações com Lovable.dev — do primeiro prompt ao monitoramento em produção.

Este roadmap cobre 5 fases: Configuração Inicial → Desenvolvimento → Segurança (SAST/DAST) → Deploy e Hardening → Monitoramento Contínuo. Cada fase tem passos concretos com os arquivos e comandos exatos.
FASE 1 Configuração Inicial Antes do primeiro prompt

Prepare o ambiente antes de escrever qualquer código. Esta fase garante que todo projeto Lovable já nasce com documentação, segurança e governança.

📋 1.1 Preparar o PRD_SYSTEM.md

Escreva o documento de requisitos do produto. Inclua:

  • Visão geral do produto (o que faz, para quem)
  • Lista de funcionalidades desejadas
  • Tipo de dados que manipula (usuários, financeiro, saúde, etc.)
  • Integrações necessárias (Stripe, APIs externas, etc.)
  • Requisitos de segurança específicos
  • Preferências técnicas (se houver)
PRD_SYSTEM.md — você cria este arquivo
📐 1.2 Configurar o KERNO-DOCS.md

Use o arquivo padrão do Kerno Framework. Ele define os 15 documentos que o Lovable vai criar e manter automaticamente. Não precisa modificar — funciona como está.

KERNO-DOCS.md — arquivo padrão do framework
⚙️ 1.3 Configurar o Lovable

Cole o System Prompt nas configurações do Lovable (Custom Instructions):

LOVABLE-SYSTEM-PROMPT.md — copie a seção "Prompt para colar"
Onde colar: Lovable → Configurações (⚙️) → Custom Instructions ou System Prompt
🚀 1.4 Primeiro prompt no Lovable

Envie os 2 arquivos e use o prompt de inicialização:

  1. Upload: PRD_SYSTEM.md + KERNO-DOCS.md
  2. Cole o prompt de primeiro envio (do LOVABLE-SYSTEM-PROMPT.md)
  3. O Lovable vai criar os 15 docs + PRD_SYSTEM_MILESTONES.md + implementar Milestone 1
🔗 1.5 Conectar ao GitHub

No Lovable, conecte ao GitHub se ainda não estiver:

  • Lovable → Settings → GitHub → Connect
  • Repositório privado (dados sensíveis)
  • Branch principal: main
FASE 2 Desenvolvimento Durante o ciclo de prompts

Desenvolva milestone por milestone. O Lovable mantém a documentação automaticamente graças ao System Prompt.

🔄 2.1 Ciclo de desenvolvimento

Para cada sessão de trabalho:

  1. Abra o Lovable
  2. Use o prompt de retomada (com pendências da sessão anterior)
  3. Desenvolva as features da milestone atual
  4. O Lovable atualiza docs automaticamente a cada resposta
  5. Ao terminar, use o prompt de fechamento de sessão
📊 2.2 Controle de milestones

Ao concluir cada milestone:

  • Use o prompt de fechamento de milestone
  • Revise o DELIVERY_REPORT.md gerado
  • Confirme que tudo do escopo foi entregue
  • Inicie a próxima milestone
2.3 QA durante desenvolvimento

O QA_PLAN.md é atualizado a cada feature. Use-o para testar manualmente:

  • Abra a aplicação no preview do Lovable
  • Siga os cenários de teste listados no QA_PLAN.md
  • Teste em mobile (redimensione o navegador)
  • Reporte bugs ao Lovable com descrição clara
FASE 3 Segurança — SAST & DAST Após primeira milestone funcional

SAST (Static Application Security Testing) analisa o código sem executar. DAST (Dynamic Application Security Testing) testa a aplicação rodando. Vamos configurar ambos.

🔍 3.1 SAST — Configurar no GitHub

Crie o arquivo .github/workflows/security-audit.yml no GitHub:

  • GitHub → seu repo → Add file → Create new file
  • Nome: .github/workflows/security-audit.yml
  • Cole o conteúdo do security-audit-v2.yml do Kerno

O que roda automaticamente (SAST):

FerramentaO que verificaOrigem
SemgrepOWASP Top 10, XSS, SQL Injection, React, TypeScript, SecretsAwesome AI Security list
npm auditVulnerabilidades em dependências (CVEs)npm nativo
Scanner Lovableservice_role, RLS, auth, localStorage, error handlingScanner customizado Kerno
📦 3.2 Dependabot — Monitoramento de dependências

Crie .github/dependabot.yml:

.github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
    open-pull-requests-limit: 5
    labels:
      - "security"
      - "dependencies"
🔐 3.3 GitHub — Configurações de segurança

No repositório GitHub, vá em Settings → Security:

ConfiguraçãoOndeAção
Secret scanningSettings → Code securityAtivar "Secret scanning"
Push protectionSettings → Code securityAtivar "Push protection" (bloqueia push com secrets)
Dependabot alertsSettings → Code securityAtivar alertas automáticos
Dependabot security updatesSettings → Code securityAtivar PRs automáticos
Branch protectionSettings → BranchesProteger main: exigir reviews e status checks
🗄️ 3.4 Supabase — Verificação manual (DAST parcial)

O scanner não acessa o banco. Faça manualmente no painel do Supabase:

VerificaçãoOnde no Supabase
RLS ativo em TODAS as tabelasTable Editor → cada tabela → Policies
Cada tabela tem policies para SELECT/INSERT/UPDATE/DELETETable Editor → Policies
Storage buckets sensíveis são privadosStorage → cada bucket
Email confirmation ativoAuth → Settings
Rate limiting configuradoAuth → Rate Limits
MFA habilitado (se dados sensíveis)Auth → Settings → MFA
⚠️ Esta é a verificação mais crítica do pipeline. RLS desativado = todos os dados expostos.
🌐 3.5 DAST — Testes dinâmicos básicos

Com a aplicação no preview do Lovable ou Vercel, teste manualmente:

TesteComo fazer
Acesso sem loginAbra URLs protegidas diretamente. Deve redirecionar para login.
Acesso a dados de outro usuárioMude IDs na URL. Não deve mostrar dados alheios.
XSS em campos de textoDigite <script>alert(1)</script> em campos. Não deve executar.
Console limpoAbra DevTools → Console. Não deve mostrar dados sensíveis.
Network limpoDevTools → Network. Verifique que não envia dados desnecessários.
FASE 4 Deploy & Hardening Quando o produto estiver pronto para produção
4.1 Vercel — Deploy seguro

Configurações obrigatórias na Vercel:

ConfiguraçãoOndeValor
Environment VariablesSettings → Environment VariablesAdicione VITE_SUPABASE_URL e VITE_SUPABASE_ANON_KEY (apenas Production)
Preview deploymentsSettings → GeneralProteger com senha (evitar acesso a previews com dados reais)
AuthenticationSettings → Deployment ProtectionAtivar "Vercel Authentication" para previews
Build & OutputSettings → GeneralFramework: Vite. Build command: npm run build

Headers de segurança — crie vercel.json na raiz:

vercel.json
{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        { "key": "X-Frame-Options", "value": "DENY" },
        { "key": "X-Content-Type-Options", "value": "nosniff" },
        { "key": "X-XSS-Protection", "value": "1; mode=block" },
        { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" },
        { "key": "Permissions-Policy",
          "value": "camera=(), microphone=(), geolocation=()" },
        { "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains; preload" },
        { "key": "Content-Security-Policy",
          "value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' https://*.supabase.co wss://*.supabase.co; font-src 'self' https://fonts.gstatic.com; frame-ancestors 'none'" }
      ]
    }
  ]
}
☁️ 4.2 Cloudflare — CDN + Proteção DDoS

Configuração recomendada (adicional, não obrigatória no início):

PassoO que fazer
1. Criar contacloudflare.com → Free plan é suficiente
2. Adicionar domínioSites → Add a site → seu domínio
3. Mudar nameserversNo registrador do domínio, apontar para os NS do Cloudflare
4. SSL/TLSSSL/TLS → Full (strict)
5. Always Use HTTPSSSL/TLS → Edge Certificates → Always Use HTTPS: ON
6. HSTSSSL/TLS → Edge Certificates → HSTS: Enable
7. Bot Fight ModeSecurity → Bots → Bot Fight Mode: ON
8. Security LevelSecurity → Settings → Security Level: Medium
9. WAF RulesSecurity → WAF → Managed Rules: ON (OWASP Core Ruleset)
💡 Cloudflare Free já inclui: CDN global, proteção DDoS, SSL automático e WAF básico. É uma camada significativa de segurança sem custo.
🔐 4.3 Domínio customizado + SSL

Na Vercel:

  • Settings → Domains → Add → seu domínio
  • Se usando Cloudflare: apontar CNAME para cname.vercel-dns.com
  • SSL é automático (tanto Vercel quanto Cloudflare)
  • Aguardar propagação DNS (até 48h, geralmente minutos)
🗄️ 4.4 Supabase — Configuração de produção
ConfiguraçãoOnde
Desativar confirmação de email em dev → Ativar em prodAuth → Settings
Configurar domínio customizado de emailAuth → Email Templates
Configurar Site URL para produçãoAuth → URL Configuration
Adicionar Redirect URLs permitidasAuth → URL Configuration
Ativar Point-in-Time Recovery (backups)Database → Backups
Configurar Rate LimitingAuth → Rate Limits
FASE 5 Monitoramento Contínuo Pós-deploy, permanente

Após o deploy, mantenha o projeto seguro e saudável com monitoramento contínuo.

🤖 5.1 Automático — já configurado
O queFrequênciaOnde
Semgrep + npm audit + ScannerA cada pushGitHub Actions
DependabotSemanalGitHub
Secret scanningContínuoGitHub
Push protectionA cada pushGitHub
👀 5.2 Manual — agenda de revisão
FrequênciaO que revisar
SemanalVerificar aba Actions no GitHub (❌ ou ✅). Baixar relatórios se houver falhas.
MensalRodar npm audit manualmente. Verificar logs no Supabase. Revisar novas tabelas/policies.
TrimestralRevisar todas as RLS policies. Rotacionar chaves de API. Atualizar SECURITY_REPORT.md.
A cada novo cliente/projetoUsar o Kerno Framework desde o início. Todos os passos deste roadmap.
🔮 5.3 Fase futura — quando escalar

Ferramentas para adicionar quando o básico estiver maduro:

FerramentaPara quêQuando
Safe ZoneDetecção de PII (dados pessoais) em tempo realQuando tiver dados reais de saúde em produção
Claude Code Security ReviewAnálise de código com IA a cada PRQuando quiser mais profundidade na análise
Cloudflare WAF RulesFirewall de aplicação web avançadoQuando tiver tráfego significativo
Sentry / LogRocketMonitoramento de erros em produçãoQuando tiver usuários ativos

📁 Arquivos do Kerno Framework

ArquivoTipoQuando usar
KERNO-DOCS.mdUpload no LovableTodo projeto — define os 15 docs obrigatórios
LOVABLE-SYSTEM-PROMPT.mdCustom Instructions do LovableTodo projeto — governa comportamento do Lovable
PRD_SYSTEM.mdUpload no LovableTodo projeto — você cria para cada projeto
SECURITY.mdBase para SECURITY_RULES.mdTodo projeto — regras de segurança
security-audit-v2.ymlGitHub ActionsTodo projeto — pipeline SAST automático
dependabot.ymlGitHubTodo projeto — monitoramento de dependências
vercel.jsonRaiz do projetoTodo projeto com Vercel — headers de segurança