teqo/.opencode/commands/worktree.md
Francisco Solla f0f5b73f3f OPS33: worktree next claima deterministicamente a Issue (--issue N, reopen) e launch com /work-issue --issue N
Claim extraído para scripts/lib/agent-github.mjs (claimIssue/claimBriefLines/
claimQueueEntry/claimTargetVerdict), agent-claim.mjs vira CLI fino com mesma
saída; branch validada antes do claim (sem claim órfão); hint de falha
pós-claim; guard -B contra reset de commits de sessão; diretiva launch com
prompt citado + tokenização xargs no worktree.sh; --issue sem valor/posicional
morrem com motivo (sem misclaim); unit novos (directive com issueNumber,
claimQueueEntry, claimTargetVerdict); docs/textos (AGENTS.md, /worktree, skill
worktree-next-issue, AGENT-OPS, CHANGELOG).
2026-08-10 19:46:54 -03:00

2.4 KiB

description
Claima a próxima Issue (next [--issue N] [--stay]), cria o worktree dela e provisiona o ambiente; também cria worktree de planejamento (plan [bag] [--stay]), worktree neutro (new [bag] [--stay]) ou destrói o atual (kill [--force])

Rode o script determinístico abaixo (não improvise a lógica) e reporte o resultado de forma concisa.

  • next [--issue N] [--stay]: claima a próxima Issue claimável da fila (mesma fila/ordem e lock otimista de pnpm agent:claim) e cria (ou reutiliza) o worktree dela. Claim falhou → reporte o motivo — não há worktree. --issue N claima a Issue direcionada (ready) ou reabre uma já claimada (in-progress, sem re-claim). A saída avisa "já claimada — NÃO rodar pnpm agent:claim". Por padrão o script imprime cd <dir> na última linha — aplique-o na sessão de shell atual (cd <dir>) e reporte o novo diretório. --stay suprime o cd (não troque de diretório) mas o claim ainda acontece. --go explícito continua aceito como no-op.
  • plan [bag] [--stay]: cria um worktree de planejamento diferente a cada invocação (branch plans/plan-issue-<bag>, ou plans/plan-issue-<n> sequencial sem bag; sufixo -2/-3 em colisão) para rodar /plan-issue sem ocupar o main; nunca conflita com next. Não claima nada. Mesmo contrato de cd do next: aplique a última linha cd <dir> por padrão; --stay suprime.
  • new [bag] [--stay]: cria um worktree neutro (sem função pré-definida — explorar ideia, conversar, planejar sem registrar nada) diferente a cada invocação (branch work/<bag>, ou work/<n> sequencial sem bag; sufixo -2/-3 em colisão); o prefixo minúsculo work/… nunca conflita com next nem plan. Não claima nada. Mesmo contrato de cd do plan: aplique a última linha cd <dir> por padrão; --stay suprime.
  • kill [--force]: destrói o worktree em que você está e remove seus bancos. O script imprime cd <main> na última linha — aplique-o (cd <main>) para a sessão sair do diretório destruído.

Este comando roda SEM o marcador TEQO_WORKTREE_TERMINAL, então nunca recebe a diretiva launch — só o cd. O launch do opencode (OPS26/OPS33) acontece apenas na função worktree() de .agents/shell/worktree.sh (terminal interativo); nunca abra um TUI aninhado a partir daqui.

!node scripts/worktree.mjs $ARGUMENTS