Pular para conteúdo

🔧 Fluxo de Desenvolvimento: Forge + Giovanni

Autor: Werner (CTO)
Data: 10 de fevereiro de 2026
Status: Aprovado


📋 Visão Geral

Este documento define o fluxo oficial de desenvolvimento do SellSync, integrando o Forge (fábrica de código IA) com Giovanni (desenvolvedor humano), orquestrado pelo Werner (CTO).


🏗️ Arquitetura do Fluxo

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│                    RELRI (Product Owner)                    │
│                    Define o QUE construir                   │
│                                                             │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│                    WERNER (CTO/Arquiteto)                   │
│                                                             │
│   • Define specs técnicas                                   │
│   • Desenha arquitetura                                     │
│   • Faz code review                                         │
│   • Pesquisa e documentação                                 │
│   • Decide: Forge ou Giovanni?                              │
│                                                             │
└─────────────────────────┬───────────────────────────────────┘
            ┌─────────────┴─────────────┐
            │                           │
            ▼                           ▼
┌───────────────────────┐   ┌───────────────────────┐
│                       │   │                       │
│   🤖 FORGE            │   │   👨‍💻 GIOVANNI        │
│   (Fábrica de Código) │   │   (Dev Humano)        │
│                       │   │                       │
│   • Boilerplate       │   │   • Código complexo   │
│   • CRUD/APIs         │   │   • Debug avançado    │
│   • Testes unitários  │   │   • Deploy            │
│   • Componentes UI    │   │   • Revisão final     │
│   • Código repetitivo │   │   • Integrações       │
│   • Velocidade        │   │   • Qualidade         │
│                       │   │                       │
└───────────┬───────────┘   └───────────┬───────────┘
            │                           │
            └─────────────┬─────────────┘
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│                    GITHUB PROJECTS                          │
│                                                             │
│   Todo → In Progress → Testing → Review → Done              │
│                                                             │
│   • Issues = Tasks                                          │
│   • PRs = Código                                            │
│   • Automação: PR fecha Issue                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

👥 Papéis e Responsabilidades

Relri (Product Owner)

Responsabilidade Descrição
Definir prioridades O que construir primeiro
Validar entregas Aceitar ou rejeitar features
Feedback de negócio Requisitos e ajustes

Werner (CTO/Arquiteto)

Responsabilidade Descrição
Specs técnicas Transformar requisito em spec
Arquitetura Definir como construir
Triagem Decidir: Forge ou Giovanni
Code Review Revisar todo código antes de merge
Documentação Manter docs atualizados

Forge (Fábrica IA)

Tipo de Task Exemplos
✅ Ideal para Forge CRUD, APIs REST, componentes UI, testes, boilerplate
⚠️ Com supervisão Lógica de negócio simples, integrações documentadas
❌ Não recomendado Algoritmos complexos, debug, otimização de performance

Giovanni (Dev Humano)

Tipo de Task Exemplos
✅ Ideal para Giovanni Integrações complexas, debug, deploy, código crítico
✅ Sempre Giovanni Revisão final, segurança, performance
🤝 Colaboração Forge gera base, Giovanni refina

🔄 Workflow Completo

Passo 1: Solicitação

Relri: "Preciso de uma tela de listagem de sellers"

Passo 2: Triagem (Werner)

Werner analisa:
- Complexidade? → Baixa/Média = Forge, Alta = Giovanni
- Urgência? → Alta = Giovanni (mais previsível)
- Tipo? → CRUD/UI = Forge, Integração = Giovanni

Passo 3: Criação da Issue

## 📋 Task: Listagem de Sellers

**Assignee:** Forge / Giovanni
**Labels:** feature, frontend, Q1

### Descrição
Criar página de listagem de sellers com filtros e busca.

### Specs Técnicas
- Route: `/sellers`
- Componente: `SellersTable`
- API: `GET /api/sellers`
- Filtros: status, data, busca

### Critérios de Aceite
- [ ] Tabela com paginação
- [ ] Filtros funcionando
- [ ] Busca por nome
- [ ] Loading state
- [ ] Empty state

Passo 4: Desenvolvimento

Se Forge:

Werner: "Forge, desenvolve a task #123"
Forge spawna agentes (dev-frontend, dev-backend)
Código gerado automaticamente
PR criado no GitHub

Se Giovanni:

Issue atribuída no GitHub Projects
Giovanni desenvolve
PR criado manualmente

Passo 5: Review (Werner)

- Code review técnico
- Validar specs
- Aprovar ou solicitar mudanças

Passo 6: Merge & Deploy

PR aprovado → Merge → CI/CD → Deploy automático

📊 Fluxo no GitHub Projects

┌──────────┐   ┌─────────────┐   ┌─────────┐   ┌────────┐   ┌──────┐
│   TODO   │ → │ IN PROGRESS │ → │ TESTING │ → │ REVIEW │ → │ DONE │
└──────────┘   └─────────────┘   └─────────┘   └────────┘   └──────┘
     │               │                │             │            │
     │               │                │             │            │
  Backlog      Forge/Giovanni     Testes auto   Werner       Merged
  priorizado   trabalhando        passando      aprova       e deploy

Automações

  • PR aberto → Issue move para "In Progress"
  • Testes passam → Issue move para "Testing"
  • Review solicitado → Issue move para "Review"
  • PR merged → Issue move para "Done" e fecha

💡 Exemplos Práticos

Exemplo 1: Task para Forge

📋 Issue: Criar componente de card de métricas
👤 Assignee: Forge
🏷️ Labels: component, ui, low-complexity

Werner: "Forge, cria componente MetricCard com:
- Props: title, value, trend, icon
- Variantes: default, success, warning, danger
- Testes unitários inclusos"

Resultado: PR em ~10 minutos com código completo

Exemplo 2: Task para Giovanni

📋 Issue: Integrar OAuth Mercado Livre
👤 Assignee: Giovanni
🏷️ Labels: integration, backend, high-complexity

Werner: "Giovanni, precisamos integrar OAuth do ML.
Documentação: [link]
Specs: [link para spec técnica]
Prazo: 3 dias"

Resultado: Integração robusta com tratamento de erros

Exemplo 3: Colaboração Forge + Giovanni

📋 Issue: Módulo completo de SAC IA
👤 Assignee: Forge (fase 1) → Giovanni (fase 2)

Fase 1 - Forge:
- Componentes UI (inbox, cards, modais)
- APIs CRUD básicas
- Testes unitários

Fase 2 - Giovanni:
- Integração com LLM
- Lógica de confiança
- Otimização de prompts
- Testes E2E

✅ Checklist de Decisão

Usar Forge quando: - [ ] Task é bem definida e repetitiva - [ ] Código é CRUD ou boilerplate - [ ] Componente UI padrão - [ ] Testes simples - [ ] Prazo apertado para código "mecânico"

Usar Giovanni quando: - [ ] Lógica de negócio complexa - [ ] Integração com APIs externas - [ ] Debug de problemas existentes - [ ] Código crítico (auth, pagamento) - [ ] Otimização de performance - [ ] Deploy e infraestrutura



Documento criado por Werner (CTO) em 10/02/2026, formalizado em 11/02/2026.