O que parallel-feature-development faz?
Coordene o desenvolvimento paralelo de funcionalidades com estratégias de propriedade de arquivos, regras para evitar conflitos e padrões de integração para implementação multiagente. Use esta habilidade ao decompor uma grande funcionalidade em fluxos de trabalho independentes, quando dois ou mais agentes precisam implementar diferentes camadas do mesmo sistema simultaneamente, ao estabelecer propriedade de arquivos para evitar conflitos de merge em um código-fonte compartilhado, ao projetar contratos de interface para que implementadores paralelos possam construir contra as APIs uns dos outros antes de estarem prontos, ou ao decidir entre slices verticais e camadas horizontais para uma funcionalidade full-stack.
Estratégias Principais
- Propriedade de Arquivos: Atribua arquivos ou diretórios específicos a cada agente para evitar sobreposição e minimizar conflitos de merge.
- Contratos de Interface: Defina APIs e interfaces estáveis (por exemplo, com OpenAPI ou TypeScript types) para que agentes dependentes possam trabalhar antes da implementação real.
- Integração Incremental: Realize merges frequentes e pequenos, com testes automatizados, para detectar conflitos cedo.
- Divisão de Camadas: Escolha entre slices verticais (uma funcionalidade completa por agente) e camadas horizontais (frontend, backend, banco de dados) com base na complexidade e dependências.
Exemplo de Contrato de Interface
// contracts/user-service.interface.ts
export interface UserService {
createUser(data: CreateUserDTO): Promise<User>;
getUser(id: string): Promise<User | null>;
}
Fluxo de Trabalho Típico
- Agente A implementa
UserService(backend). - Agente B implementa UI usando o contrato
UserService, mesmo que o serviço ainda não esteja pronto. - Agente C gerencia banco de dados e integra os resultados.
- Integração: após cada bloco, integrar via PRs com testes de contrato.
Regras para Evitar Conflitos
- Não modificar arquivos de propriedade de outro agente sem coordenação.
- Usar message brokers para comunicação assíncrona entre camadas.
- Manter changelogs para rastrear dependências cruzadas.
Para mais detalhes, consulte a documentação completa em wshobson/parallel-feature-development.