Skip to main content

prp-worktree

Git-native worktree management via a bundled single-file CLI - create, list (with per-worktree git stats), and safely tear down isolated checkouts under .worktrees/ for parallel workstreams. Use when the user or an orchestrating skill wants to "create a worktree", "work on this in a separate worktree", "spin up an isolated checkout", "list my worktrees", "clean up / remove a worktree", or invokes $prp-worktree.

معلومات المصدر

المستودع
Wirasm/PRPs-agentic-eng
آخر نشاط في المصدر
١٥ يوليو ٢٠٢٦ في ١٤:٥٧
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٬٢٢٤
التفرعات
٦١٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
prp-worktree
description
Git-native worktree management via a bundled single-file CLI - create, list (with per-worktree git stats), and safely tear down isolated checkouts under .worktrees/ for parallel workstreams. Use when the user or an orchestrating skill wants to "create a worktree", "work on this in a separate worktree", "spin up an isolated checkout", "list my worktrees", "clean up / remove a worktree", or invokes $prp-worktree.
> **Arguments:** `$ARGUMENTS` (and `$1`, `$2`, ...) refer to the arguments given when this skill was invoked. Take them from the user's request; if absent, infer them from the conversation. # PRP Worktree Manage isolated git worktrees for parallel workstreams with one bundled script — deterministic create/teardown with safety rails, instead of improvised `git worktree` incantations. **Input**: $ARGUMENTS (if absent, infer the subcommand and worktree name from the conversation). ## Run it All operations are one command (never re-implement them with raw git): ```bash uv run .agents/skills/prp-worktree/scripts/worktree.py create <name> [--base <branch>] uv run .agents/skills/prp-worktree/scripts/worktree.py list [--base <branch>] [--json] uv run .agents/skills/prp-worktree/scripts/worktree.py remove <name> [--force] [--delete-branch] ``` - **create** — worktree at `.worktrees/<name>` on branch `<name>` (new from `--base`, or checked out if the branch already exists). Prints the absolute worktree path as its **final line** — `cd` there to start working. - **list** — every managed worktree with branch, ahead/behind vs base, dirty file count, diffstat (`files +ins/-dels`), merged-into-base, and last-commit age. `--json` for machine consumption. - **remove** — refuses if the worktree has uncommitted changes (`--force` discards). The branch is kept by default (with a pushed-to-origin report); `--delete-branch` deletes it only if merged into base (`--force` overrides). Never force without first investigating what would be lost. ## Conventions - Worktrees live **inside the repo** at `.worktrees/<name>` — within sandbox-writable roots on any agent harness — and are auto-excluded from git via `.git/info/exclude`; they never appear in `git status`. - Branch name = worktree name (slashes allowed in branch; directory name flattens `/` to `-`). - Default `--base` is the repo's default branch (origin HEAD), falling back to the current branch. - The script always operates on the **main checkout**, wherever it is run from — including from inside a worktree. ## Gotchas - Requires `uv` and `git` on PATH; the script is stdlib-only (PEP 723, Python ≥ 3.10). - `remove` deletes the checkout, not the work: commits live on the branch and survive; only `--force` on a dirty worktree discards uncommitted changes. - Orchestrating skills compose this by name ("use the prp-worktree skill to create `<name>`") — one worktree per parallel agent prevents checkout collisions. ## Resources - `scripts/worktree.py` — the CLI (run it, don't read it); `--help` on any subcommand for exact flags.
عرض على GitHub