worktree-flow
v1.6.0主分支保护 + worktree 隔离边界 - main/master 默认走 worktree 或由 Human 本轮批准直写;撞闸先自救不甩锅;Codex 侧只有 skill,无机械门控
By zhangq0 GitHub starsUpdated 4 days ago
Directory evidence
- Runtimes
- Codex and Claude Code
- Parsed components
- 2 skill or MCP entries
- Source updated
- Sep 19, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install worktree-flow for Codex and Claude Code
codex plugin marketplace add ibootz/claude-devkit-marketplace
codex plugin marketplace upgrade claude-devkit-marketplace
codex plugin add worktree-flow@claude-devkit-marketplacePaste and run these commands in a terminal with Codex. They add and refresh the claude-devkit-marketplace catalog, then install this plugin.
Compatibility: the page URL and API slug “worktree-flow” remain stable.
- Codex:
worktree-flow@agent-plugin-marketplace→worktree-flow@claude-devkit-marketplace
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/ibootz/claude-devkit-marketplaceClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/worktree-flow/.
Plugin files
├── .codex-plugin/plugin.json├── .claude-plugin/plugin.json├── skills/worktree-boundary/SKILL.md└── skills/worktree-flow/SKILL.md
Included Skills2
已经在 worktree 会话里、要动手写文件或要退出时的隔离边界纪律。动手前先定位自己在哪一份 checkout(同名相对路径在父仓与 worktree 里指向两个不同文件,且这个歧义不报错),退出前先确认改动已提交、合回与清理的顺序。撞到 `isolated in the worktree`、`Shell cwd was reset to`、「在 worktree 里改不了父仓的文件」、「cd 出去被弹回」、「worktree 里的 test 和父仓的 test 不是同一个文件」、「改完要不要提交才能合回」、`ExitWorktree`、「合并回主分支」、「清理 worktree」、「让另一个会话帮我改被拦的那一步」、`Refusing to run it — a worktree-isolated session's git operations`、「命令太复杂无法验证是否留在 worktree 内」,以及**你正准备把一条改父仓的命令交给 Human 自己敲**时使用。**准备操作 worktree 之前与准备退出 worktree 之前都要读**,别等撞了闸才来。「我在 main 上要落笔、该不该开 worktree」是另一个时刻,走 worktree-flow skill。
在 main/master 分支改文件或 git commit 时,默认走「开 worktree 临时分支 → 提交 → --no-ff 合回 → 清理」;确需直接写时,用 AskUserQuestion 取得 Human 本轮授权。被 `[L1-BLOCKER] check=worktree-flow` 拦下、用户说“开 worktree”“别在 main 上改”“本轮允许直接改 main/master”“合并回主分支”“清理 worktree”“还有别的会话在跑这个仓”“另开一个隔离空间做”时使用。管的是**进入 worktree 之前**那个决策;已经在 worktree 会话里、要落笔或要退出时的隔离边界纪律走 worktree-boundary skill。
Plugin manifests2
{
"name": "worktree-flow",
"version": "1.6.0",
"description": "主分支保护 + worktree 隔离边界 - main/master 默认走 worktree 或由 Human 本轮批准直写;撞闸先自救不甩锅;Codex 侧只有 skill,无机械门控",
"author": {
"name": "zhangq"
},
"interface": {
"displayName": "主分支保护 (worktree-flow)",
"shortDescription": "改动一律走 worktree 临时分支,不在 main 上落笔",
"category": "Development"
}
}{
"name": "worktree-flow",
"version": "1.6.0",
"description": "主分支保护 + worktree 隔离边界 - main/master 默认走 worktree,Human 批准后可本轮直写;三道闸各有自救路,撞闸不把命令交给人敲",
"author": {
"name": "zhangq"
},
"hooks": {
"PreToolUse": [
{
"matcher": "AskUserQuestion",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/approval-question-guard.js"
}
]
},
{
"matcher": "Write|Edit|MultiEdit|NotebookEdit|Bash",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/guards/main-branch-guard.js"
}
]
}
],
"PostToolUse": [
{
"matcher": "AskUserQuestion",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/round-approval-state.js"
}
]
}
],
"Stop": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/round-approval-state.js"
}
]
}
],
"SessionEnd": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/round-approval-state.js"
}
]
}
],
"SessionStart": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/round-approval-state.js"
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/worktree-flow-inject.js"
}
]
}
],
"UserPromptSubmit": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/round-approval-state.js"
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/worktree-flow-inject.js"
}
]
}
],
"SubagentStart": [
{
"hooks": [
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/worktree-flow-inject.js"
}
]
}
]
}
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[worktree-flow on Agent Plugins Marketplace](https://pluginsmp.com/plugins/worktree-flow)