Files
msd-core/docs/pt-BR/how-to/work-in-parallel-with-workstreams.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
2026-10-06 01:47:40 +02:00

5.4 KiB

Como trabalhar em múltiplas áreas em paralelo com workstreams

Objetivo: Executar trabalho simultâneo em diferentes áreas de um milestone — API backend, painel frontend, infraestrutura ou qualquer outra preocupação — sem que o estado de planejamento de uma área vaze para outra.

Pré-requisitos: Um projeto MSD Core ativo (.planning/ROADMAP.md existe). Se não existir, execute /msd-new-project primeiro.


O que são workstreams

Um workstream é um contexto de planejamento isolado dentro de um único repositório de código. Cada workstream possui seu próprio subárvore .planning/workstreams/<name>/ contendo diretórios independentes STATE.md, ROADMAP.md, REQUIREMENTS.md e phases/. O próprio repositório — código-fonte, histórico git e branches — é compartilhado entre todos os workstreams.

.planning/
├── PROJECT.md          ← compartilhado
├── config.json         ← compartilhado
├── codebase/           ← compartilhado
└── workstreams/
    ├── backend-api/
    │   ├── STATE.md
    │   ├── ROADMAP.md
    │   ├── REQUIREMENTS.md
    │   └── phases/
    └── frontend-dash/
        ├── STATE.md
        ├── ROADMAP.md
        ├── REQUIREMENTS.md
        └── phases/

Quando um workstream está ativo, todos os comandos MSD — /msd-progress, /msd-discuss-phase, /msd-plan-phase, /msd-execute-phase — leem e escrevem no diretório desse workstream. Alternar workstreams redireciona todos esses comandos para uma subárvore diferente sem tocar na árvore de código-fonte.


Criar um workstream

/msd-workstreams create backend-api

O MSD cria o diretório do workstream em .planning/workstreams/backend-api/ e o inicializa com um STATE.md e ROADMAP.md esqueleto. O workstream não é ativado automaticamente — você precisa alternar para ele explicitamente.


Listar workstreams

/msd-workstreams list

Exibe todos os workstreams e qual está atualmente ativo na sua sessão.


Alternar para um workstream

/msd-workstreams switch backend-api

A partir deste ponto, todos os comandos de fluxo de trabalho MSD operam no contexto backend-api. A alternância é vinculada à sessão: quando múltiplos terminais do Claude Code estão abertos no mesmo repositório, cada sessão pode ter um workstream ativo diferente sem interferir nos demais.

Após alternar, execute o fluxo normal de fases:

/msd-discuss-phase 1
/msd-plan-phase 1
/msd-execute-phase 1
/msd-verify-work 1

Para trabalhar em outra área, alterne workstreams em um segundo terminal:

/msd-workstreams switch frontend-dash
/msd-discuss-phase 1
/msd-plan-phase 1

Verificar o progresso em todos os workstreams

/msd-workstreams progress

Exibe um resumo entre workstreams — status das fases, posição atual e trabalho pendente para cada workstream — sem exigir que você alterne entre eles.

Para status detalhado de um único workstream:

/msd-workstreams status backend-api

Retomar o trabalho em um workstream

Após uma redefinição de contexto ou uma nova sessão, restaure sua posição:

/msd-workstreams resume backend-api

Isso ativa o workstream e restaura sua última posição conhecida dentro dele, equivalente a alternar e então executar /msd-resume-work.


Arquivar um workstream concluído

Quando o trabalho do milestone de um workstream estiver concluído:

/msd-workstreams complete backend-api

O MSD marca o workstream como arquivado e o remove da listagem ativa. Os artefatos de planejamento são preservados em .planning/workstreams/backend-api/ para fins de auditoria.


Executar um único comando em um workstream sem alternar

Se você precisar executar um comando em um workstream específico sem alterar o contexto ativo da sua sessão, use a flag --ws:

/msd-progress --ws frontend-dash
/msd-plan-phase 2 --ws backend-api

--ws tem a maior prioridade na ordem de resolução e não altera o ponteiro vinculado à sessão.


Quando usar workstreams em vez de workspaces

Escolha workstreams quando:

  • Todo o trabalho está no mesmo repositório e compartilha o mesmo histórico git
  • Você quer planejar ou discutir diferentes áreas de preocupação (API, UI, infra) de forma simultânea sem que o STATE.md de um workstream sobrescreva o de outro
  • Você não precisa de um branch separado por workstream no momento da criação (embora possa criar branches normalmente dentro da execução de cada workstream)
  • O custo de criação de worktrees git completos não é justificado pelo nível de isolamento necessário

Escolha workspaces quando:

  • Você está trabalhando em múltiplos repositórios (por exemplo, hr-ui e ZeymoAPI)
  • Você precisa do isolamento de uma worktree ou clone git separado por funcionalidade — branches, arquivos de lock e artefatos de build totalmente independentes
  • Você quer executar /msd-new-project independentemente em cada workspace com uma raiz .planning/ completamente separada, não um subdiretório do .planning/ do repositório principal

Relacionados