首页/DevOps/worktrunk
W

worktrunk

by @max-sixtyv1.0.0
0.0(0)

辅助使用Worktrunk管理Git Worktree,简化多分支并行开发的工作区创建和切换

git-worktreebranch-managementparallel-developmentcliGitHub
安装方式
npx skills add max-sixty/worktrunk --skill worktrunk
compare_arrows

Before / After 效果对比

1
使用前

手动执行git worktree命令管理多个工作目录,路径配置容易出错,切换工作区需要记忆目录位置,清理过期worktree靠人工排查

使用后

通过Worktrunk统一管理所有worktree,创建、切换和清理一键完成,自动维护工作区状态,多分支并行开发流畅无阻

description SKILL.md

worktrunk

Worktrunk

Help users work with Worktrunk, a CLI tool for managing git worktrees.

Available Documentation

Reference files are synced from worktrunk.dev documentation:

  • reference/config.md: User and project configuration (LLM, hooks, command defaults)

  • reference/hook.md: Hook types, timing, and execution order

  • reference/switch.md, merge.md, list.md, etc.: Command documentation

  • reference/llm-commits.md: LLM commit message generation

  • reference/tips-patterns.md: Language-specific tips and patterns

  • reference/shell-integration.md: Shell integration debugging

  • reference/troubleshooting.md: Troubleshooting for LLM and hooks (Claude-specific)

For command-specific options, run wt <command> --help. For configuration, follow the workflows below.

Two Types of Configuration

Worktrunk uses two separate config files with different scopes and behaviors:

User Config (~/.config/worktrunk/config.toml)

  • Scope: Personal preferences for the individual developer

  • Location: ~/.config/worktrunk/config.toml (never checked into git)

  • Contains: LLM integration, worktree path templates, command settings, user hooks, approved commands

  • Permission model: Always propose changes and get consent before editing

  • See: reference/config.md for detailed guidance

Project Config (.config/wt.toml)

  • Scope: Team-wide automation shared by all developers

  • Location: <repo>/.config/wt.toml (checked into git)

  • Contains: Hooks for worktree lifecycle (post-create, pre-merge, etc.)

  • Permission model: Proactive (create directly, changes are reversible via git)

  • See: reference/hook.md for detailed guidance

Determining Which Config to Use

When a user asks for configuration help, determine which type based on:

User config indicators:

  • "set up LLM" or "configure commit generation"

  • "change where worktrees are created"

  • "customize commit message templates"

  • Affects only their environment

Project config indicators:

  • "set up hooks for this project"

  • "automate npm install"

  • "run tests before merge"

  • Affects the entire team

Both configs may be needed: For example, setting up commit message generation requires user config, but automating quality checks requires project config.

Core Workflows

Setting Up Commit Message Generation (User Config)

Most common request. See reference/llm-commits.md for supported tools and exact command syntax.

Detect available tools

which claude codex llm aichat 2>/dev/null

If none installed, recommend Claude Code (already available in Claude Code sessions)

Propose config change — Get the exact command from reference/llm-commits.md

[commit.generation]
command = "..."  # see reference/llm-commits.md for tool-specific commands

Ask: "Should I add this to your config?"

After approval, apply

Check if config exists: wt config show

  • If not, guide through wt config create

  • Read, modify, write preserving structure

Suggest testing

wt step commit --show-prompt | head  # verify prompt builds
wt merge  # in a repo with uncommitted changes

Setting Up Project Hooks (Project Config)

Common request for workflow automation. Follow discovery process:

Detect project type

ls package.json Cargo.toml pyproject.toml

Identify available commands

For npm: Read package.json scripts

  • For Rust: Common cargo commands

  • For Python: Check pyproject.toml

Design appropriate hooks (7 hook types available)

Dependencies (fast, must complete) → post-create

  • Tests/linting (must pass) → pre-commit or pre-merge

  • Long builds, dev servers → post-start

  • Terminal/IDE updates → post-switch

  • Deployment → post-merge

  • Cleanup tasks → pre-remove

Validate commands work

npm run lint  # verify exists
which cargo   # verify tool exists

Create .config/wt.toml

# Install dependencies when creating worktrees
post-create = "npm install"

