4.8 KiB
Worktree plan abre o opencode com /plan-issue já enviado
Status: rascunho Atualizado em: 2026-08-10 Issue: #593 Priority: P2 Model: composer-2.5 Impeccable: A — N/A (CLI/shell, sem superfície de produto) Canvas UI: N/A — sem UI Appetite: ~0,5 dia; um outcome verificável (o TUI abre já no fluxo de planejamento) Responsável: —
Intenção
Na entrega OPS26 assumimos que o --prompt do opencode seria auto-submetido — e é. Só que o worktree plan ficou sem prompt por uma premissa equivocada: a proposição em ~/Code/propositions/opencode/prefill-prompt-sem-submit.md queria "abrir com o prompt preenchido sem enviar", e como a CLI não tem isso, deixamos o plan abrir o TUI vazio (autocomplete /plan-). A revisão da proposição mostra o óbvio que faltou: a necessidade real era a oposta — iniciar com o prompt commitado (enviado) — e isso o --prompt já faz, como o next prova com /work-issue. Queremos o mesmo para o plan: um comando e já estar dentro do fluxo de planejamento, sem digitar nada.
Persona e fluxo
- Persona / contexto: o humano (dono do repo) no terminal interativo, rodando
worktree plan [bag]para abrir uma sessão de/plan-issuenum worktree de planejamento. - Job principal: cair direto no planejamento — abrir o TUI do opencode já executando a skill de planejamento.
- Fluxo desejado:
worktree plan [bag]cria o worktree de planejamento (branchplans/plan-issue-…), provisiona o ambiente e troca o shell para lá;- o opencode abre no worktree com
/plan-issuejá enviado como primeira mensagem; - a sessão começa o fluxo da skill (parse → gate → registro) sem nenhuma interação extra.
- Anti-goals: não virar um mecanismo de prefill-draft do opencode (isso é feature do opencode, não do Teqo); não mudar o comportamento de
--staynem do comando/worktreedo opencode.
Objetivo e aceite
worktree plan [bag]no terminal (sem--stay) imprime a diretivalaunch opencode <dir> --model <preset> --auto --prompt /plan-issueantes docd <dir>.- O TUI abre com a skill
plan-issuejá carregada e em execução (primeira mensagem enviada), sem digitação. --staycontinua suprimindocd+ launch; o comando/worktreedo opencode continua sem a diretiva (nunca TUI aninhado).- A proposição
~/Code/propositions/opencode/prefill-prompt-sem-submit.mdé revisada e anotada com o desfecho: a necessidade real do fluxo era auto-envio (coberto por--prompt); prefill-sem-envio segue como gap do opencode, não bloqueio do Teqo. - Textos correlatos atualizados (todo lugar que diga "plan sem prompt — autocomplete
/plan-" passa a dizer "/plan-issueenviado").
Dados (intenção)
- Vou apresentar dados? Não — sem superfície de dados.
Direção no codebase (hipótese)
- Áreas prováveis:
scripts/lib/worktree.mjs(constanteOPENCODE_SKILL_COMMAND_BY_PURPOSE—plansai denullpara/plan-issue; o comentário de "gap registered for the opencode repo" sai ou muda de tom),scripts/worktree.mjs(docblock),.agents/shell/worktree.sh(comentário),.opencode/commands/worktree.md(doc),AGENTS.md/docs/CHANGELOG-AGENTS.md. - Precedente a olhar: plano OPS26 (
docs/plans/worktree-go-abre-opencode-com-presets.md+-impl.md) — o mecanismo de launch já existe; aqui é só o valor do prompt doplan. - Risco de acoplamento: o mesmo mapa de constantes é usado por
next— não mudar o comportamento donext; o valor doplané a única mudança. Proposição opencode fica fora do repo (pasta pessoal~/Code/propositions/) — edição local, não commit.
Dependências
- Nenhuma. (OPS33 mexe no mesmo arquivo de constantes;
serializes: [worktree-cli]para o pool não rodar os dois em paralelo.)
Fora de escopo
- Implementar
--prefill/ prefill-sem-submit no opencode (feature upstream; registrar na proposição, não codar aqui). - Mudar o launch do
next(continua/work-issuecomo está). - Qualquer mudança no claim ou no fluxo de execução (OPS32/OPS33).
Rabbit holes de produto
- "Já que vamos mexer, deixar o plan mais esperto" (ex.: esperar confirmação antes de enviar). O pedido é simétrico ao
next: abrir já executando. Corte: mudança de valor no mapa + docs + anotação da proposição; nada mais.
Questões em aberto (produto)
- E se o opencode ganhar prefill-sem-submit no futuro? Decisão (gate 2026-08-10): manter auto-envio — simetria com
nexte menos fricção; a opção fica registrada na proposição para quando o upstream existir.
Referências
- GitHub Issue #593
- Canvas UI (gate): N/A
~/Code/propositions/opencode/prefill-prompt-sem-submit.md(revisar/anotar)docs/plans/worktree-go-abre-opencode-com-presets.md(OPS26 — mecanismo do launch)