pi-git-agent
extensionskillmaintainedAI-first Git CLI automation — atomic AI commits, co-change relations (git-agent related), native extension guard for git commit/add, and workspace initialization (native /git-agent menu, no skill surface)
by — · v0.7.3 · published 4w ago
$ pi install npm:pi-git-agentdownloads/mo
273
stars
0
last push
2w ago
open issues
0
Signals
license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0
Download trend
773 downloads · last 12 weeks (weekly)
README
Git Agent for Pi 
English | 简体中文
一个 Pi 编码代理包,把 git-agent 变成原生的 /git-agent 命令菜单:原子 AI 提交、共同变更分析,以及阻止裸 git commit、引导使用原子提交流程的防护。无 skill 面。
概览
- 原子提交:把暂存的改动拆成最多 5 个逻辑独立的提交,用 AI 生成 Conventional Commit 消息(
git-agent commit)。 - 共同变更分析:从 git 历史中挖掘一起变化的文件和测试套件(
git-agent related)。 - 原生扩展防护:
extensions/validate-commit.ts只拦截裸git commit工具调用,在阻断原因中本地注入有长度限制的 session context,并直接引导代理执行git-agent --intent;普通git add调用保持允许。根目录index.ts负责为 Pi 组合注册所有扩展模块。 - 会话驱动的提交:
extensions/session-context.ts提供session_context工具,读取当前会话记录,让提交意图来自用户实际提出的请求,而不是一句压缩的话。 - 自动模型身份识别:
git-agent自动检测代理环境变量(PI_MODEL、CLAUDE_CODE_MODEL、CODEX_MODEL、MODEL),无需手动传递 co-author 标志。
用法
输入 /git-agent 打开原生菜单:
git-agent workflows:
❯ 1. Commit changes (procedures/commit.md)
2. Commit and push (procedures/commit-and-push.md)
3. Init / optimize (procedures/init.md)
4. Related files & tests (procedures/related.md)
或者直接传一个工作流关键字跳过菜单:
/git-agent commit # 用会话上下文构建 intent 提交
/git-agent commit --co-author "Alice <a@example.com>"
/git-agent related src/foo.ts # 查询指定文件的共同变更
/git-agent related --tests src/
/git-agent init # 重新生成 scopes + .gitignore
每次选择都会通过 pi.sendUserMessage 把完整流程(procedures/*.md)嵌入下一条消息。提交防护完全由工具调用后的 harness 校验负责,不再注入系统提示引导。当裸 git commit 被拦截时,harness 会本地提取有长度限制的 session context,让代理无需额外一轮 session_context 调用即可执行 git-agent --intent。
安装
# 已发布版本
pi install npm:pi-git-agent
# 或本地安装:pi install /path/to/git-agent/pi-git-agent
需要 PATH 上有 git-agent CLI(由本仓库的 git-agent-cli/ 目录构建)。
文件
pi-git-agent/
├── index.ts # Pi 包入口
├── src/
│ └── index.ts # 扩展组合根
├── extensions/
│ ├── menu.ts # /git-agent 命令菜单
│ ├── session-context.ts # session_context 工具(提交意图来源)
│ ├── validate-commit.ts # 拦截裸 git commit 并注入 session context
│ └── lib/session-context-core.ts # 共享本地上下文提取逻辑
├── procedures/
│ ├── commit.md # 原子 AI 提交流程
│ ├── commit-and-push.md # 提交 + 推送流程
│ ├── init.md # scope/.gitignore 重新生成
│ └── related.md # 共同变更查询
└── references/
├── cli.md # git-agent CLI 参考
└── coauthor-attribution.md