[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-marketplace-max-sixty-worktrunk-en":3,"guides-for-max-sixty-worktrunk":519,"similar-k17933gw8zcjnsjg1xt0r1t2a586n11x-en":520},{"_creationTime":4,"_id":5,"children":6,"community":50,"display":51,"evaluation":55,"identity":250,"isFallback":241,"parentExtension":252,"providers":253,"relations":260,"repo":261,"tags":516,"workflow":517},1778692878074.8345,"k17933gw8zcjnsjg1xt0r1t2a586n11x",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":18,"providers":23,"relations":43,"tags":45,"workflow":46},1778692878074.8347,"k178v80t9azwkv73nsx1a4r35n86m226",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":16,"sourceUrl":17},"Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows. This plugin provides configuration guidance (LLM commit messages, project hooks, worktree paths) and automatic activity tracking (🤖/💬 indicators in `wt list` showing active Claude sessions).",{"claudeCode":15},"worktrunk","Worktrunk","https://github.com/max-sixty/worktrunk",{"basePath":19,"githubOwner":20,"githubRepo":15,"locale":21,"slug":15,"type":22},"","max-sixty","en","plugin",{"evaluate":24,"extract":37},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":28,"targetMarket":35,"tier":36},"3.0.0","4.4.0",99,[29,30,31,32,33,34],"git","worktree","cli","ai-agent","automation","developer-tool","global","verified",{"commitSha":38,"license":39,"plugin":40},"HEAD","MIT OR Apache-2.0",{"mcpCount":11,"provider":41,"skillCount":42},"classify",2,{"parentExtensionId":5,"repoId":44},"kd735mff6mvfxbagjk8sv9pg9s86ngdh",[32,33,31,34,29,30],{"evaluatedAt":47,"extractAt":48,"updatedAt":49},1778692927488,1778692878074,1778693214478,{"reviewCount":11},{"description":52,"installMethods":53,"name":15,"sourceUrl":17},"Claude Code plugin for Worktrunk, a CLI for Git worktree management",{"claudeCode":54},"max-sixty/worktrunk",{"_creationTime":56,"_id":57,"extensionId":5,"locale":21,"result":58,"trustSignals":231,"workflow":248},1778692904798.099,"kn7djveb0vaj043mr509wjrtd586n8j3",{"checks":59,"evaluatedAt":204,"extensionSummary":205,"features":206,"nonGoals":212,"promptVersionExtension":216,"promptVersionScoring":26,"purpose":217,"rationale":218,"score":219,"summary":220,"tags":221,"targetMarket":35,"tier":36,"useCases":226},[60,65,68,71,75,78,82,86,89,92,96,100,103,107,110,113,116,119,122,125,128,132,136,140,144,147,150,153,158,161,164,167,170,173,176,180,184,188,191,195,198,201],{"category":61,"check":62,"severity":63,"summary":64},"Practical Utility","Problem relevance","pass","The description explicitly names the problem of managing Git worktrees, particularly for AI agents working in parallel.",{"category":61,"check":66,"severity":63,"summary":67},"Unique selling proposition","Worktrunk significantly enhances the native Git worktree UX by simplifying common operations and adding workflow automation features not present in plain Git.",{"category":61,"check":69,"severity":63,"summary":70},"Production readiness","The CLI provides a complete lifecycle management for Git worktrees, including creation, switching, listing, and cleanup, making it suitable for production workflows.",{"category":72,"check":73,"severity":63,"summary":74},"Scope","Single responsibility principle","The extension focuses solely on Git worktree management, with related features like hooks and LLM commit messages directly supporting this core domain.",{"category":72,"check":76,"severity":63,"summary":77},"Description quality","The displayed description accurately reflects the extension's purpose as a Claude Code plugin for Worktrunk, a CLI for Git worktree management.",{"category":79,"check":80,"severity":63,"summary":81},"Invocation","Scoped tools","The CLI exposes well-scoped, verb-noun tools like `switch`, `list`, `remove`, and `merge` for specific Git worktree operations.",{"category":83,"check":84,"severity":63,"summary":85},"Documentation","Configuration & parameter reference","The detailed documentation at worktrunk.dev covers all commands, options, and parameters, including hooks and configuration variables.",{"category":72,"check":87,"severity":63,"summary":88},"Tool naming","All user-facing tool names (`switch`, `list`, `merge`, `remove`) are descriptive and in kebab-case.",{"category":72,"check":90,"severity":63,"summary":91},"Minimal I/O surface","Tool parameters are typically flags with clear purposes, and output is structured and informative without unnecessary internal details.",{"category":93,"check":94,"severity":63,"summary":95},"License","License usability","The project is dual-licensed under MIT and Apache-2.0, clearly stated in the LICENSE file.",{"category":97,"check":98,"severity":63,"summary":99},"Maintenance","Commit recency","The repository shows recent commits as of May 13, 2026, indicating active maintenance.",{"category":97,"check":101,"severity":63,"summary":102},"Dependency Management","The project uses Cargo and appears to manage dependencies effectively, with a lockfile present and CI for testing.",{"category":104,"check":105,"severity":63,"summary":106},"Security","Secret Management","The tool does not appear to handle or expose secrets directly; it operates on Git data and local project files.",{"category":104,"check":108,"severity":63,"summary":109},"Injection","The tool interacts with Git and local files; there's no indication of loading untrusted third-party data as instructions.",{"category":104,"check":111,"severity":63,"summary":112},"Transitive Supply-Chain Grenades","The extension is a self-contained binary and does not fetch external code or data at runtime.",{"category":104,"check":114,"severity":63,"summary":115},"Sandbox Isolation","The tool operates within the project directory and interacts with Git, with no indication of writing outside these boundaries.",{"category":104,"check":117,"severity":63,"summary":118},"Sandbox escape primitives","No detached process spawns or deny-retry loops were observed in the codebase or documentation.",{"category":104,"check":120,"severity":63,"summary":121},"Data Exfiltration","The tool focuses on local Git operations and does not send confidential data to third parties.",{"category":104,"check":123,"severity":63,"summary":124},"Hidden Text Tricks","The README and code do not contain any hidden text tricks or suspicious Unicode characters.",{"category":104,"check":126,"severity":63,"summary":127},"Opaque code execution","The extension is written in Rust and does not appear to use obfuscated code or runtime script execution.",{"category":129,"check":130,"severity":63,"summary":131},"Portability","Structural Assumption","The tool operates on Git worktrees and project files, using relative paths and Git's standard structure, making it portable.",{"category":133,"check":134,"severity":63,"summary":135},"Trust","Issues Attention","With 13 open and 284 closed issues in the last 90 days, the closure rate is high, indicating good maintainer engagement.",{"category":137,"check":138,"severity":63,"summary":139},"Versioning","Release Management","The project has a meaningful semver version declared on crates.io and uses GitHub actions for CI, indicating proper release management.",{"category":141,"check":142,"severity":63,"summary":143},"Code Execution","Validation","The Rust codebase likely uses standard validation practices for command-line arguments and Git operations.",{"category":104,"check":145,"severity":63,"summary":146},"Unguarded Destructive Operations","Destructive operations like `wt remove` are guarded by explicit confirmation prompts or context that prevents accidental execution.",{"category":141,"check":148,"severity":63,"summary":149},"Error Handling","The Rust codebase is expected to have robust error handling, with clear exit codes and messages for Git operations.",{"category":141,"check":151,"severity":63,"summary":152},"Logging","The tool provides structured output and exit codes, and can be configured for verbose logging via flags.",{"category":154,"check":155,"severity":156,"summary":157},"Compliance","GDPR","not_applicable","The extension operates on local Git data and does not handle personal data.",{"category":154,"check":159,"severity":63,"summary":160},"Target market","The tool is a general Git utility with no regional or legal jurisdiction limitations.",{"category":129,"check":162,"severity":63,"summary":163},"Runtime stability","The tool is a cross-platform Rust binary that relies on Git, ensuring broad runtime stability.",{"category":83,"check":165,"severity":63,"summary":166},"README","The README is comprehensive, clearly states the extension's purpose, and includes installation and usage examples.",{"category":72,"check":168,"severity":63,"summary":169},"Tool surface size","The extension exposes a focused set of core commands (switch, list, merge, remove) plus advanced features, well within the target range.",{"category":79,"check":171,"severity":63,"summary":172},"Overlapping near-synonym tools","The tool names (`switch`, `list`, `merge`, `remove`) are distinct and cover different aspects of worktree management without significant overlap.",{"category":83,"check":174,"severity":63,"summary":175},"Phantom features","All features mentioned in the README, including hooks and LLM commit integration, are supported by implemented functionality.",{"category":177,"check":178,"severity":63,"summary":179},"Install","Installation instruction","Installation instructions for multiple platforms (Homebrew, Cargo, Winget) are clearly provided with copy-paste examples and shell integration setup.",{"category":181,"check":182,"severity":63,"summary":183},"Errors","Actionable error messages","The tool provides clear error messages for Git operations, often indicating the root cause and potential next steps.",{"category":185,"check":186,"severity":63,"summary":187},"Execution","Pinned dependencies","As a Rust project with Cargo, dependencies are managed and pinned via Cargo.lock, and the binary includes a shebang.",{"category":72,"check":189,"severity":156,"summary":190},"Dry-run preview","The extension's core operations modify Git state, but destructive actions like removal are confirmed, and no explicit dry-run is necessary or documented.",{"category":192,"check":193,"severity":63,"summary":194},"Protocol","Idempotent retry & timeouts","The tool operates locally on Git; operations are generally idempotent where applicable, and timeouts are handled by the shell/Git itself.",{"category":154,"check":196,"severity":63,"summary":197},"Telemetry opt-in","The extension does not appear to emit telemetry by default, and any optional logging is controlled by flags.",{"category":72,"check":199,"severity":63,"summary":200},"Theme declaration","The marketplace description clearly defines its curation theme around AI agents and Git worktree management tools.",{"category":137,"check":202,"severity":63,"summary":203},"Per-entry version metadata","The marketplace entry includes explicit versioning metadata via the `worktrunk` name, allowing for tracking specific plugin versions.",1778692904219,"Worktrunk is a command-line interface tool that simplifies and enhances the management of Git worktrees, specifically designed to support parallel AI agent workflows.",[207,208,209,210,211],"Simplified Git worktree creation, switching, and removal","Parallel AI agent workflow support","Automated workflow hooks (create, pre-merge, post-merge)","LLM-generated commit messages","Interactive picker for worktree browsing with previews",[213,214,215],"Replacing core Git functionality entirely","Managing non-Git related project artifacts","Providing a graphical user interface","3.1.0","To streamline the management of multiple Git worktrees, making it as easy as managing branches, thereby enabling efficient parallel development and AI agent execution.","The extension is exceptionally well-maintained and documented, with a clear focus and robust feature set. No significant issues were found.",98,"A highly polished and well-maintained CLI for advanced Git worktree management.",[29,31,222,223,224,225],"workflow","developer-tools","code-management","ai-agent-workflow",[227,228,229,230],"Managing multiple parallel development tasks with dedicated worktrees.","Running multiple AI agents concurrently on separate Git worktrees.","Automating common Git operations and local development workflows.","Quickly switching between and understanding the status of numerous worktrees.",{"codeQuality":232,"collectedAt":234,"documentation":235,"maintenance":238,"security":245,"testCoverage":247},{"hasLockfile":233},true,1778692879633,{"descriptionLength":236,"readmeSize":237},67,13477,{"closedIssues90d":239,"forks":240,"hasChangelog":241,"openIssues90d":242,"pushedAt":243,"stars":244},284,177,false,13,1778691420000,5059,{"hasNpmPackage":241,"license":246,"smitheryVerified":241},"NOASSERTION",{"hasCi":233,"hasTests":233},{"updatedAt":249},1778692904798,{"basePath":19,"githubOwner":20,"githubRepo":15,"locale":21,"slug":15,"type":251},"marketplace",null,{"evaluate":254,"extract":256},{"promptVersionExtension":216,"promptVersionScoring":26,"score":219,"tags":255,"targetMarket":35,"tier":36},[29,31,222,223,224,225],{"commitSha":38,"marketplace":257,"plugin":259},{"name":15,"pluginCount":258},1,{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":44},{"_creationTime":262,"_id":44,"identity":263,"providers":264,"workflow":512},1778692872680.5015,{"githubOwner":20,"githubRepo":15,"sourceUrl":17},{"classify":265,"discover":501,"github":504},{"commitSha":38,"extensions":266},[267,280,293,303,315,323,330,338,487,494],{"basePath":19,"description":52,"displayName":15,"installMethods":268,"rationale":269,"selectedPaths":270,"source":279,"sourceLanguage":21,"type":251},{"claudeCode":54},"marketplace.json at .claude-plugin/marketplace.json",[271,274,276],{"path":272,"priority":273},".claude-plugin/marketplace.json","mandatory",{"path":275,"priority":273},"README.md",{"path":277,"priority":278},"LICENSE","high","rule",{"basePath":19,"description":13,"displayName":15,"installMethods":281,"rationale":282,"selectedPaths":283,"source":279,"sourceLanguage":21,"type":22},{"claudeCode":15},"plugin manifest at .claude-plugin/plugin.json",[284,286,287,288,291],{"path":285,"priority":273},".claude-plugin/plugin.json",{"path":275,"priority":273},{"path":277,"priority":278},{"path":289,"priority":290},"skills/worktrunk/SKILL.md","medium",{"path":292,"priority":290},"skills/wt-switch-create/SKILL.md",{"basePath":294,"description":295,"displayName":296,"installMethods":297,"rationale":298,"selectedPaths":299,"source":279,"sourceLanguage":21,"type":302},".claude/skills/release","Worktrunk release workflow. Use when user asks to \"do a release\", \"release a new version\", \"cut a release\", or wants to publish a new version to crates.io and GitHub.","release",{"claudeCode":54},"SKILL.md frontmatter at .claude/skills/release/SKILL.md",[300],{"path":301,"priority":273},"SKILL.md","skill",{"basePath":304,"description":305,"displayName":306,"installMethods":307,"rationale":308,"selectedPaths":309,"source":279,"sourceLanguage":21,"type":302},".claude/skills/running-tend","Worktrunk-specific guidance for tend CI workflows. Adds codecov polling, Rust test commands, labels, and review criteria on top of the generic tend-* skills. Use when operating in CI.","running-tend",{"claudeCode":54},"SKILL.md frontmatter at .claude/skills/running-tend/SKILL.md",[310,311,313],{"path":301,"priority":273},{"path":312,"priority":290},"references/nightly-cleaner.md",{"path":314,"priority":290},"references/review-pr.md",{"basePath":316,"description":317,"displayName":318,"installMethods":319,"rationale":320,"selectedPaths":321,"source":279,"sourceLanguage":21,"type":302},".claude/skills/writing-user-outputs","CLI output formatting standards for worktrunk. Load before editing any code that calls warning_message, hint_message, error_message, info_message, eprintln, or println, or that produces strings the user will see (CLI help, progress UI, snapshot text). Documents ANSI color nesting rules, message patterns, and output system architecture.","writing-user-outputs",{"claudeCode":54},"SKILL.md frontmatter at .claude/skills/writing-user-outputs/SKILL.md",[322],{"path":301,"priority":273},{"basePath":324,"description":325,"displayName":15,"installMethods":326,"rationale":327,"selectedPaths":328,"source":279,"sourceLanguage":21,"type":302},"skills/worktrunk","Guidance for Worktrunk (the `wt` CLI) — git worktree management, hooks, and config. Load when editing .config/wt.toml or ~/.config/worktrunk/config.toml; adding, modifying, or debugging hooks (post-merge, post-start, pre-commit, pre-merge, post-switch, etc.); configuring commit message generation or command aliases; or troubleshooting wt behavior. Also answers general worktrunk/wt questions.",{"claudeCode":54},"SKILL.md frontmatter at skills/worktrunk/SKILL.md",[329],{"path":301,"priority":273},{"basePath":331,"description":332,"displayName":333,"installMethods":334,"rationale":335,"selectedPaths":336,"source":279,"sourceLanguage":21,"type":302},"skills/wt-switch-create","Create a new worktrunk worktree (optionally in another repo) and switch this session's working directory into it. Use when launching a session that should work in its own worktree (e.g. `/wt-switch-create my-branch -- \u003Ctask>`, or `/wt-switch-create my-branch ~/workspace/other-repo -- \u003Ctask>`), or mid-session to move work into a fresh branch.","wt-switch-create",{"claudeCode":54},"SKILL.md frontmatter at skills/wt-switch-create/SKILL.md",[337],{"path":301,"priority":273},{"basePath":19,"installMethods":339,"rationale":340,"selectedPaths":341,"source":279,"sourceLanguage":21,"type":31},{"cargo":15},"cli ecosystem detected at /",[342,344,345,346,348,350,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485],{"path":343,"priority":273},"Cargo.toml",{"path":275,"priority":273},{"path":277,"priority":278},{"path":347,"priority":290},"src/main.rs",{"path":349,"priority":290},"src/git_wt.rs",{"path":351,"priority":352},"src/lib.rs","low",{"path":354,"priority":352},"src/commands/alias.rs",{"path":356,"priority":352},"src/commands/command_approval.rs",{"path":358,"priority":352},"src/commands/command_executor.rs",{"path":360,"priority":352},"src/commands/commit.rs",{"path":362,"priority":352},"src/commands/config/alias.rs",{"path":364,"priority":352},"src/commands/config/approvals.rs",{"path":366,"priority":352},"src/commands/config/create.rs",{"path":368,"priority":352},"src/commands/config/hints.rs",{"path":370,"priority":352},"src/commands/config/mod.rs",{"path":372,"priority":352},"src/commands/config/opencode.rs",{"path":374,"priority":352},"src/commands/config/plugins.rs",{"path":376,"priority":352},"src/commands/config/show.rs",{"path":378,"priority":352},"src/commands/config/state.rs",{"path":380,"priority":352},"src/commands/config/update.rs",{"path":382,"priority":352},"src/commands/configure_shell.rs",{"path":384,"priority":352},"src/commands/context.rs",{"path":386,"priority":352},"src/commands/custom.rs",{"path":388,"priority":352},"src/commands/eval.rs",{"path":390,"priority":352},"src/commands/for_each.rs",{"path":392,"priority":352},"src/commands/hook_announcement.rs",{"path":394,"priority":352},"src/commands/hook_commands.rs",{"path":396,"priority":352},"src/commands/hook_filter.rs",{"path":398,"priority":352},"src/commands/hooks.rs",{"path":400,"priority":352},"src/commands/init.rs",{"path":402,"priority":352},"src/commands/list/columns.rs",{"path":404,"priority":352},"src/commands/list/json_output.rs",{"path":406,"priority":352},"src/commands/list/layout.rs",{"path":408,"priority":352},"src/commands/list/mod.rs",{"path":410,"priority":352},"src/commands/list/progressive.rs",{"path":412,"priority":352},"src/commands/list/progressive_table.rs",{"path":414,"priority":352},"src/commands/list/render.rs",{"path":416,"priority":352},"src/commands/list/spacing_test.rs",{"path":418,"priority":352},"src/commands/merge.rs",{"path":420,"priority":352},"src/commands/mod.rs",{"path":422,"priority":352},"src/commands/picker/items.rs",{"path":424,"priority":352},"src/commands/picker/log_formatter.rs",{"path":426,"priority":352},"src/commands/picker/mod.rs",{"path":428,"priority":352},"src/commands/picker/pager.rs",{"path":430,"priority":352},"src/commands/picker/preview.rs",{"path":432,"priority":352},"src/commands/picker/preview_cache.rs",{"path":434,"priority":352},"src/commands/picker/preview_orchestrator.rs",{"path":436,"priority":352},"src/commands/picker/progressive_handler.rs",{"path":438,"priority":352},"src/commands/picker/summary.rs",{"path":440,"priority":352},"src/commands/pipeline_spec.rs",{"path":442,"priority":352},"src/commands/process.rs",{"path":444,"priority":352},"src/commands/project_config.rs",{"path":446,"priority":352},"src/commands/relocate.rs",{"path":448,"priority":352},"src/commands/repository_ext.rs",{"path":450,"priority":352},"src/commands/run_pipeline.rs",{"path":452,"priority":352},"src/commands/statusline.rs",{"path":454,"priority":352},"src/commands/step/commit.rs",{"path":456,"priority":352},"src/commands/step/copy_ignored.rs",{"path":458,"priority":352},"src/commands/step/diff.rs",{"path":460,"priority":352},"src/commands/step/mod.rs",{"path":462,"priority":352},"src/commands/step/promote.rs",{"path":464,"priority":352},"src/commands/step/prune.rs",{"path":466,"priority":352},"src/commands/step/rebase.rs",{"path":468,"priority":352},"src/commands/step/relocate.rs",{"path":470,"priority":352},"src/commands/step/shared.rs",{"path":472,"priority":352},"src/commands/step/squash.rs",{"path":474,"priority":352},"src/commands/template_vars.rs",{"path":476,"priority":352},"src/commands/worktree/finish.rs",{"path":478,"priority":352},"src/commands/worktree/hooks.rs",{"path":480,"priority":352},"src/commands/worktree/mod.rs",{"path":482,"priority":352},"src/commands/worktree/push.rs",{"path":484,"priority":352},"src/commands/worktree/resolve.rs",{"path":486,"priority":352},"src/commands/worktree/switch.rs",{"basePath":488,"installMethods":489,"rationale":491,"selectedPaths":492,"source":279,"sourceLanguage":21,"type":31},"tests/helpers/mock-stub",{"cargo":490},"mock-stub","cli ecosystem detected at tests/helpers/mock-stub",[493],{"path":343,"priority":273},{"basePath":495,"installMethods":496,"rationale":498,"selectedPaths":499,"source":279,"sourceLanguage":21,"type":31},"tests/helpers/wt-perf",{"cargo":497},"wt-perf","cli ecosystem detected at tests/helpers/wt-perf",[500],{"path":343,"priority":273},{"sources":502},[503],"manual",{"closedIssues90d":239,"description":505,"forks":240,"homepage":506,"license":246,"openIssues90d":242,"pushedAt":243,"readmeSize":237,"stars":244,"topics":507},"Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows","https://worktrunk.dev",[508,509,510,223,29,511],"agents","claude-code","codex","worktrees",{"classifiedAt":513,"discoverAt":514,"extractAt":515,"githubAt":515,"updatedAt":513},1778692877791,1778692872680,1778692875931,[225,31,224,223,29,222],{"evaluatedAt":249,"extractAt":48,"updatedAt":518},1778693214308,[],[]]