Skip to content

ldamasio/wt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

wt CLI (v1)

CLI para Worktree + Tmux + panes de agentes (Claude/Codex/Shell), com config YAML via yq (Mike Farah).

Instalacao

ln -s /home/psyctl/devtools/wt ~/.local/bin/wt

Garanta que ~/.local/bin esteja no seu PATH (ex.: no ~/.bashrc).

Uso rapido

wt gen-config
wt up

Subcomandos

  • wt up cria/reusa worktree + cria/reusa sessao tmux + abre layout
  • wt attach anexa na sessao
  • wt ls lista worktrees e sessoes
  • wt rm remove worktree e mata sessao (safe)
  • wt doctor checagens de dependencias/ambiente
  • wt gen-config gera configs exemplo (global e repo)

Flags globais

  • --repo <path>
  • --name <name>
  • --branch <branch>
  • --profile <name>
  • --layout <name>
  • --wt-parent <dir>
  • --no-worktree
  • --dry-run
  • --yes
  • --help / -h

Regras de resolucao

Prioridade:

  1. flags CLI
  2. <repo>/.wt.yaml
  3. ~/.config/wt/config.yaml
  4. defaults hardcoded

Configuracao

Arquivos

  • 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.

Defaults (atalhos)

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"

Profiles

  • Defina profiles.default para escolher o profile padrao.
  • As variaveis em profiles.<name>.env sao expandidas com ${VAR} do shell.
  • Valores sensiveis (TOKEN/KEY/SECRET) sao mascarados nos logs.

Layouts

Layouts predefinidos:

  • default: 2 claude, 1 codex, 1 shell, run=true
  • solo: 0 claude, 0 codex, 2 shell, run=true
  • review: 0 claude, 1 codex, 1 shell, run=false
  • ops: 0 claude, 0 codex, 2 shell, run=true

Voce pode criar novos layouts em layouts.<nome> no config.

Comandos dos agentes (env)

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'

Exemplos do dia a dia

# 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 e lock

  • Logs: ~/.cache/wt/wt.log
  • Locks: ~/.cache/wt/locks/<hash_repo>-<name>.lock

Troubleshooting

  • yq ausente (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"
  • tmux ausente: instale tmux e rode wt doctor.
  • Worktree ja em uso: escolha outro --name ou --branch.
  • Branch ja esta no worktree principal: wt up cai para o repo (no-worktree) e avisa; use --branch <novo> se quiser um worktree separado.
  • Sessao ja existe: wt up vai anexar automaticamente.
  • Config invalido: valide com wt doctor.

About

A workflow orchestration CLI that turns complex development environments into a repeatable, scalable system, integrating Git worktrees, tmux-based workspaces, and AI-assisted execution through YAML-driven configuration. Designed for high-performance engineering teams and open-source builders.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages