teqo-backup/.opencode/commands/worktree.md

4 KiB

description
Claima a próxima Issue (next [--issue N] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), cria o worktree dela e provisiona o ambiente; também cria worktree de planejamento (plan [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), worktree neutro (new [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), worktree de correção de bug (fix [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]) 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] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: 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. --cheap/--pro/--zen/--go/--alibaba/--glm/--free escolhe o modelo por invocação no mapa fixo WORKTREE_MODEL_MAP (cheap=cheapestinference/deepseek-v4-flash, pro=deepseek/deepseek-v4-pro, zen=opencode-go/ox-alpha-free, go=opencode-go/hy3, alibaba=alibaba-token-plan/deepseek-v4-flash, glm=opencode-go/glm-5.3-flash, free=openrouter/openrouter/free); at-most-one (múltiplas → erro).
  • plan [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: 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; flag de modelo como no next.
  • new [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: 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; flag de modelo como no next.
  • fix [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: cria um worktree de correção de bug (skill /bug-fix) diferente a cada invocação (branch fix/<bag>, ou fix/<n> sequencial sem bag; sufixo -2/-3 em colisão); o prefixo minúsculo fix/… nunca conflita com next, plan nem new. Não claima nem cria Issues — o registro do bug é o post-mortem da skill. O bag é a descrição do bug: no terminal, o launch carrega --argument="<bag>" e o driver destacado auto-submete /bug-fix <bag> (a descrição chega com a skill). Mesmo contrato de cd do plan: aplique a última linha cd <dir> por padrão; --stay suprime; flag de modelo como no next.
  • kill [--force]: destrói o worktree em que você está, encerra a sessão persistente do run (OPS110) 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 (OPS26/OPS33+OPS93+OPS95+OPS110: delega ao scripts/agent-session.mjs, que sobe o servidor compartilhado, dispara o driver destacado e anexa o TUI — fechar o terminal não encerra o run) 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