Você recebeu uma especificação. Esta especificação deve ter tickets associados, descrevendo como implementá-la.
O objetivo é um PR que implemente toda a especificação em um único branch.
Os tickets não são uma lista de passos. Eles são um grafo de tarefas com relações de bloqueio entre eles. Isso significa que sempre há uma fronteira de tickets prontos para serem pegos.
A comunicação de e para subagentes deve ser esparsa. Comunique-se principalmente através de ponteiros de contexto: para a especificação, tickets, notas de pesquisa e commits anteriores. Não duplique informações já disponíveis por meio de ponteiros.
Subagentes implementadores devem ser executados em segundo plano quando possível para máxima concorrência.
Passos
-
Leia a especificação e os tickets. Leia o suficiente para entender o grafo de tarefas.
-
(opcional) Use um subagente de exploração para conduzir qualquer exploração necessária pelos tickets - arquivos relevantes do código-fonte ou documentação externa. Certifique-se de que o subagente de exploração possa salvar arquivos - ele deve salvar suas notas em markdown em um diretório fora do repositório, acessível por todos os subagentes futuros. Isso permite que os subagentes implementadores se concentrem na implementação em vez da exploração.
-
Crie um branch e um PR rascunho. O PR deve ser marcado como 'fechando' o issue da especificação e os tickets.
-
Use subagentes implementadores para implementar cada ticket. Cada subagente implementador deve trabalhar em sua própria worktree, em seu próprio branch.
-
Assim que um subagente implementador concluir, mescle seu trabalho ao branch do PR com um subagente de mesclagem.
-
Se isso alterar a fronteira de tickets disponíveis, inicie mais subagentes implementadores para trabalhar nos novos tickets. Isso permite máxima concorrência.
-
Quando todos os tickets estiverem concluídos, execute /code-review no branch do PR. Corrija todos os problemas levantados pela revisão de código em um único subagente implementador.
-
Marque o PR como pronto para revisão.
-
Limpe todas as worktrees dos subagentes implementadores.