Explore Repo
在需要实现细节、特定版本行为或历史记录时使用外部源码;当已安装源码或一手文档能够回答问题时,优先使用它们。需要 Git 以及对目标仓库的访问权限。
缓存与引用
使用 ~/.repos/<host>/<owner-or-group>/<repo>,并去掉结尾的 .git。不要克隆到当前项目、受跟踪的工作树或 .tmp/,除非用户要求该位置。不要添加忽略规则来隐藏外部克隆,也不要把缓存仓库接入项目作为依赖。
在复用克隆之前,检查其状态与远程身份:
git -C <cache-path> status --short --branch git -C <cache-path> remote -v
对于脏克隆,只读查看或使用隔离工作树;未经明确授权,不要 reset、clean、pull、check out 或覆盖它。需要新引用时,用 git -C <cache-path> fetch --prune --tags 更新干净的克隆。对于新克隆,优先使用 git clone --filter=blob:none <url> <cache-path>。仅当不需要历史和更早引用时,才使用 --depth=1。
获取并检查指定的分支、标签、提交、发布版本或依赖版本。必要时从本地证据中解析出更精确的引用,并用 git -C <cache-path> rev-parse HEAD 记录实际提交。
检查与实验
使用聚焦搜索以及文件/历史读取。在有帮助时委托独立探索:常规扫描选择快速、低推理的配置,复杂逻辑或架构选择能力更强的配置。请求给出简洁的发现,并附带路径、引用和支持证据。
默认保持缓存克隆为只读。对于构建、编辑、生成文件或高风险 checkout,在 ~/.repos/.worktrees/ 下创建隔离工作树:
git -C <cache-path> worktree add --detach <worktree-path> <ref>
只删除为本任务创建且不再需要的工作树。缓存克隆会被保留;仅在用户要求清理时删除它们,并先检查具体候选对象及其状态、大小和年龄。
报告答案时附上远程 URL、缓存路径、检查的提交以及相关文件或符号。区分直接源码观察与推断。