Claude Code 📜

Regras Globais — CLAUDE.md

O CLAUDE.md global do Dr. Júlio: regras e autonomia pra usar o Claude Code com segurança.

💡 TL;DR: Regras globais que governam como o agente de IA opera nos projetos do Júlio. Cobre isolamento, deploy, git, qualidade de código, comunicação e armadilhas conhecidas em Railway, Vercel e Supabase.

⚠️ Como usar: este arquivo vai em ~/.claude/CLAUDE.md (escopo global). Vale para todos os projetos do usuário, em todas as sessões. Para regras específicas de um projeto, criar CLAUDE.md na raiz daquele projeto.


🚧 Isolamento de projetos

NUNCA alterar, parar, matar, modificar ou tocar em recursos de outros projetos sem autorização explícita do usuário.

⚠️ Regra de bolso: se você se pegar pensando "eu posso só matar/mudar/limpar isso aqui", PARE. Pergunte ou crie algo novo.

Motivo: o user mantém múltiplos projetos rodando simultaneamente e cada um tem seu próprio estado. Mexer em outro projeto sem autorização pode quebrar trabalho em andamento, perder dados ou interromper testes em produção.


🚀 Deploy — autorização obrigatória

NUNCA fazer deploy sem o usuário pedir explicitamente.

💰 Motivo: deploy gera custo financeiro real. O usuário quer controle total sobre quando algo vai para produção.


🌿 Git — fluxo padrão

  1. Editar arquivos
  2. git commit com mensagem descritiva
  3. git push origin main
  4. Parar aqui — não continuar para deploy sem autorização

Convenções de commit

Segurança em git


🧱 Regras pra evitar erros — Deploy & Produção

Railway (Backend Node.js/TypeScript)

#RegraPor quê
1Usar buildCommand = "npm install --include=dev && npm run build" no railway.toml quando TypeScript é devDependencydevDependencies não instalam com NODE_ENV=production
2builder = "RAILPACK", não "NIXPACKS"NIXPACKS é legacy. Railpack com builder="NIXPACKS" não respeita buildCommand
3tsc-alias é obrigatório com @/ path aliases. Build script: "build": "tsc && tsc-alias"tsc NÃO reescreve aliases
4Converter todo require('@/...') dinâmico para import ... from '@/...' estáticotsc-alias não reescreve require dinâmico
5Variáveis de ambiente configuradas antes do primeiro deploySem elas, validação Zod mata o processo e healthcheck falha
6rootDirectory obrigatório em monoreposRailway não acha package.json na raiz do monorepo
7Target port = porta do ExpressConfigurar ao gerar domínio no Railway (default: 3000)

Vercel (Frontend SPA)

#RegraPor quê
8rootDirectory obrigatório em monorepos (Settings → General)Sem isso, Vercel faz build na raiz (155ms) e deploy fica vazio (404)
9Deploy via CLI como fallbackSe o dashboard não salva rootDirectory: vercel link --project xxx && vercel deploy --prod do diretório correto
10vercel.json com rewrites para SPASem isso, qualquer rota além de / retorna 404

Exemplo de vercel.json:

{
  "rewrites": [
    { "source": "/(.*)", "destination": "/index.html" }
  ]
}

Supabase Auth (Google OAuth)

#RegraDetalhe
11Google Provider precisa de 3 configs simultâneas(a) Toggle ON no Supabase, (b) Client ID + Secret do Google Cloud, (c) Redirect URI no Google: https://<ref>.supabase.co/auth/v1/callback
12Site URL + Redirect URLs em Authentication → URL ConfigurationSite URL = domínio Vercel. Redirect URLs = https://dominio.vercel.app/**

Segurança — checklist pré-deploy


🌐 Idioma

Sempre responder em português do Brasil.


🎚️ Níveis de autonomia

✅ Pode fazer sem pedir aprovação

🟡 DEVE pedir aprovação antes de

🔴 NUNCA fazer


🧹 Qualidade de código


💬 Comportamento de comunicação


🗺️ Protocolo de planejamento


🧠 Memória — fim de sessão

Ao encerrar uma conversa significativa (gatilhos: "ok", "obrigado", "por hoje é isso", "valeu"):

  1. Perguntar: "Quer que eu salve o progresso desta sessão na memória?"
  2. Se sim, atualizar memórias em ~/.claude/projects/<projeto>/memory/:
    • Tarefas pendentes (project memory)
    • Decisões novas tomadas (project memory)
    • Resumo da sessão em 3 linhas (project memory)

📋 Como o aluno deve copiar e usar este arquivo
  1. Copiar todo o conteúdo desta página
  2. Salvar em ~/.claude/CLAUDE.md (Mac/Linux) ou %USERPROFILE%\.claude\CLAUDE.md (Windows)
  3. Adaptar:
    • Nomes de stacks que você não usa (Railway, Vercel, Supabase) → remover ou trocar pelas suas
    • Convenções de commit, idioma e nível de autonomia → ajustar ao seu fluxo
    • Regras técnicas (Railway/Vercel/Supabase) → manter só as que se aplicam ao seu stack
  4. O arquivo é a constituição global do seu agente. Para regras de um projeto específico, crie outro CLAUDE.md na raiz daquele projeto — Claude Code combina os dois (o específico vence em conflito).

Arquivo de regras globais — Júlio Andrade