多仓库跑 Agent,Matt Pocock 只留一个 Home Repo
Matt Pocock 的做法很简单:skills、steering files、wiki 全放一个 home repo,AGENTS.md 指向其他仓库。团队权限、worktree 清理、monorepo 的问题,回复里也给了边界。
Matt Pocock 在 X 上被问到一个具体问题:怎么同时用 agent 处理多个仓库。他的答案是一个 home repo。
做法不复杂。把所有 skills、steering files、wiki 放在一个仓库里,agent 也在这个仓库里跑。然后在 AGENTS.md 里写指针,告诉 agent 其他仓库在哪:
For skills, clone mattpocock/skills to ~/repos/skills.
For Sandcastle, clone mattpocock/sandcastle to ~/repos/sandcastle
这个方案简单到不像工具链讨论,但回复里更值得看的是边界。
这个结构带来三个直接结果。steering files 和工具集中在一处。所有 agent 有同一个启动位置。跨多个仓库的改动可以在一个入口发起。Matt Pocock 说这套办法简单,效果强。
团队怎么用,回复里有人问。Matt Pocock 的回答是:home repo 属于团队,每个人都在这里跑自己的 agent。至于权限,有网友担心一个 agent 能碰所有仓库。Matt Pocock 反问,为什么这比让单个 agent 碰单个仓库的局部更让人紧张。这个问题没有展开,但边界值得记下:home repo 是入口,不等于所有权限都该无条件放开。
同一个仓库里并行做多个功能,有网友问是不是克隆多份。Matt Pocock 说在每个 clone 里用 worktree。另一个网友提醒,这样跑几个月,硬盘里会堆满没人管的 worktree。Matt Pocock 的回答很直接:清理掉。
仓库自己的 build commands 怎么放,回复里也有交代。Matt Pocock 不建议把它们堆在 home repo。需要这些命令的仓库自己留,home repo 只放导航指针。跨仓库任务的说明则放在 home repo,作为 cross-repo issues。
有网友补充了 Claude Code 的一个细节:克隆仓库自己的 memory 和 rules files,从 additionalDirectories 不会加载;从 --add-dir 加载,需要设置 CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1。如果像 Matt Pocock 这样把 steering 都放在 home repo,这个限制不影响。
monorepo 也有人问。Matt Pocock 说 monorepo 也很好,但需要很多工具,且不一定总能做成。另有网友的做法是在仓库旁边放 .knowledge 文件夹,用 SQLite FTS 和 MiniLM vectors 做本地搜索,再用 skill 把相关片段拉进来。
最值得记的一条来自 Matias Poblete:每个仓库仍然保留一个小 AGENTS.md,只写在这个仓库成立的东西,比如脚本、lint 规则、哪些地方不要碰。否则 home repo 里的 AGENTS.md 会慢慢变成例外清单。Matt Pocock 同意。
落地时,导航放 home,局部规则放仓库,跨仓库 issue 放 home,worktree 用完清理。简单方案有效,但边界要自己补。
发布时间: 2026-11-11 22:26