Geração de propostas
A geração de propostas com o Claude Code: visão geral, fluxo, os comandos swl-*, a estrutura dos repositórios, as marcas e as perguntas frequentes.
1Visão geral
O sistema de propostas da Base/labs usa o Claude Code — um assistente de IA que roda no terminal — como interface principal. Em vez de abrir planilhas, copiar templates ou editar manualmente, você conversa com o Claude e ele cuida de toda a parte técnica: criar repositório, configurar pastas no Drive, escrever o conteúdo e publicar online.
Cada proposta é um repositório Git privado criado a partir de um template. Isso garante que cada proposta seja independente e que você possa trabalhar em várias ao mesmo tempo.
| Ferramenta | Para quê |
|---|---|
| Claude Code | Interface principal — você digita comandos /swl-* e ele executa |
| GitHub | Armazena o código e conteúdo de cada proposta |
| Google Drive | Briefings, documentos do cliente e artefatos publicados |
| CRM (banco SWL) | Registra o deal e recebe o link da proposta após publicação |
| Cloudflare R2 | Hospedagem — serve a proposta em propostas.baselabs.com.br |
2Fluxo de uma proposta
Uma proposta passa por três etapas, cada uma com seu comando:
Dica
Você pode rodar os três comandos de qualquer diretório no terminal. O Claude encontra a proposta automaticamente.
2.1Tempo estimado por etapa
| Etapa | Tempo | O que acontece |
|---|---|---|
| Init | ~3 min | Cria repo GitHub, pasta no Drive, deal no CRM, clona local |
| Montar | 5–15 min | Você responde perguntas; Claude escreve todas as seções |
| Publicar | ~2 min | Build, upload R2, senha de acesso, atualiza o CRM |
3/swl-init-proposta
Cria uma nova proposta do zero — ou retoma uma proposta que foi inicializada mas não concluída.
3.1Como usar
Abra o Claude Code em qualquer diretório. Pode passar o código para retomar uma existente:
/swl-init-proposta
/swl-init-proposta direcional-26-BL-039
/swl-init-proposta 26-BL-0393.2O que o comando faz
Verifica credenciais
Testa CRM, GitHub, Google Drive e Cloudflare em paralelo. Avisa se alguma faltar.
Qual empresa emite?
Base2, Base/labs, MeloQA ou Crowdtest. Define o pipeline e os tokens visuais.
Número da proposta
Busca o último número no CRM e sugere o próximo. Ex.: 26-BL-039.
Qual template?
Desenvolvimento de Software, Alocação de Profissionais ou Crowdtasking.
Nome do cliente
O deal no CRM é criado automaticamente.
Criação automática
Cria o repo GitHub privado, a pasta no Drive (com briefing/ e publicado/), clona local, faz o scaffold das seções e gera o proposta.env.
Commit e push
Commita a configuração inicial e empurra para o GitHub.
3.3Resultado
Empresa: Base/labs
Número: 26-BL-039
Cliente: Direcional
Template: Desenvolvimento de Software
Repo GitHub: github.com/swl-informatica/proposta-direcional-26-BL-039
Clone local: ~/src/propostas/proposta-direcional-26-BL-039/
Pasta Drive: drive.google.com/drive/folders/...
Deal no CRM: #842 (registrado no banco SWL)Briefing do cliente
Coloque os documentos do cliente (PDFs, e-mails, planilhas) na pasta briefing/ do Drive. O /swl-montar-proposta lê esses arquivos automaticamente para enriquecer o conteúdo.
4/swl-montar-proposta
Escreve o conteúdo das seções. O Claude faz perguntas sobre o cliente e o projeto, e você responde — ele gera o texto profissional.
/swl-montar-proposta
/swl-montar-proposta 26-BL-0394.1O que o comando faz
Localiza a proposta
Encontra o proposta.env e carrega as configurações.
Lê o briefing do Drive
Se houver PDFs ou arquivos na pasta briefing/, extrai as informações relevantes automaticamente.
Verifica seções existentes
Classifica cada seção como preenchida ou vazia. Não sobrescreve o que já foi escrito sem perguntar.
Coleta informações
Faz as perguntas relevantes para o template. Quanto mais detalhe, melhor o resultado.
Escreve as seções
Gera o conteúdo em português, tom executivo, com tabelas de investimento e cronograma.
4.2Perguntas por template
Desenvolvimento de Software
| Pergunta | Exemplos de resposta |
|---|---|
| O que o cliente faz e qual problema quer resolver? | "Construtora que quer módulo de pagamentos para seus sistemas internos" |
| O que vamos construir? (stack, escopo) | "App web em .NET Core 10 com API REST" |
| Casos de uso principais | Pode ser lista de bullet points |
| O que fica fora do escopo? | Ou diga "deixar genérico" para usar texto padrão |
| Cronograma | "16 semanas, 3 releases" |
| Squad e valores | Perfis, horas, taxas — ou "a definir" |
Alocação de Profissionais
| Pergunta | Exemplos |
|---|---|
| Qual perfil o cliente precisa? | "Dev backend Pleno .NET, 160h/mês" |
| Contexto do projeto | Para que vai usar o profissional |
| Duração e valor | "6 meses, R$ 12.000/mês" |
Respostas incompletas tudo bem
O Claude preenche com texto adequado e deixa marcadores <!-- A DEFINIR --> onde precisar de informação real. Você publica um rascunho e completa depois.
4.3Editar seções manualmente
As seções ficam em ~/src/propostas/proposta-<cliente>-<numero>/sections/. Cada arquivo é um Markdown simples que você edita em qualquer editor. Depois rode /swl-publicar-proposta para atualizar a versão online.
5/swl-publicar-proposta
Builda a proposta e publica online com senha de acesso. O link gerado é o que você envia ao cliente.
/swl-publicar-proposta
/swl-publicar-proposta 26-BL-0395.1O que o comando faz
Build
Roda npm run build. O Astro gera o site estático a partir das seções Markdown.
Senha de acesso
Gera (ou reutiliza) usuário e senha para proteger a proposta. O cliente precisa deles para abrir o link.
Upload para Cloudflare R2
Sobe o site para o bucket propostas. A URL fica como propostas.baselabs.com.br/cliente/numero/.
Atualiza o CRM
Salva o link da proposta no deal automaticamente.
Rascunho de e-mail (opcional)
Oferece criar um rascunho no Gmail com o link e dados de acesso.
5.2Resultado
Cliente: Direcional
Número: 26-BL-039
URL: propostas.baselabs.com.br/direcional/26-BL-039/
Acesso: usuário: direcional · senha: xK7mR2pQ
Validade: 24/06/2026
Deal no CRM atualizado com o link.Nunca renomeie a URL
A URL enviada ao cliente nunca deve ser renomeada. Para corrigir ou atualizar, republique com o mesmo número. Para substituir por uma proposta diferente, use um número novo.
5.3Republicar
Para atualizar uma proposta já publicada, rode o comando novamente — o Claude sobrescreve os arquivos no R2. A URL e a senha permanecem as mesmas.
6Estrutura do repositório
Após o /swl-init-proposta, o repositório da proposta tem esta estrutura:
sections/ ← Conteúdo da proposta (você edita aqui)
capa.md · escopo.md · casos-uso.md · proposta-tecnica.md
cronograma.md · investimento.md · metodologia.md · premissas.md
racional.md · quem-somos.md · ratecard.md
proposta.env ← Configuração (não edite manualmente)
CLAUDE.md ← Contexto para o Claude (links Drive, deal no CRM)
README.md ← Link da pasta Drive com briefing
src/ · utils/ · package.json ← Engine Astro (não precisa mexer)6.1O arquivo proposta.env
CLIENTE=Direcional
MARCA=baselabs
TEMPLATE=desenvolvimento-software
PROPOSTA_NUMERO=26-BL-039
PROPOSTA_DATA=2026-05-26
PROPOSTA_VALIDADE_DIAS=30
CRM_DEAL_ID=842
DRIVE_FOLDER_ID=13BHrhrO4YserrOk8H8u7Sip0qBfnq8OJ
PROPOSTA_BASE_PATH=/direcional/26-BL-039/6.2As seções em Markdown
Cada arquivo em sections/ tem um cabeçalho (frontmatter) e o conteúdo em Markdown:
---
title: Escopo
subtitle: O que o módulo de pagamentos entrega na v1
---
O módulo de pagamentos da Direcional cobre o ciclo completo...
## Processos cobertos
- **Criação de transações** — ...
- **Aprovação** — fluxo configurável...A estrutura do repositório template (swl-crm) — pastas, resolução de seções em build e scripts utils/bin/ — está descrita na Introdução § 4.
7Marcas
Quatro marcas emitem propostas. Cada uma tem seu pipeline no CRM, prefixo de número e identidade visual próprios:
| Marca | Prefixo | Exemplo | Pipeline (CRM) |
|---|---|---|---|
| Base/labs | BL | 26-BL-039 | Base/labs Vendas |
| Base2 | A confirmar | — | Base2 Vendas |
| MeloQA | A confirmar | — | MeloQA Vendas |
| Crowdtest | A confirmar | — | Crowdtest Vendas |
Em definição
Os prefixos e pipelines de Base2, MeloQA e Crowdtest ainda estão sendo confirmados. Use apenas Base/labs por enquanto.