@muzi3/minigit
v0.1.0
Published
pi 专属扩展:为无 git 项目临时提供 git 版本控制(temp-init),为有 git 项目提供隔离 worktree 版本控制(worktree),每 turn 自动 commit,finish 弹窗收尾。
Maintainers
Readme
minigit
pi 专属 Extension:为无 git 项目临时提供版本控制,为有 git 项目提供隔离 worktree 版本控制。
安装 / 加载
pi install npm:@muzi3/minigit
# 或本地路径:
pi install ./packages/minigit依赖 @earendil-works/pi-coding-agent(pi 运行时自带,作为 peerDependency 不随包安装)。安装后重启 pi(或 /reload 热重载)自动加载。
使用
/minigit:start:启动。无 git → 临时git init;有 git → 创建.git/minigit-wtworktree(不切主工作区分支,其他终端零影响)。/minigit:finish:收尾,弹窗选择。需手动触发,不会在 session 结束时自动收尾。
模式
temp-init(无 git 项目)
git init+ 兜底身份(pi <[email protected]>)- 每 turn 自动 commit
- finish 三选一:删除 .git / 保留转正式 git(
main)/ 压缩为单 commit
worktree(有 git 项目)
git worktree add .git/minigit-wt -b minigit-<pid>-<ts>- override read/write/edit/bash/grep/find/ls 重定向到 worktree
- 每 turn 自动 commit
- finish 三选一:合入原分支 / 保留 worktree / 丢弃
已知限制
- 构建依赖断裂:worktree 只含 tracked 文件,
node_modules/.venv/build等 ignored 文件不共享,需在 worktree 下自行npm install。minigit 不会在 worktree 内自动运行 build/npm install。 - 跨 session:状态存于
<gitdir>/minigit-state.json,session_start自动恢复。 - finish 手动触发:
/minigit:finish需用户手动调用,不会在 session 结束时自动收尾。
状态文件
- temp-init:
.git/minigit-state.json(随删除/压缩清理) - worktree:主仓库
.git/minigit-state.json
