个人开发流程 skill:用 Git worktree 并行开发多个需求、修复多个 bug。
- 仅在明确指定时启用(
/ag-dev或「用 ag-dev」),不会在普通项目里自动触发 - 一个任务 = 一个 worktree + 一个分支 + 一个终端会话
- worktree 固定放在仓库根目录的
worktrees/下(自动加入.git/info/exclude) - 开始任务前自动同步基准分支:切到
main→ 拉取最新 → 快进,再从最新提交切出开发分支 - 编码后自动补充单元测试
- 提交信息遵循约定式提交(Conventional Commits),描述简洁(≤100 字符);提交前询问 TAPD 链接并附在末尾;不添加 Co-Authored-By 等工具署名
- push 的远端分支名按
pr@基分支@类型_作用域1_作用域2(或repr@...)规范生成 - 默认不运行单元测试、不提交、不 push,只在用户明确要求时执行
已通过目录 junction 安装到个人 skills 目录:
C:\Users\Administrator\.claude\skills\ag-dev -> D:\source\ag-dev-skill
本目录的修改会即时生效;新开 Claude Code 会话后可用 /ag-dev 调用。
重新创建链接:
New-Item -ItemType Junction -Path "$HOME\.claude\skills\ag-dev" -Target "D:\source\ag-dev-skill"只在明确指定时启用(直接描述开发任务不会自动触发):
/ag-dev 做一下扫码登录
用 ag-dev 修一下订单列表空数据崩溃
流程会先把主检出切到 main 并拉取最新(快进),然后创建 worktrees/feat-qr-login(分支 feat/qr-login)或 worktrees/fix-empty-list-crash(分支 fix/empty-list-crash),在里面完成开发并补单测,然后停下汇报。
同步失败(主检出有未提交改动、main 已分叉、fetch 失败)时流程会停下报告,不会自动 stash / reset / 强制切换。确认要用本地状态时可加 --no-sync。
后续按需说:
- 「跑单测」→ 运行测试并处理本次改动引起的失败
- 「提交」→ 只提交,不 push
- 「push」→ 按远端分支命名规范推送到远端,推送后询问是否清理当前 worktree 和本地分支
bash scripts/wt.sh new <feat|fix|refactor|chore> <slug> [base-ref] [--no-sync]
bash scripts/wt.sh list
bash scripts/wt.sh base [worktree路径]
bash scripts/wt.sh pushname <pr|repr> <base> <type> <scope1> <scope2> [rebase-id]
bash scripts/wt.sh remove <name|path> [--force] [--delete-branch]需要 bash(Windows 下用 Git Bash)。remove 默认拒绝删除有未提交改动的 worktree;加 --delete-branch 会同时删除本次任务的本地分支(主分支、基准分支和未推送的分支会保留),远端分支不受影响。
SKILL.md # 流程本身
scripts/wt.sh # worktree 管理脚本
evals/ # 测试 prompt(供后续迭代 skill 用)