بنقرة واحدة
jb-worktree
Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when setting up or reviewing a development environment, especially Varlock env schemas, gitignored env files, macOS Keychain/local secret storage, SOPS/age optional GitOps secrets, CI secret access, dotenv bootstrapping, or secure local dev onboarding.
Use when the repo has .beans or the user mentions beans, beans-prime, flat-file issues, task tracking, or issue status changes.
Opinionated JB GitHub Actions release-attempt workflow. Use only when the repo already has .github/workflows/jb-release-v1.yaml (or equivalent JB release-attempt workflow) or the user explicitly asks to set it up. Do not use for ordinary local releases; use jb-local-release instead.
Use when the user asks to run a local release flow: prepare version/changelog changes, run local checks, commit, tag, and optionally publish only when explicitly requested.
Query MDN Web Docs through the official MDN MCP server using a persistent mcporter config, avoiding a direct MCP connection in the agent harness. Use when checking current web platform docs, CSS/HTML/JavaScript/Web API behavior, MDN browser compatibility data, Baseline support, or when the user asks whether a browser feature is supported.
Use when the user asks for Chrome MCP/DevTools MCP via mcporter, existing Chrome tabs, console/network inspection, screenshots, or performance traces.
| name | jb-worktree |
| description | Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp. |
| homepage | https://github.com/satococoa/wtp |
| metadata | {"clawdbot":{"emoji":"🌳","requires":{"bins":["wtp"]},"install":[{"id":"brew","kind":"brew","formula":"satococoa/tap/wtp","bins":["wtp"],"label":"Install wtp (brew)"}]}} |
| skill_author | bjesuiter |
Based on satococoa's wtp workflow: https://dev.to/satococoa/wtp-a-better-git-worktree-cli-tool-4i8l
Use wtp instead of raw git worktree when you want predictable paths, easier branch handling, setup hooks, and fast navigation.
wtp init creates a starter .wtp.yml in the repo rootwtp add feature/auth creates ../worktrees/feature/auth automaticallywtp add can create or reuse local/remote branches.wtp.yml can copy .env, create symlinks, and run bootstrap commandswtp cd and wtp exec make navigation and command execution easierwtp remove --with-branch cleans up both the worktree and its branchbrew install satococoa/tap/wtp
Alternative:
go install github.com/satococoa/wtp/v2/cmd/wtp@latest
# Create a starter .wtp.yml in the repository root
wtp init
# Create a worktree from an existing branch
wtp add feature/auth
# Create a new branch + worktree
wtp add -b feature/new-ui
# Create from a specific base ref
wtp add -b hotfix/login origin/main
# List all worktrees
wtp list
# Print the absolute path for a worktree
wtp cd feature/auth
wtp cd @
# Run a command inside a worktree
wtp exec feature/auth -- npm test
# Remove a worktree
wtp remove feature/auth
# Remove a worktree and delete its branch too
wtp remove --with-branch feature/auth
When the user asks to work in a separate branch or isolated checkout:
.wtp.yml; if not, prefer wtp initbun.lock or bun.lockb exists, use bun installpnpm-lock.yaml exists, use pnpm install --frozen-lockfilepackage-lock.json and no Bun lockfile, use pnpm install by default, and prefer pnpm install --frozen-lockfile when reproducibility matterswtp listwtp add ...cd "$(wtp cd <name>)" && ...wtp exec <name> -- <command>wtp remove --with-branch <name>Prefer:
wtp add -b <branch> for new workwtp add <branch> when the branch already exists locally or remotelywtp exec <name> -- <command> for one-off commandsAvoid force removal of dirty worktrees unless the user explicitly asks.
wtp initUse this first in repos that do not have a config yet:
wtp init
It creates .wtp.yml in the repository root with a starter configuration and example hooks. If .wtp.yml already exists, wtp init errors instead of overwriting it.
.wtp.ymlwtp init gives you a starter file. Customize the post_create install command based on the repo lockfile:
bun.lock or bun.lockb present → bun installpnpm-lock.yaml present → pnpm install --frozen-lockfilepackage-lock.json present and no Bun lockfile → pnpm install by default, or pnpm install --frozen-lockfile for stricter reproducible installsExample for a Bun repo:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "bun install"
- type: command
command: "npm run db:setup"
Example for a repo with pnpm-lock.yaml:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "pnpm install --frozen-lockfile"
- type: command
command: "npm run db:setup"
Example for a repo with a pure package-lock.json setup:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "pnpm install"
- type: command
command: "npm run db:setup"
This is especially useful for repos that need local env files, shared tool directories, or bootstrap commands in every new worktree.
For interactive shells, enable completions and navigation hooks:
eval "$(wtp shell-init zsh)"
# or
# eval "$(wtp shell-init bash)"
# wtp shell-init fish | source
Then wtp cd feature/auth can switch directly in the shell, and interactive wtp add can auto-switch into the new worktree.
# Return to the main worktree
wtp cd @
# Run tests in the main worktree
wtp exec @ -- npm test
# Force remove a dirty worktree only when you are sure
wtp remove --force feature/auth
# Remove worktree and force-delete its branch
wtp remove --with-branch --force-branch feature/auth
../worktreeswtp cd is also useful in scripts because it prints the resolved absolute path