CLI para Worktree + Tmux + panes de agentes (Claude/Codex/Shell), com config YAML via yq (Mike Farah).
ln -s /home/psyctl/devtools/wt ~/.local/bin/wtGaranta que ~/.local/bin esteja no seu PATH (ex.: no ~/.bashrc).
wt gen-config
wt upwt upcria/reusa worktree + cria/reusa sessao tmux + abre layoutwt attachanexa na sessaowt lslista worktrees e sessoeswt rmremove worktree e mata sessao (safe)wt doctorchecagens de dependencias/ambientewt gen-configgera configs exemplo (global e repo)
--repo <path>--name <name>--branch <branch>--profile <name>--layout <name>--wt-parent <dir>--no-worktree--dry-run--yes--help/-h
Prioridade:
- flags CLI
<repo>/.wt.yaml~/.config/wt/config.yaml- defaults hardcoded
- Global:
~/.config/wt/config.yaml - Repo:
<repo>/.wt.yaml
Use wt gen-config para criar exemplos. O arquivo global ja vem com profiles e layouts padrao.
Para rodar wt fora do repo sem passar --repo, defina um repo default:
- config:
defaults.repo: "~/apps/robson" - ou env:
export WT_DEFAULT_REPO=~/apps/robson
Opcionalmente, defina defaults.branch / WT_DEFAULT_BRANCH e defaults.name / WT_DEFAULT_NAME
para evitar --branch e --name.
Exemplo:
defaults:
repo: "~/apps/robson"
branch: "memory-store"- Defina
profiles.defaultpara escolher o profile padrao. - As variaveis em
profiles.<name>.envsao expandidas com${VAR}do shell. - Valores sensiveis (TOKEN/KEY/SECRET) sao mascarados nos logs.
Layouts predefinidos:
default: 2 claude, 1 codex, 1 shell, run=truesolo: 0 claude, 0 codex, 2 shell, run=truereview: 0 claude, 1 codex, 1 shell, run=falseops: 0 claude, 0 codex, 2 shell, run=true
Voce pode criar novos layouts em layouts.<nome> no config.
Se quiser customizar os comandos dos panes, use env vars:
WT_CLAUDE_CMD(fallback geral, default:claude .)WT_CLAUDE_CMD_1(override do primeiro pane Claude)WT_CLAUDE_CMD_2(override do segundo pane Claude)WT_CODEX_CMD(default:codex)
Exemplo com suas funcoes de shell:
export WT_CLAUDE_CMD_1='claude-use-anthropic && claude .'
export WT_CLAUDE_CMD_2='claude-use-glm && claude .'
export WT_CODEX_CMD='codex'# workflow padrao no repo
wt up
# outro nome / branch
wt up --name fix-ops --branch fix/fix-ops
# layout review e profile anthropic
wt up --layout review --profile anthropic
# somente anexar
wt attach
# listar worktrees e sessoes
wt ls
# remover com seguranca
wt rm --yes
# dry-run para ver comandos/decisoes
wt up --dry-run- Logs:
~/.cache/wt/wt.log - Locks:
~/.cache/wt/locks/<hash_repo>-<name>.lock
yqausente (Mike Farah):- Debian/Ubuntu/Mint:
sudo snap install yq - ou local:
mkdir -p ~/.local/bin && curl -L https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -o ~/.local/bin/yq && chmod +x ~/.local/bin/yq - garanta PATH:
export PATH="$HOME/.local/bin:$PATH"
- Debian/Ubuntu/Mint:
tmuxausente: instale tmux e rodewt doctor.- Worktree ja em uso: escolha outro
--nameou--branch. - Branch ja esta no worktree principal:
wt upcai para o repo (no-worktree) e avisa; use--branch <novo>se quiser um worktree separado. - Sessao ja existe:
wt upvai anexar automaticamente. - Config invalido: valide com
wt doctor.