尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Kolo Família — estratégia personalizada para o dia a dia da família atípica. PWA + Ayla (WhatsApp).
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Estratégia personalizada pro dia a dia da família atípica. Acolhimento e orientação no WhatsApp + app PWA com conteúdo personalizado + relatórios para terapeutas e escola.查看完整 README ↗
Estratégia personalizada pro dia a dia da família atípica. Acolhimento e orientação no WhatsApp + app PWA com conteúdo personalizado + relatórios para terapeutas e escola.
eventos_app + /admin/observabilidade.
├── apps/web/ # Next.js 16 — todo o produto
├── packages/shared/ # Tipos/schemas comuns (ainda enxuto)
├── supabase/migrations/ # 0001 → 0009 (idempotentes)
└── docs/ # PRD + Roadmap + Explicações + Prompt Chrome
# 1. Dependências (raiz)
npm install
# 2. Variáveis de ambiente
cp .env.example apps/web/.env.local
# Preencher conforme tabela abaixo. Sem ANTHROPIC/STRIPE/ZAPI dá pra
# subir o app, mas as features dependentes ficam off.
# 3. Dev server
npm run dev
App em http://localhost:3000. Login: /login (precisa migrações
aplicadas no Supabase + primeiro admin via /admin/setup).
Windows + caminho com
í: os scripts já usamnext dev --webpackenext build --webpackporque o Turbopack crasha em paths com caracteres não-ASCII. Não trocar.
Em apps/web/.env.local:
| Variável | Onde usa | Obrigatória? |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Cliente + servidor Supabase | sim |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Cliente Supabase | sim |
SUPABASE_SERVICE_ROLE_KEY | Webhooks, cron, gate Beta | sim |
NEXT_PUBLIC_APP_URL | Sitemap, Open Graph, redirects | sim |
ANTHROPIC_API_KEY | Skills + Ayla parser + curadoria | sim em prod |
OPENAI_API_KEY | Geração de imagem (DALL-E 3) | só pra galeria |
STRIPE_SECRET_KEY | Stripe SDK | só pra Stripe |
STRIPE_WEBHOOK_SECRET | Verifica assinatura do webhook | só pra Stripe |
STRIPE_PRICE_ID_MENSAL | Preço mensal | só pra Stripe |
STRIPE_PRICE_ID_ANUAL | Preço anual | só pra Stripe |
ZAPI_INSTANCE_ID | URL Z-API | só pra Ayla |
ZAPI_TOKEN | Token Z-API | só pra Ayla |
ZAPI_CLIENT_TOKEN | Token de cliente Z-API | só pra Ayla |
AYLA_WEBHOOK_SECRET | Header x-ayla-secret no webhook | só pra Ayla |
AYLA_APROFUNDAMENTO_WHATSAPP | on ativa aprofundamentos contextuais para todas as conversas elegíveis; off é rollback global | não |
KOLO_GERACAO_SECRET | Header x-ayla-secret da chamada interna que gera os cartões da rotina | obrigatório — sem ele nenhum cartão sai |
CRON_SECRET | Authorization: Bearer em /api/ayla/cron | só pra cron |
ROSANGELA_FISCAL_WHATSAPP_E164 | Destino dos links de emissão de nota, em E.164 | obrigatório para operação fiscal |
Aplicadas em ordem 0001 → 0009 via Supabase Studio. Todas idempotentes.
Resumo:
| # | Arquivo | O que faz |
|---|---|---|
| 0001 | 0001_init.sql | 44 tabelas + índices + triggers |
| 0002 | 0002_rls.sql | Row Level Security + is_admin() + current_family_account_id() |
| 0003 | 0003_seed.sql | 7 output_types + 7 skills + 3 boas práticas + configs |
| 0004 | 0004_auth_trigger_and_onboarding.sql | trigger on_auth_user_created |
| 0005 | 0005_storage_imagens.sql | bucket imagens |
| 0006 | 0006_eventos_app.sql | observabilidade + RLS |
| 0007 | 0007_rules_engine.sql | regras + alertas + adaptações |
| 0008 | 0008_beta.sql | convites Beta + NPS + RPC increment_invite_uses |
| 0009 | 0009_termos_aceite.sql | colunas de aceite LGPD em family_accounts |
Total esperado: 50 tabelas em public.
Aplicar: ver docs/migracoes-chrome-prompt.md
ou colar manualmente no Studio em ordem. Após aplicar, criar conta em
/signup e visitar /admin/setup (primeiro usuário vira superadmin).
STRIPE_PRICE_ID_MENSAL e STRIPE_PRICE_ID_ANUAL.https://<seu-dominio>/api/stripe/webhook. Eventos:
checkout.session.completedcheckout.session.async_payment_succeededcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.payment_succeededinvoice.payment_failedSTRIPE_WEBHOOK_SECRET.Em dev: stripe listen --forward-to localhost:3000/api/stripe/webhook.
Instance ID + Token + Client-Token.https://<seu-dominio>/api/ayla/webhook.x-ayla-secret: <AYLA_WEBHOOK_SECRET>.Scheduler (n8n / Vercel Cron / GitHub Actions) chama POST em
/api/ayla/cron?tipo=... com Authorization: Bearer $CRON_SECRET:
| Tipo | Cadência | O que faz |
|---|---|---|
rotina | a cada 30min | pergunta diária da Ayla na janela horária da família |
inatividade | 1×/dia | engajamento 2/5 dias |
comercial | 1×/dia | trial D-3 e D-0 |
emocional | 1×/dia | streak 7 dias |
insights | 1×/semana | detecção de padrões + envia próximo pendente |
campanhas | 1×/hora | drena destinatários pendentes |
regras | 1×/dia | Rules Engine |
cleanup | 1×/dia | purga eventos antigos, links vivos expirados, etc. |
Roadmap fechado da fase 1 à fase 14. Fase 15 (migração WhatsApp Cloud API) não vai acontecer — mantemos Z-API.
Lacunas conhecidas (não bloqueiam o produto):
lib/ayla/). Fronteira rígida com lib/ia/.dev/build
usam --webpack.zod pinned para ^3.25.76 via override na raiz por causa de
conflito transitivo com eslint-config-next@16.BETA_GATE_ENABLED | true exige convite no signup | opcional |
NEXT_PUBLIC_BETA_GATE_ENABLED | Mesmo valor, exposto ao client | opcional |