Orquestrar um produto em vários repositórios
Para quem é: quem vai dividir um produto em vários repositórios, ou já dividiu e sente o custo, e não conhece o histórico do Brabo. Você não precisa ter lido nenhum ADR nem ter participado de nenhuma rodada: os ADRs aparecem só como "para saber mais".
Depois de ler, você consegue:
- decidir se o seu produto deve mesmo ser dividido, e quando não deve;
- desenhar o mapa dos repositórios com o modo de consumo de cada aresta;
- narrar o caminho de uma mudança, do primeiro PR até o instalador;
- montar um conjunto parecido, na ordem certa, sabendo o que copiar e o que adaptar.
Tempo de leitura: cerca de 40 minutos para a trilha toda; cada página tem de 5 a 8.
O exemplo que usamos
O Brabo é uma plataforma que orquestra agentes de engenharia. Ele vive em 11 repositórios públicos na organização viralabs-dev. Nenhum deles é "o" produto: o produto é o conjunto, e há um repositório, o brabo, que é a porta de entrada. O repositório antigo, único, é só consulta e fica fora da trilha.
A ordem das páginas
| # | Página | Pergunta que responde |
|---|---|---|
| 1 | Por que separar, e quando não | Vale a pena dividir? Quanto custa? |
| 2 | O mapa | Quem faz o quê, e quem depende de quem? |
| 3 | Como cada repositório é consumido | Por onde um repositório entrega algo a outro? |
| 4 | A vida de uma mudança | Como uma linha de código vira release? |
| 5 | Monte o seu | Em que ordem eu replico isso? |
| 6 | Erros que já cometemos | O que posso evitar? |
E o jeito de trabalhar?
Esta trilha é a estrutura. O método que a faz andar (quadro, atividades, rodadas com agentes, o teste de aceite permanente) está em Como o Brabo é construído.
Como ler
- Vai decidir se divide: leia a 1 e a 6.
- Já dividiu e quer organizar: leia a 2, a 3 e a 4.
- Quer pôr a mão na massa: vá direto à 5, que aponta para as outras quando precisa.
Cada página diz, no começo, para quem é e o que você consegue depois dela.
Onde falta evidência
Onde a trilha não tem evidência para afirmar algo, ela escreve TODO(humano) em vez de inventar.
Os repositórios, com o README de cada um
brabo, brabo-api, brabo-engine, brabo-web, brabo-runner, brabo-broker, brabo-contracts, brabo-ci, brabo-infra, brabo-qa e brabo-workspace.