为 AI 编码工作流设计

git worktree,zero chaos

一个 ccl 命令,搞定 worktree 的创建、进入、清理

顺手把 Claude Code / Codex 拉起来。每个任务一个独立工作区,互不打扰—— 不用 stash,不用切分支,不用记「我刚才在哪」。

npm install -g cc-launch
1
个命令command
3
个操作moves
0
个依赖deps
∞
并行任务parallel
~/payment-service — ccl
~/payment-service$ccl

? 选择操作:

❯ 新任务

继续已有任务

清理已合并的 worktree

↑↓ 选择 · ⏎ 确认 · 鼠标也能点

→ ~/.worktrees/payment-service/james-fix-login-timeout

01 / 05

the mess你大概很熟悉这种混乱

传统 git 工作流在「一个人同时开三条战线」的时候,就开始漏水了。

01

stash hell

Stash 切来切去

正在写 feature,突然要修一个紧急 bug。stash、切分支、改完再 stash pop——然后就是一片冲突。

git stash pop # 祈祷

02

tab soup

多任务一团麻

同时推进 3 个任务,每个都要开一个终端 tab、手动 cd 到对应目录。过 10 分钟就分不清哪个是哪个。

cd ../../that-other-one

03

ai friction

AI 每次都要重新起

想让 Claude 帮忙,得先找目录、再进目录、再启动工具。上下文互相污染,改错分支是常事。

wait… 我在哪个分支?

02 / 05

one menu, three moves在仓库任何子目录敲 ccl,剩下的它管

没有子命令要背,没有参数要查。一个交互菜单,三件事。

the whole api

$ ccl

就这一个入口。首次运行会问一次主分支名,写进 config.json,之后不再打扰你。

new task

新任务

建 worktree、开 username/task-slug 分支、跑 setup.sh,然后直接把 claude 或 codex 拉起来。

  • ▸worktree ✓
  • ▸branch ✓
  • ▸setup.sh ✓
  • ▸claude ✓

resume

继续已有任务

列出这个仓库所有 worktree,选一个直接切过去,工作环境原样还在,接着上次的地方写。

  • ▸列出所有 worktree
  • ▸↑↓ 选一个
  • ▸进目录 + 起 AI

clean up

清理

只删「已合并到主分支」且「工作区干净」的 worktree。双重检查,不会顺手带走你没提交的改动。

  • ▸merged 检查
  • ▸clean 检查
  • ▸一键删除
03 / 05

the rescue周三下午,PM 走过来说「线上登录超时了」

全程没有 stash,没有冲突,也没有「我刚才是哪个分支来着」。

scene 01 — 现场

你正在 payment-service 的 dev 分支上写报表功能,写到一半。

PM: 线上登录超时了,紧急修一下 🙏

scene 02 — 旧世界

  • git stash
  • git checkout main
  • git checkout -b hotfix
  • npm install(又一遍)
  • …修完再 stash pop,冲突

↑ 这些今天都不用干了

scene 04 — 结果

修完 → 提 PR 到 main → 回到 ccl 删掉这个 worktree → 报表接着写。

dev 分支那边的改动,一个字都没动过。

scene 03 — 新世界:敲一次 ccl
~/payment-service/src/api$ccl

? 选择操作:

❯ 新任务

继续已有任务

清理已合并的 worktree

? 基于分支 (main):

main

? 任务名称:

fix-login-timeout

✓创建 worktree ~/.worktrees/payment-service/james-fix-login-timeout

✓创建分支 james/fix-login-timeout

✓运行 setup.sh(如果仓库里有)

✓启动 Claude Code —— 光标已经在新目录里了

elapsed: 一次回车

navigate

Menu 导航

↑↓ 移动,回车确认,鼠标滚轮和点击也认。

auto setup

setup.sh

新 worktree 建好后自动跑 setup.sh:装依赖、拷 .env,随你写。

first run

首次运行

问一次主分支名,写进 config.json,之后不再问。

04 / 05

why bother为什么值得把它加进你的 shell

简单、安全、透明——三件事都不打折。

one line install

一行装好

npm install -g cc-launch,Zsh / Bash 都支持,不用编译不用配环境。

never loses code

不会丢代码

merged 检查 + 工作区干净检查,双保险;有未提交改动的 worktree 一律不删。

auditable

开源可审计

所有逻辑都在仓库里摊开,setup.sh 自己写,想改什么都改得动。

built for agents

为 AI 而生

worktree 天然隔离上下文。每个任务一个独立 Claude 会话,谁也别污染谁。

1
个入口命令
entrypoint
3
个操作
actions
0
个运行时依赖
runtime deps
∞
条并行战线
parallel tasks
05 / 05

install in 30s

复制一行,回车,就装好了

one-liner — Zsh

npm install -g cc-launch && echo 'eval "$(command ccl init zsh)"' >> ~/.zshrc && source ~/.zshrc

ccl 需要一个 shell 函数才能真的把当前终端 cd 进 worktree,所以要往 ~/.zshrc 里加一行 init。

  1. 01

    装包

    全局安装 cc-launch,拿到 ccl 命令。

    npm install -g cc-launch
  2. 02

    接进 shell

    往 ~/.zshrc 里加一行,让 ccl 能切目录。

    eval "$(command ccl init zsh)"
  3. 03

    开工

    任意 git 仓库的任意子目录,敲 ccl。

    ccl
ccl

一个 ccl 命令,搞定 worktree 的创建、进入、清理,以及 AI coding session 的启动。

claude code launcher · built by panjiangyi · MIT

mogician.me/claude-code-launcher

ccl · new task · resume · clean up · zero chaos