<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Git Worktree Management on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/git-worktree-management/</link>
        <description>Recent content in Git Worktree Management on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 03 Nov 2026 23:07:14 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/git-worktree-management/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>worktrunk</title>
        <link>https://producthunt.programnotes.cn/en/p/worktrunk/</link>
        <pubDate>Tue, 03 Nov 2026 23:07:14 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/worktrunk/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1658604872041-172a440e6d78?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3OTM3MTgzNjN8&amp;ixlib=rb-4.1.0" alt="Featured image of post worktrunk" /&gt;&lt;h1 id=&#34;max-sixtyworktrunk&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/worktrunk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;max-sixty/worktrunk&lt;/a&gt;
&lt;/h1&gt;&lt;!-- markdownlint-disable MD033 --&gt;
&lt;h1&gt;&lt;img src=&#34;docs/public/logo.png&#34; alt=&#34;Worktrunk logo&#34; width=&#34;50&#34; align=&#34;absmiddle&#34;&gt;&amp;nbsp;&amp;nbsp;Worktrunk&lt;/h1&gt;
&lt;!-- Crates.io badge below disabled while shields.io is rate-limited by crates.io
     (renders &#34;CRATES.IO: INVALID&#34;). Tracking: badges/shields#11879. Restore once fixed.
     [![Crates.io](https://img.shields.io/crates/v/worktrunk?style=for-the-badge&amp;logo=rust)](https://crates.io/crates/worktrunk)
--&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/docs-worktrunk.dev-blue?style=for-the-badge&amp;amp;logo=gitbook&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docs&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://opensource.org/licenses/MIT&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue?style=for-the-badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License: MIT OR Apache-2.0&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/worktrunk/actions?query=branch%3Amain&amp;#43;workflow%3Aci&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/max-sixty/worktrunk/ci.yaml?event=push&amp;amp;branch=main&amp;amp;style=for-the-badge&amp;amp;logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CI&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://codecov.io/gh/max-sixty/worktrunk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/codecov/c/github/max-sixty/worktrunk?style=for-the-badge&amp;amp;logo=codecov&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Codecov&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/worktrunk/stargazers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/stars/max-sixty/worktrunk?style=for-the-badge&amp;amp;logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Stars&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/tend&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/maintained_with-tend-bba580?style=for-the-badge&amp;amp;logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI&amp;#43;PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwxNikgc2NhbGUoMC4wMTI1LC0wLjAxMjUpIiBmaWxsPSIjZmZmIiBzdHJva2U9Im5vbmUiPjxwYXRoIGQ9Ik02ODAgMTEyOCBjNjIgLTk2IDY5IC0xNzggMjAgLTI0MSAtMTcgLTIyIC0yMCAtNDAgLTIwIC0xMzQgbDEgLTEwOCAyMSAyOCBjMTEgMTYgMzAgNDcgNDIgNzAgMTIgMjIgMzIgNDkgNDYgNTkgMzcgMjcgMTE0IDM4IDE4NCAyNyA5MyAtMTUgOTQgLTE4IDQ0IC03OSAtNzIgLTg4IC0xMDkgLTExMyAtMTc2IC0xMTcgLTMxIC0yIC02NCAxIC03MiA2IC0yMyAxNSAyMSA1NiAxMDcgOTggNDAgMjAgNzEgMzggNjkgNDAgLTYgNyAtODggLTE3IC0xMjYgLTM3IC00OSAtMjUgLTEwMCAtNzggLTEyMSAtMTI1IC0xNSAtMzMgLTE5IC02NiAtMTkgLTE4OCAwIC0xNTcgOCAtMTk1IDUwIC0yMzIgMTcgLTE2IDM2IC0yMCA4NSAtMTkgNjIgMSA2MyAxIDczIC0zMiA5IC0zMiA5IC0zMyAtMjIgLTQwIC01MCAtMTIgLTEzMiAtNyAtMTY0IDEwIC00MCAyMSAtNzkgNjkgLTkyIDExNCAtNSAyMCAtMTAgMTAyIC0xMCAxODIgMCA4MCAtNSAxNjIgLTExIDE4NCAtMjIgNzkgLTEzNSAxNjYgLTIzNCAxODEgLTM3IDYgLTM1IDMgMzAgLTI4IDc4IC0zOSAxNDQgLTkxIDEzMiAtMTA0IC01IC00IC0zNyAtOCAtNzEgLTggLTc3IDAgLTExNyAyNCAtMTgyIDEwOSAtNTIgNjggLTUxIDcwIDQyIDg1IDcxIDExIDE0MyAwIDE4MyAtMjkgMTYgLTExIDQwIC00MyA1NCAtNzMgMTMgLTI5IDMyIC01OSA0MSAtNjYgMTQgLTEyIDE2IC03IDE2IDU4IDAgNTkgNCA3NyAyMyAxMDIgMTkgMjYgMjMgNDYgMjUgMTMwIDMgNjcgMCA5OSAtNyA5OSAtNyAwIC0xMSAtMjMgLTEyIC01NyAwIC0zMiAtNiAtNzYgLTEyIC05NyBsLTEyIC00MCAtMjcgMzIgYy0zNCA0MSAtNDMgOTYgLTI0IDE1MSAxNCA0MSA3NSAxNDEgODYgMTQxIDMgMCAyMSAtMjQgNDAgLTUyeiIvPjwvZz48L3N2Zz4K&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;maintained with tend&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;November 2026&lt;/strong&gt;: Worktrunk was &lt;a class=&#34;link&#34; href=&#34;https://x.com/max_sixty/status/2006077845391724739?s=20&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;released&lt;/a&gt; at the start of the year, and has quickly become the most popular git worktree manager. It&amp;rsquo;s built with love (there&amp;rsquo;s no slop!). Please let me know any frictions at all; I&amp;rsquo;m intensely focused on continuing to make Worktrunk excellent, and the biggest help is folks posting problems they perceive.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Worktrunk is a CLI for git worktree management, designed for running AI agents in parallel.&lt;/p&gt;
&lt;p&gt;Worktrunk&amp;rsquo;s three core commands make worktrees as easy as branches. Plus, Worktrunk has a bunch of quality-of-life features to simplify working with many parallel changes, including hooks to automate local workflows &amp;amp; copy-on-write build caches.&lt;/p&gt;
&lt;p&gt;A quick demo:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.jsdelivr.net/gh/max-sixty/worktrunk-assets@main/assets/docs/light/wt-core.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Worktrunk Demo&#34;
	
	
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id=&#34;-full-documentation-at-worktrunkdev-&#34;&gt;📚 Full documentation at &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;worktrunk.dev&lt;/a&gt; 📚
&lt;/h3&gt;&lt;/blockquote&gt;
&lt;!-- ⚠️ AUTO-GENERATED from docs/src/content/docs/worktrunk.md#context-git-worktrees..worktrunk-makes-git-worktrees-as-easy-as-branches — edit source to update --&gt;
&lt;h2 id=&#34;context-git-worktrees&#34;&gt;Context: git worktrees
&lt;/h2&gt;&lt;p&gt;AI agents like Claude Code and Codex can handle longer tasks without
supervision, such that it&amp;rsquo;s possible to manage 5-10+ in parallel. Git&amp;rsquo;s native
worktree feature gives each agent its own working directory, so they don&amp;rsquo;t step
on each other&amp;rsquo;s changes.&lt;/p&gt;
&lt;p&gt;But the git worktree UX is clunky. Even a task as small as starting a new
worktree requires typing the branch name three times: &lt;code&gt;git worktree add -b feat ../repo.feat&lt;/code&gt;, then &lt;code&gt;cd ../repo.feat&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;worktrunk-makes-git-worktrees-as-easy-as-branches&#34;&gt;Worktrunk makes git worktrees as easy as branches
&lt;/h2&gt;&lt;p&gt;Worktrees are addressed by branch name; paths are computed from a configurable template. Commands that take a branch also accept the path of the worktree it is checked out in.&lt;/p&gt;
&lt;p class=&#34;workflow-stage&#34;&gt;Start with the core commands&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Core commands:&lt;/strong&gt;&lt;/p&gt;
&lt;table class=&#34;cmd-compare&#34;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Task&lt;/th&gt;
      &lt;th&gt;Worktrunk&lt;/th&gt;
      &lt;th&gt;Plain git&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Switch worktrees&lt;/td&gt;
      &lt;td data-label=&#34;Worktrunk&#34;&gt;&lt;code&gt;wt switch feat&lt;/code&gt;&lt;/td&gt;
      &lt;td data-label=&#34;Plain git&#34;&gt;&lt;code&gt;cd ../repo.feat&lt;/code&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Create + start Claude&lt;/td&gt;
      &lt;td data-label=&#34;Worktrunk&#34;&gt;&lt;code&gt;wt switch -c -x claude feat&lt;/code&gt;&lt;/td&gt;
      &lt;td data-label=&#34;Plain git&#34;&gt;&lt;pre&gt;&lt;code&gt;git worktree add -b feat ../repo.feat &amp;&amp; \
cd ../repo.feat &amp;&amp; \
claude&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Clean up&lt;/td&gt;
      &lt;td data-label=&#34;Worktrunk&#34;&gt;&lt;code&gt;wt remove&lt;/code&gt;&lt;/td&gt;
      &lt;td data-label=&#34;Plain git&#34;&gt;&lt;pre&gt;&lt;code&gt;cd ../repo &amp;&amp; \
git worktree remove ../repo.feat &amp;&amp; \
git branch -d feat&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;List with status&lt;/td&gt;
      &lt;td data-label=&#34;Worktrunk&#34;&gt;&lt;code&gt;wt list&lt;/code&gt;&lt;/td&gt;
      &lt;td data-label=&#34;Plain git&#34;&gt;&lt;span class=&#34;cmd-compare-value&#34;&gt;&lt;code&gt;git worktree list&lt;/code&gt; (paths only)&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class=&#34;workflow-stage&#34;&gt;Expand into the more advanced commands as needed&lt;/p&gt;
&lt;p class=&#34;workflow-heading&#34;&gt;&lt;strong&gt;Workflow automation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/hook/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hooks&lt;/a&gt;&lt;/strong&gt; — run commands on create, pre-merge, post-merge, etc&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/llm-commits/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LLM commit messages&lt;/a&gt;&lt;/strong&gt; — generate commit messages from diffs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/merge/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Merge workflow&lt;/a&gt;&lt;/strong&gt; — squash, rebase, merge, clean up in one command&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/switch/#interactive-picker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Interactive picker&lt;/a&gt;&lt;/strong&gt; — browse worktrees with streaming CI status and diff, log, PR and comment previews&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/step/#wt-step-copy-ignored&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Share build caches&lt;/a&gt;&lt;/strong&gt; — ten worktrees get &lt;code&gt;target/&lt;/code&gt;, &lt;code&gt;node_modules/&lt;/code&gt;, etc without building or copying them (on APFS, btrfs, and XFS)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/#full-mode&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt list --full&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; — &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/#ci-status&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CI status&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/#llm-summaries&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AI-generated summaries&lt;/a&gt; per branch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/switch/#pull-requests-and-merge-requests&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PR checkout&lt;/a&gt;&lt;/strong&gt; — &lt;code&gt;wt switch pr:123&lt;/code&gt; to jump straight to a PR&amp;rsquo;s branch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/tips-patterns/#dev-server-per-worktree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dev server per worktree&lt;/a&gt;&lt;/strong&gt; — &lt;code&gt;hash_port&lt;/code&gt; template filter gives each worktree a unique port&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/extending/#aliases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aliases&lt;/a&gt; &amp;amp; &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/config/#wt-config-state-vars&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;per-branch variables&lt;/a&gt;&lt;/strong&gt; — custom &lt;code&gt;wt &amp;lt;name&amp;gt;&lt;/code&gt; commands and branch-scoped state for hook templates&lt;/li&gt;
&lt;li&gt;&amp;hellip;and &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;#next-steps&#34; &gt;lots more&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Multiple parallel agents, same simple commands:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/max-sixty/worktrunk-assets/main/assets/docs/light/wt-zellij-omnibus.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Worktrunk omnibus demo: multiple Claude agents in Zellij tabs with hooks, LLM commits, and merge workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;!-- END AUTO-GENERATED --&gt;
&lt;!-- ⚠️ AUTO-GENERATED from docs/src/content/docs/worktrunk.md#install..next-steps — edit source to update --&gt;
&lt;h2 id=&#34;install&#34;&gt;Install
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Homebrew (macOS &amp;amp; Linux):&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install worktrunk &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; wt config shell install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Shell integration allows commands to change directories.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cargo:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install worktrunk &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; wt config shell install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Windows &amp; other&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Windows.&lt;/strong&gt; &lt;code&gt;wt&lt;/code&gt; defaults to Windows Terminal&amp;rsquo;s command, so Winget additionally installs Worktrunk as &lt;code&gt;git-wt&lt;/code&gt; to avoid the conflict:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;winget install max-sixty.worktrunk
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git-wt config shell install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Alternatively, disable Windows Terminal&amp;rsquo;s alias (Settings → Apps → Advanced app settings → App execution aliases → &amp;ldquo;Terminal&amp;rdquo;/&amp;ldquo;Terminal Preview&amp;rdquo;) to use &lt;code&gt;wt&lt;/code&gt; directly.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Free code signing provided by &lt;a class=&#34;link&#34; href=&#34;https://signpath.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SignPath.io&lt;/a&gt;, certificate by &lt;a class=&#34;link&#34; href=&#34;https://signpath.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SignPath Foundation&lt;/a&gt; — &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/code-signing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;policy&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Arch Linux:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S worktrunk &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; wt config shell install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Conda / Pixi&lt;/strong&gt; (community-maintained &lt;a class=&#34;link&#34; href=&#34;https://github.com/conda-forge/worktrunk-feedstock&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;feedstock&lt;/a&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;conda install -c conda-forge worktrunk &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; wt config shell install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or with &lt;a class=&#34;link&#34; href=&#34;https://pixi.sh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pixi&lt;/a&gt;: &lt;code&gt;pixi global install worktrunk &amp;amp;&amp;amp; wt config shell install&lt;/code&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;Quick start
&lt;/h2&gt;&lt;p&gt;Create a worktree for a new feature:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; wt switch --create feature-auth
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;✓ Created branch feature-auth from main and worktree @ ~/repo.feature-auth
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This creates a new branch and worktree, then switches to it. Do your work, then check all worktrees with &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt list&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; wt list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;  Branch        Status      HEAD±     main↕    main…±    Remote⇅  Commit    Age  Message
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;@ feature-auth  +   ↑      +27   -8   ↑1       +31                4bc72dc    2h  Add authenticatio…
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;^ main              ^⇡                                    ⇡1      0e631ad    1d  Initial commit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;○ Showing 2 worktrees, 1 with changes, 1 ahead, hidden: Path
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;@&lt;/code&gt; marks the current worktree. &lt;code&gt;+&lt;/code&gt; means staged changes, &lt;code&gt;↑1&lt;/code&gt; means 1 commit ahead of main, &lt;code&gt;⇡&lt;/code&gt; means unpushed commits.&lt;/p&gt;
&lt;p&gt;When done, either:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PR workflow&lt;/strong&gt; — commit, push, open a PR, merge via GitHub/GitLab, then clean up:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wt step commit                    &lt;span class=&#34;c1&#34;&gt;# commit staged changes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr create                      &lt;span class=&#34;c1&#34;&gt;# or glab mr create&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wt remove                         &lt;span class=&#34;c1&#34;&gt;# after PR is merged&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Local merge&lt;/strong&gt; — squash, rebase onto main, fast-forward merge, clean up:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; wt merge main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;◎ Generating commit message and committing changes... (2 files, +53, no squashing needed)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;  Add authentication module
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;✓ Committed changes @ a1b2c3d
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;◎ Merging 1 commit to main @ a1b2c3d (no rebase needed)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;  * a1b2c3d Add authentication module
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;   auth.rs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;   lib.rs  |  2 ++
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;   2 files changed, 53 insertions(+)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;✓ Merged to main (1 commit, 2 files, +53)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;◎ Removing feature-auth worktree &amp;amp; branch in background (same commit as main, _)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;○ Switched to worktree for main @ ~/repo
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For parallel agents, create multiple worktrees and launch an agent in each:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wt switch -x claude -c feature-a -- &lt;span class=&#34;s1&#34;&gt;&amp;#39;Add user authentication&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wt switch -x claude -c feature-b -- &lt;span class=&#34;s1&#34;&gt;&amp;#39;Fix the pagination bug&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wt switch -x claude -c feature-c -- &lt;span class=&#34;s1&#34;&gt;&amp;#39;Write tests for the API&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;-x&lt;/code&gt; flag runs a command after switching; arguments after &lt;code&gt;--&lt;/code&gt; are passed to it. Configure &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/hook/#hook-types&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;post-start hooks&lt;/a&gt; to automate setup (install deps, start dev servers).&lt;/p&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Learn the core commands: &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/switch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt switch&lt;/code&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt list&lt;/code&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/merge/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt merge&lt;/code&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/remove/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;wt remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Set up &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/hook/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hooks&lt;/a&gt; for automated setup&lt;/li&gt;
&lt;li&gt;Explore &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/llm-commits/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LLM commit messages&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/switch/#interactive-picker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;interactive
picker&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/claude-code/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code integration&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/list/#ci-status&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CI
status &amp;amp; PR links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Browse &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/tips-patterns/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tips &amp;amp; patterns&lt;/a&gt; for recipes: aliases, dev servers, databases, agent handoffs, and more&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev/extending/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Extending Worktrunk&lt;/a&gt; — customize workflows with hooks &amp;amp; aliases&lt;/li&gt;
&lt;li&gt;Watch &lt;a class=&#34;link&#34; href=&#34;https://youtu.be/WBQiqr6LevQ?t=345&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@DevOpsToolbox&amp;rsquo;s video on Worktrunk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;wt --help&lt;/code&gt; or &lt;code&gt;wt &amp;lt;command&amp;gt; --help&lt;/code&gt; for quick CLI reference&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- END AUTO-GENERATED --&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;⭐ Star the repo&lt;/li&gt;
&lt;li&gt;Tell a friend about Worktrunk&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/worktrunk/issues/new?title=&amp;amp;body=%23%23%20Description%0A%0A%3C!--%20Describe%20the%20bug%20or%20feature%20request%20--%3E%0A%0A%23%23%20Context%0A%0A%3C!--%20Any%20relevant%20context%3A%20your%20workflow%2C%20what%20you%20were%20trying%20to%20do%2C%20etc.%20--%3E&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Open an issue&lt;/a&gt; — feedback, feature requests, even a small friction or imperfect user message, or &lt;a class=&#34;link&#34; href=&#34;https://github.com/max-sixty/worktrunk/issues/new?title=Worktree%20friction%3A%20&amp;amp;body=%23%23%20The%20friction%0A%0A%3C!--%20What%20worktree-related%20task%20is%20still%20painful%3F%20--%3E%0A%0A%23%23%20Current%20workaround%0A%0A%3C!--%20How%20do%20you%20handle%20this%20today%3F%20--%3E%0A%0A%23%23%20Ideal%20solution%0A%0A%3C!--%20What%20would%20make%20this%20easier%3F%20--%3E&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;a worktree pain not yet solved&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Share: &lt;a class=&#34;link&#34; href=&#34;https://twitter.com/intent/tweet?text=Worktrunk%20%E2%80%94%20CLI%20for%20git%20worktree%20management&amp;amp;url=https%3A%2F%2Fworktrunk.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/submit?url=https%3A%2F%2Fworktrunk.dev&amp;amp;title=Worktrunk%20%E2%80%94%20CLI%20for%20git%20worktree%20management&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reddit&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fworktrunk.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;h3 id=&#34;-full-documentation-at-worktrunkdev--1&#34;&gt;📚 Full documentation at &lt;a class=&#34;link&#34; href=&#34;https://worktrunk.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;worktrunk.dev&lt;/a&gt; 📚
&lt;/h3&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;star-history&#34;&gt;Star history
&lt;/h3&gt;&lt;!-- `sealed_token` is a GitHub token of ours encrypted with star-history&#39;s public
     key, from &#34;Generate embed code&#34; on star-history.com. Without one the chart
     renders a &#34;GitHub restricted access to star data&#34; placeholder: GitHub limits
     stargazer data to a repo&#39;s admins and collaborators, and their servers are
     neither.

     The token is fine-grained and reaches only this repo. Its Contents permission
     has to be read *and write* — write access is what GitHub accepts as proof of
     collaborator status, so rotating to a read-only token brings the placeholder
     straight back. Publishing the ciphertext is safe on its own; what the scope
     buys is a bound on star-history, which decrypts it and so holds a credential
     that can push here until it expires 2027-08-16 — at which point the chart
     reverts to the placeholder with nothing else to signal it. star-history
     reports GitHub is working on restoring access, so drop this parameter once
     the plain URL renders a chart again. --&gt;
&lt;a href=&#34;https://star-history.com/#max-sixty/worktrunk&amp;Date&#34;&gt;
  &lt;img src=&#34;https://api.star-history.com/svg?repos=max-sixty/worktrunk&amp;type=Date&amp;sealed_token=2ySbQiVbkVrGmwgDsJya-xr4ApbVVvR0siYI46d22Xj_1kPCcgA9X0YpUGc3__aMuZ0ZAWzG4NBhJtqepYjlkoYrVwmKbgaPmGpNZTCfSyVp8EDA_IXaOOYW2whsOXDAi6g7HD9ezsnqSl58n7AqW2_4IQ4hY2p3h7tNv_3k4am5ASq1NdpbfrOUazCl&#34; width=&#34;500&#34; alt=&#34;Star History Chart&#34;&gt;
&lt;/a&gt;
</description>
        </item>
        
    </channel>
</rss>