# Validate code quality before committing
[pre-commit]
lint = "npm run lint"
typecheck = "npm run typecheck"

# Run tests before merging
pre-merge = "npm test"

Add comments explaining choices

Suggest testing

wt switch --create test-hooks

See reference/hook.md for complete details.

Adding Hooks to Existing Config

When users want to add automation to an existing project:

Read existing config: cat .config/wt.toml

Determine hook type - When should this run?

Creating worktree (blocking) → post-create

  • Creating worktree (background) → post-start

  • Every switch → post-switch

  • Before committing → pre-commit

  • Before merging → pre-merge

  • After merging → post-merge

  • Before removal → pre-remove

Handle format conversion if needed

Single command to named table:

# Before
post-create = "npm install"

# After (adding db:migrate)
[post-create]
install = "npm install"
migrate = "npm run db:migrate"

Preserve existing structure and comments

Validation Before Adding Commands

Before adding hooks, validate:

# Verify command exists
which npm
which cargo

# For npm, verify script exists
npm run lint --dry-run

# For shell commands, check syntax
bash -n -c "if [ true ]; then echo ok; fi"

Dangerous patterns — Warn users before creating hooks with:

  • Destructive commands: rm -rf, DROP TABLE

  • External dependencies: curl http://...

  • Privilege escalation: sudo

Permission Models

User Config: Conservative

  • Never edit without consent - Always show proposed change and wait for approval

  • Never install tools - Provide commands for users to run themselves

  • Preserve structure - Keep existing comments and organization

  • Validate first - Ensure TOML is valid before writing

Project Config: Proactive

  • Create directly - Changes are versioned, easily reversible

  • Validate commands - Check commands exist before adding

  • Explain choices - Add comments documenting why hooks exist

  • Warn on danger - Flag destructive operations before adding

Common Tasks Reference

User Config Tasks

  • Set up commit message generation → reference/llm-commits.md

  • Customize worktree paths → reference/config.md#worktree-path-template

  • Custom commit templates → reference/llm-commits.md#templates

  • Configure command defaults → reference/config.md#command-settings

  • Set up personal hooks → reference/config.md#user-hooks

Project Config Tasks

  • Set up hooks for new project → reference/hook.md

  • Add hook to existing config → reference/hook.md#configuration

  • Use template variables → reference/hook.md#template-variables

  • Add dev server URL to list → reference/config.md#dev-server-url

Key Commands

# View all configuration
wt config show

# Create initial user config
wt config create

# LLM setup guide
wt config --help

Loading Additional Documentation

Load reference files for detailed configuration, hook specifications, and troubleshooting.

Find specific sections with grep:

grep -A 20 "## Setup" reference/llm-commits.md
grep -A 30 "### post-create" reference/hook.md
grep -A 20 "## Warning Messages" reference/shell-integration.md

Advanced: Agent Handoffs

When the user requests spawning a worktree with Claude in a background session ("spawn a worktree for...", "hand off to another agent"), use the appropriate pattern for their terminal multiplexer:

tmux (check $TMUX env var):

tmux new-session -d -s <branch-name> "wt switch --create <branch-name> -x claude -- '<task description>'"

Zellij (check $ZELLIJ env var):

zellij run -- wt switch --create <branch-name> -x claude -- '<task description>'

Requirements (all must be true):

  • User explicitly requests spawning/handoff

  • User is in a supported multiplexer (tmux or Zellij)

  • User's CLAUDE.md or explicit instruction authorizes this pattern

Do not use this pattern for normal worktree operations.

Example (tmux):

tmux new-session -d -s fix-auth-bug "wt switch --create fix-auth-bug -x claude -- \
  'The login session expires after 5 minutes. Find the session timeout config and extend it to 24 hours.'"

Example (Zellij):

zellij run -- wt switch --create fix-auth-bug -x claude -- \
  'The login session expires after 5 minutes. Find the session timeout config and extend it to 24 hours.'

Weekly Installs195Repositorymax-sixty/worktrunkGitHub Stars3.5KFirst SeenJan 20, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykWarnInstalled onopencode188github-copilot178gemini-cli178codex177amp174kimi-cli174

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月19日
对比案例1 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月19日
最后更新2026年3月19日