Como trabalhamos
Time pequeno, 100% remoto, sem disponibilidade em horário comercial dias úteis. O processo é assíncrono por padrão + 1 call por semana à noite.
Cerimônias
| Quando | Onde | Duração | O quê |
|---|---|---|---|
| Daily async | WhatsApp (grupo do time) | até as 22h | Cada um posta: o que entreguei · o que vou fazer amanhã · o que está bloqueando |
| Weekly planning | Call (link no grupo) | 30 min | Quarta 20:00. Revisa semana, ajusta prioridades. |
| Retro mensal | Call (link no grupo) | 1h | Última sexta do mês 20:00. Continuar / parar / começar. |
Horários podem ser ajustados nos primeiros encontros até cair num slot que todos sustentem.
Não há call diária. Daily é texto. Quando algo travar e precisar de resposta rápida, mandar no WhatsApp — sem esperar a daily.
Divisão de responsabilidades
Áreas críticas ficam com os founders (não-negociável):
- Autenticação (login, signup, Google OAuth, reset de senha)
- Pagamento / Stripe (webhooks, planos, assinaturas)
- Integração com Strava (OAuth, sync)
- Migrations de banco / schema Prisma
- Deploy / infra (Fly.io, Cloudflare Pages, Neon)
- Segurança, LGPD, dados sensíveis (CPF, dados de saúde)
- Decisões de arquitetura
- Code review de todo PR
Trabalho de engenharia com critério de aceite claro fica com o time de engenharia/programação:
- Componentes do
@treinogo/uie testes - Estados de UI (loading, empty, error)
- Páginas estáticas (FAQ, Termos, Privacidade)
- SEO / Open Graph / acessibilidade
- Storybook stories
- Migrar estilos ad-hoc pro design system
- Polimento de copy / microcopy
- Smoke tests E2E (com template pronto)
- Bugs catalogados de severidade
mediumoulow
Em caso de dúvida sobre a quem pertence uma tarefa, pergunta no WhatsApp antes de começar. Custo do alinhamento prévio é zero. Custo de fazer errado é alto.
Fluxo de Pull Request
-
Cria branch a partir de
main:git checkout main
git pull origin main
git checkout -b feat/minha-coisaBranch protection ainda não está ativaA branch
mainnão está bloqueada por enquanto — GitHub branch protection em repos privados exige plano Team (em avaliação) ou migração para GitLab. Sem proteção automática, redobre o cuidado pra nunca commitar direto namain. Sempre via PR. -
Faz commits seguindo Conventional Commits:
feat:nova funcionalidadefix:correçãodocs:documentaçãorefactor:,test:,chore:,perf:,style:
-
Push e abre PR no GitHub.
-
CI roda automaticamente:
typecheck,lint,test,build- Front-ends: Cloudflare gera preview URL automática (testa lá antes de pedir review)
-
Pede review ao @zanlucathiago. SLA: 24h.
-
Após aprovação: "Squash and merge". Sempre squash, nunca merge commit.
-
Deploy automático após merge na
main(Fly.io pra backend, Cloudflare Pages pra front-ends). -
Move o card no Project pra
Done(ou ele move sozinho se o PR tiverCloses #N).
Mais detalhes em Workflow de Desenvolvimento.
Code review — o que esperar
- Toda PR recebe revisão de @zanlucathiago
- SLA: 24h, idealmente same-day
- Bot GitHub Code Quality também comenta automaticamente
- Sugestões automáticas: avalia uma a uma. Aceita se fizer sentido, rejeita se não.
- Comentários humanos: responde sempre, mesmo que pra dizer "OK, ajustado"
Como pegar a próxima tarefa
- Abre o Project TreinoGO Launch
- Filtra por Assignee = seu @
- Ordena por Vence ASC
- Pega a Issue mais urgente que não está bloqueada
- Move o card pra In progress
- Cria branch e começa
Quando travar
- Trava de produto (não sei o que fazer): pergunta no grupo, marca @thiag0xavier. Geralmente responde rápido.
- Trava técnica: pergunta no grupo, marca @zanlucathiago. Não fica travado mais de 1h sem perguntar.
- Trava de setup: documenta no PR ou na própria issue. Não some — escreve "tô preso em X há Y horas".