Skip to content

Tooling: parallel worktrees with worktrunk, outside the repository and based on the release branch #265

Closed

Description

@CaffeinatedCoder

Parallel bugfix and feature work runs in many worktrees at once (2.3.1 had ten PRs in flight). Today those are the desktop app's .claude/worktrees/<name>, kept out of git add -A only by .git/info/exclude, and agent worktrees start from origin/main, not the release branch.

Adopt worktrunk (wt) for it, adapted from a handoff measured in another repository:

  • worktrees beside the repository (../CodoMetis.TypeKit-worktrees/<branch>), set per machine in worktrunk's user config;
  • worktrunk's default branch set to the open release branch (wt config state default-branch set release/2.4.0), so wt switch -c, the Claude Code plugin's agent worktrees, wt remove and wt step prune all base on and judge "merged" against release/<version>, not main;
  • .claude/worktrees/ in the tracked .gitignore;
  • the Bash guard refuses wt merge and the wt step building blocks that squash, rebase or push into a target (squash, rebase, push): work reaches a release branch by a PR and a merge commit (decision 94);
  • no .worktreeinclude and no copy hook: a fresh worktree needs no gitignored file to build (measured 2026-10-31: the solution cold in 27 s, the tools in 2 s, nothing copied in);
  • a runbook linked from AGENTS.md, and a decision record.

Done when a worktree made by wt switch -c builds and tests from cold, the guard's new rule is shown to fail against a seeded defect, and the runbook says how to start, list, land and clean up.

The decision record is 0126: 0122 to 0124 are taken by the stack #188, #189, #190 and 0125 by the third-party-licenses work, so this lands after them (DesignRecordTests refuses a gap).

Activity

  1. added this to the 2.4.0 milestone on Oct 31, 2026
  2. added
    choreBuild, CI, tooling, packaging, refactoring with no behaviour change
    area/toolingThe repository's tools: prober, verdict, guard, docs-query, smoke test
    on Oct 31, 2026
  3. CaffeinatedCoder commented on Oct 31, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Landed on release/2.4.0 by #266 (merge commit af3f95e). Decision 126 and design/worktrees.md hold the setup; the Bash guard refuses wt merge and wt step squash|rebase|push.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/toolingThe repository's tools: prober, verdict, guard, docs-query, smoke testchoreBuild, CI, tooling, packaging, refactoring with no behaviour change

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions