Instalação e configuração
Pré-requisitos, instalação no Mac e Windows, configuração de credenciais e ativação dos comandos swl-*.
1Pré-requisitos
Antes de instalar, verifique se você tem acesso a:
- Conta na organização swl-informatica no GitHub
- Credencial pessoal do banco de dados do CRM — usuário e senha próprios (peça ao Hugo; ver Conectar o banco)
- Acesso ao Google Drive compartilhado swl-clientes
- Token da API Cloudflare (peça ao Hugo ou ao time de infra)
- Assinatura do Claude Code (Pro ou Team — claude.ai/code)
Atenção
Sem o token da Cloudflare você consegue criar e escrever propostas, mas não consegue publicar online. Solicite o token antes de precisar publicar.
Não precisa instalar nada do Google na máquina
O acesso ao Drive (criar pastas, ler briefings) é feito pelo Claude via MCP / API com autorização OAuth no browser. Você não precisa do Google Drive Desktop nem de qualquer app local — basta ter acesso ao shared drive swl-clientes. A autorização é feita uma única vez, na primeira vez que um comando precisa do Drive (ver Credenciais das propostas). O utilitário gws-cli também não é pré-requisito — só entra como plano B quando o MCP oficial esbarra em alguma limitação.
2Instalar as ferramentas
Escolha seu sistema operacional. As ferramentas são as mesmas; muda só a forma de instalar.
2.1Homebrew
O Homebrew é o gerenciador de pacotes do Mac. Se já tem, pule este passo.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2.2Node, Git e GitHub CLI
brew install node git gh
node --version # deve mostrar v20 ou superior
gh auth login # GitHub.com → HTTPS → Login with a web browser2.3Chave SSH para o GitHub
ssh-keygen -t ed25519 -C "seu-email@baselabs.com.br"
pbcopy < ~/.ssh/id_ed25519.pub # copia a chave pública
ssh -T git@github.com # testa após colar em github.com/settings/keys2.4Wrangler e Claude Code
npm install -g wrangler @anthropic-ai/claude-code
claude # na primeira execução, autentica no browserDica Mac
Para abrir o terminal: Cmd + Espaço, digite "Terminal" e Enter. Ou use o iTerm2.
Use o WSL2
O Windows Subsystem for Linux instala um terminal Linux dentro do Windows e torna tudo mais simples. As instruções usam WSL2.
2.5Instalar o WSL2
No PowerShell como Administrador, execute e reinicie quando solicitado:
wsl --install2.6Node, GitHub CLI e SSH (dentro do Ubuntu/WSL)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs gh
ssh-keygen -t ed25519 -C "seu-email@baselabs.com.br"
cat ~/.ssh/id_ed25519.pub # copie e cole em github.com/settings/keys
gh auth login2.7Diretório global do npm
Evita erros de permissão (EACCES) nas instalações globais:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc2.8Wrangler e Claude Code
npm install -g wrangler @anthropic-ai/claude-code
claudeAtenção Windows
Sempre trabalhe dentro do WSL (terminal Ubuntu), não no PowerShell ou CMD. Os comandos do projeto usam sintaxe Unix. Instale o Windows Terminal da Microsoft Store para uma experiência melhor.
3Clonar o swl-crm
O swl-crm é o projeto base que todos do time devem ter na máquina — é dele que vêm os comandos /swl-* e a engine de propostas. Clone para ~/src/swl-crm (caminho padrão do time):
git clone git@github.com:swl-informatica/swl-crm.git ~/src/swl-crmManter atualizado
Sempre que houver novidades (novos comandos, correções), atualize com git -C ~/src/swl-crm pull. Como os comandos são ligados por link simbólico (passo adiante), a atualização reflete automaticamente no Claude.
4Conectar o banco de dados
O coração do CRM é o banco de dados. O acesso é feito via psql — o Claude monta as queries em SQL e executa via Bash usando a sua credencial pessoal. Cada pessoa tem usuário próprio, para o banco registrar quem fez cada alteração.
4.1Pegar sua credencial
Peça ao Hugo — ele entrega por canal seguro. Você vai receber:
- Usuário — no formato
crm_seu_nome.qeocffkayfgstlyoeltr(o sufixo identifica o projeto no pooler e é obrigatório) - Senha
Os demais dados de conexão são iguais para todos:
| Campo | Valor |
|---|---|
| Host | aws-1-us-east-2.pooler.supabase.com |
| Porta | 5432 |
| Banco | postgres |
| SSL | sslmode=require |
Use o pooler
Use o host do pooler (aws-1-us-east-2.pooler.supabase.com), não o host direto db.qeocffkayfgstlyoeltr.supabase.co — o direto só responde por IPv6 e falha em redes só-IPv4. Por isso o usuário leva o sufixo .qeocffkayfgstlyoeltr.
Segredo
Nunca coloque sua senha em arquivo versionado no Git, nem cole em chat público. Trate como senha pessoal.
4.2Configurar a variável CRM_PG_URL
Exporte a connection string no seu ~/.zshrc (ou ~/.bashrc), substituindo USUARIO e SENHA:
export CRM_PG_URL="postgresql://USUARIO.qeocffkayfgstlyoeltr:SENHA@aws-1-us-east-2.pooler.supabase.com:5432/postgres?sslmode=require"Depois recarregue o shell:
source ~/.zshrc4.3Testar
Confirme que o psql conecta:
psql "$CRM_PG_URL" -c "SELECT count(*) FROM companies;"Depois abra o Claude e peça algo simples — por exemplo, "quantas empresas temos no CRM?". O uso do dia a dia está na página CRM.
5Ativar os comandos de propostas
Os comandos /swl-* ficam em ~/src/swl-crm/.claude/commands. Para o Claude reconhecê-los de qualquer diretório, crie um link simbólico para o diretório global do Claude.
Criar o link simbólico
O Claude carrega comandos de ~/.claude/commands/:
mkdir -p ~/.claude
ln -s ~/src/swl-crm/.claude/commands ~/.claude/commandsVerificar
Abra o Claude Code e confirme que os comandos aparecem ao digitar /swl.
ls -la ~/.claude/commands # deve mostrar um link -> .../swl-crm/.claude/commandsSe a pasta já existir
O ln -s falha se ~/.claude/commands já existir e não for link. Renomeie antes: mv ~/.claude/commands ~/.claude/commands.bak
6Credenciais das propostas
Para publicar propostas (não para o CRM), o fluxo usa mais algumas integrações, configuradas uma única vez:
6.1Token Cloudflare
Necessário para publicar. Adicione ao ambiente — no Mac edite ~/.zshrc, no Windows/WSL edite ~/.bashrc:
export CLOUDFLARE_API_TOKEN="seu-token-aqui"
# depois: source ~/.zshrc (ou ~/.bashrc) e teste com echo $CLOUDFLARE_API_TOKEN6.2Google Drive e Gmail (Workspace)
O acesso ao Google Workspace (Drive, Gmail, etc.) é feito via MCP servers oficiais — conectores da Anthropic que você habilita uma vez na sua conta Claude. Não é preciso instalar o Google Drive Desktop nem nenhum app local: o Claude manipula o Workspace direto pela API. A instalação tem três passos:
Habilitar o conector no claude.ai
Abra claude.ai → Settings → Connectors, procure Google Drive e clique em Connect. O browser abre o login OAuth do Google — entre com a sua conta do Workspace da empresa (a que tem acesso ao shared drive swl-clientes) e autorize. Repita para o Gmail se for usar envio de e-mail.
Autenticar no Claude Code
O conector sincroniza automaticamente com o Claude Code (mesma conta — nada de claude mcp add manual). Dentro de uma sessão, rode /mcp, selecione claude.ai Google Drive e escolha Authenticate — o browser abre para confirmar o OAuth.
/mcp # selecione "claude.ai Google Drive" → AuthenticateVerificar
No terminal, confirme que o conector aparece como conectado:
claude mcp list # "claude.ai Google Drive: … - ✔ Connected"Ou peça algo simples ao Claude, como "liste as pastas do shared drive swl-clientes".
MCP oficial tem limitações — gws-cli é o plano B
O MCP oficial do Google Workspace cobre a maior parte dos casos, mas tem limitações (operações ou parâmetros que ele não expõe). Se você (ou o Claude) esbarrar em alguma dessas limitações, a saída é usar o utilitário gws-cli em vez do MCP para aquela operação. Não é um pré-requisito de instalação: instale só se/quando precisar contornar uma limitação do MCP.
Só uma vez
Depois de autorizar cada integração, o Claude lembra para sempre (até você revogar o acesso). E o /swl-init-proposta testa todas as credenciais no início, avisando se faltar alguma.