wt

module
v0.10.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2026 License: MIT

README

wt

wtgit worktree 운영을 단순화하는 CLI입니다. 브랜치별 워크트리 생성/탐색/정리 흐름을 표준화해서, 반복적인 Git 명령과 실수 가능성을 줄이는 것이 목적입니다. 특히 여러 에이전트를 병렬로 돌리는 agentic coding 환경에서 worktree 수가 빠르게 늘어나는 상황을 쉽게 관리하는 것도 핵심 목적입니다.

Purpose

  • 워크트리 경로를 빠르게 찾고(wt path) 셸에서 바로 이동 가능한 출력 제공
  • 브랜치별 워크트리를 안전하게 생성/재사용(wt create, wt path --create)
  • stale/prunable entry와 안전 제거 대상을 분리해 정리(wt prune, wt remove, wt cleanup)
  • 스크립트 친화 출력(--json, --porcelain)과 사람 친화 기본 출력의 균형 유지

Installation

권장 설치(릴리즈 태그 기준):

go install github.com/crevissepartners/wt/cmd/wt@latest

로컬 소스에서 설치:

go install ./cmd/wt

버전 확인:

wt --version

Quick Start

# 1) 현재 repo의 worktree 상태 확인
wt list

# 2) query로 worktree 경로 찾기
wt path feature/login

# 3) 없으면 생성하면서 경로 얻기
wt path --create feature/login

# 4) 안전하게 정리(미리보기)
wt prune
wt remove feature/login --dry-run

셸 helper를 쓰면 cd 흐름이 더 간단해집니다.

eval "$(wt init zsh)"
wtg feature/login   # == cd "$(wt path feature/login)"

Core Commands

Command 용도
wt list registered worktree 목록 조회
wt path [query] query에 맞는 worktree 경로 출력 (path-only)
wt create <branch> 브랜치용 worktree 생성/재사용
wt root primary repo root 출력
wt run <query> -- <cmd...> 선택된 worktree에서 명령 실행
wt remove [query] 안전 규칙 기반 worktree 제거
wt prune prunable entry 미리보기/정리
wt cleanup 추천 액션(prune/remove) 일괄 처리
wt doctor 환경/설치/컨텍스트 진단
wt upgrade 릴리즈 버전으로 자체 업그레이드
wt init <shell> 셸 함수 출력 (wtr, wtg, wcd)

상세 동작/옵션은 docs/spec/cli.md를 참고하세요.

Common Workflows

생성/이동:

wt create feature/a
cd "$(wt path feature/a)"

없으면 생성 후 이동:

cd "$(wt path --create feature/a)"

특정 워크트리에서 테스트 실행:

wt run feature/a -- go test ./...

정리(권장 순서):

wt prune              # stale entry preview
wt prune --apply      # stale entry prune
wt cleanup            # remove/prune 추천 액션 preview
wt cleanup --apply    # 안전 기준 만족 항목만 실제 적용

Upgrade & Release

최신 릴리즈로 업그레이드:

wt upgrade

주의:

  • wt upgradePATH로 찾은 설치된 wt만 업그레이드한다.
  • 레포 안의 ./wt 같은 로컬 빌드 바이너리에서 실행하면 실패하고 wt upgrade로 다시 실행하라고 안내한다.

특정 버전으로 업그레이드:

wt upgrade --version v0.10.2

실행 명령만 확인:

wt upgrade --dry-run

릴리즈 정책/태그 규칙은 docs/release/process.md를 참고하세요.

Safety Rules

  • 파괴적 동작은 기본값으로 실행하지 않습니다.
  • remove/prune 계열은 preview/confirm 흐름을 우선합니다.
  • 정상 출력은 stdout, 에러/안내는 stderr를 사용합니다.
  • TUI는 stdin/stderr가 모두 TTY일 때만 동작합니다.

Agent Skill Registration

wt-worktree 스킬을 등록하면 Claude/Codex에서 동일한 worktree 운영 규칙을 재사용할 수 있습니다.

현재 권장 구조는 사용자 작성 스킬을 dotfiles에 두고, 각 도구의 skill loader가 읽는 위치에 복사하거나 symlink하는 방식입니다.

<dotfiles>/.claude/skills/wt-worktree/SKILL.md
<dotfiles>/.codex/skills/wt-worktree/SKILL.md

도구별 전역 등록 대상:

Claude Code: ~/.claude/skills/wt-worktree/SKILL.md
Codex:      $CODEX_HOME/skills/wt-worktree/SKILL.md

Codex의 $CODEX_HOME/skills/.system/*는 번들 시스템 스킬 영역이므로 wt-worktree 같은 사용자 스킬 등록 대상으로 사용하지 않습니다. Claude Code는 필요하면 리포 전용 .claude/skills/wt-worktree/SKILL.md도 둘 수 있습니다.

스킬 파일에는 아래 흐름을 포함해야 합니다.

  • wt --version, wt list 선확인
  • wt path --create <branch>로 작업 경로 확보
  • wt run <branch> -- <cmd...>로 실행
  • wt prune/wt cleanup preview 후 정리
  • 에이전트가 worktree path에서 Git 명령을 실행할 때는 cd <path> && git ... 대신 git -C <path> ... 사용

상세 템플릿과 도구별 차이는 docs/ux/agents.md를 참고하세요. 레포에 포함된 복붙용 샘플은 docs/examples/skills/wt-worktree/SKILL.md 입니다.

Documentation

Development

make build
make test
make premerge

License

MIT. See LICENSE.

Directories

Path Synopsis
cmd
wt command
internal
git

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL