尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
SaaS multi-tenant de atendimento com IA para clínicas médicas e de estética. Uma recepcionista digital que trabalha 24 horas no WhatsApp, agenda, confirma consulta e devolve consulta perdida em dinheiro. Documentação de produto e handoff de engenharia do V1. Abra o Claude Code nesta pasta e cole o conteúdo de PROMPT_INICIAL.md. Ele já diz ao Claude Code o que ler, em que ordem, e qual é a primeira tarefa. Como rodar: o motor roda sozinho (ver supabase/operacao/motor-por-cron.md)檢視完整 README ↗
SaaS multi-tenant de atendimento com IA para clínicas médicas e de estética. Uma recepcionista digital que trabalha 24 horas no WhatsApp, agenda, confirma consulta e devolve consulta perdida em dinheiro.
Documentação de produto e handoff de engenharia do V1.
Abra o Claude Code nesta pasta e cole o conteúdo de PROMPT_INICIAL.md. Ele já diz ao Claude Code o que ler, em que ordem, e qual é a primeira tarefa.
npm run dev # a aplicação
Em produção a aplicação roda na Vercel (região de São Paulo) e não existe processo de worker em servidor nenhum. O motor de automação roda pelo pg_cron, dentro do Supabase, desde 02/09/2026:
pg_cron chama (via pg_net) a rota POST /api/webhooks/motor na Vercel, que processa a fila de tarefas: envio das réguas de confirmação, pós falta e follow up, o botão "Cobrar agora", o download de mídia que o paciente manda;motor_manutencao() roda no próprio banco: planeja as réguas, limpa as reservas de horário vencidas, expira ofertas da lista de espera;poda-do-cron apaga o histórico do agendador com mais de 7 dias.Com o motor parado a aplicação abre, a agenda funciona e nenhuma mensagem automática sai. Quando isso acontece, o sistema mostra a faixa "as mensagens automáticas estão paradas" no topo de todas as telas, e a rota GET /api/webhooks/saude passa a responder 503 para o monitor externo que avisa o dono por e-mail (configuração no runbook).
npm run worker é o mesmo motor num laço local, na mesma cadência: serve para desenvolver e testar num banco sem pg_cron e como ponte de emergência quando o cron é desligado. Contra o banco de produção, só durante incidente (ver "Desligar" no runbook).
Para conferir que a corrente inteira está funcionando (planejamento, envio, webhook, resposta do paciente, pós falta), com a aplicação e o motor de pé:
npm run prova:motor
Ele cria uma clínica descartável com canal de mentira, exercita o caminho completo contra o banco e o webhook reais, e apaga tudo no fim. Nenhum paciente de verdade é tocado.
O canal WhatsApp precisa de um endereço público estável em PUBLIC_APP_URL: é ele que o provedor chama de volta com as respostas dos pacientes, e ele fica gravado no momento da conexão. Trocar a variável não basta, é preciso reconectar o número. Detalhes em .env.example.
conduzza/
├── CLAUDE.md regras permanentes do projeto, lidas pelo Claude Code em toda sessão
├── PROMPT_INICIAL.md o texto para colar na primeira mensagem
├── .env.example variáveis de ambiente
├── README.md este arquivo
└── docs/
├── 01_spec_funcional_conduzza_clinicas.md spec, escopo V1 e V2, alerta comercial, cronograma
├── 02_brief_telas_claude_design.md 14 telas, paleta validada, componentes e estados
├── 03_arquitetura.md stack, pastas, fluxos, RLS, concorrência de agenda
├── 04_modelo_dados.md schema SQL de referência
├── 05_backlog.md tarefas em ordem, com critério de aceite
└── benchmarks/ pesquisa de origem, com URL em cada afirmação
| Se você é | Leia |
|---|---|
| Desenvolvedor | CLAUDE.md, depois docs/03, docs/04 e docs/05 |
| Designer | docs/02. É autocontido, dá para colar no Claude Design |
| Sócio ou decisor | docs/01, seções 1 (Ficha de Entrega), 2 (benchmark) e 3 (alerta comercial) |
| Decisão | Valor |
|---|---|
| Corte do V1 | MVP fechado, agenda própria, sem integração com sistema de gestão |
| Stack | Next.js 15 + TypeScript + Tailwind + shadcn/ui + Supabase |
| Região do banco | sa-east-1 (São Paulo), para remover a discussão de transferência internacional |
| Preço | R$ 597 (Essencial) e R$ 897 (Completo), por clínica, usuários ilimitados |
| Visual | Claro por padrão, escuro obrigatório (decisão de 19/08/2026, revisando o brief) |
| Arquitetura | Nasce clínicas, com white-label e nomenclatura parametrizados desde o dia 1 |
| Ordem de integração (V2) | Feegow, depois Ninsaúde e Shosp, iClinic por último e só com acordo com a Afya |
| Prazo estimado | 21 semanas do design ao piloto medido, com 1 dev em tempo integral |
A conta não fecha em 15 clientes. No cenário otimista (15 de 15 adotando a R$ 897) são R$ 13.455 de MRR contra um time mínimo de R$ 15.000. São necessárias entre 17 e 26 clínicas só para empatar, sem contar custo variável. A memória de cálculo está na seção 3 da spec.
Nenhuma delas bloqueia o código. Todas viram configuração, nunca valor fixo.
Os documentos usam três marcações:
[FONTE] sustentado por benchmark com URL em docs/benchmarks/[PREMISSA] hipótese de trabalho sem fonte externa, a validar[PENDENTE] dado necessário ainda não levantadoTodo número tem memória de cálculo aberta. O que não tem fonte está marcado, não escondido.