Files

🔌 tools/external:外部仓库与第三方工具

tools/external/ 用来收纳第三方工具、外部依赖与 Git submodule。核心原则是:

  • 尽量原样保留:避免“魔改后不可升级”
  • 隔离依赖与风险:外部工具的依赖不要污染主仓库
  • 可追溯:来源、许可证、用法要写清楚

目录结构

tools/external/
├── AGENTS.md                    # 本目录的 Agent 行为准则
├── README.md                    # 本文件(外部工具索引)
├── .tmux/                       # submoduleoh-my-tmux 配置
├── tmux/                        # submoduletmux 源码
├── claude-official-skills/      # submoduleClaude 官方 skills 仓库
├── Skill_Seekers-development/   # submoduleSkills 制作器
├── html-tools-main/             # HTML 工具集
├── my-nvim/                     # Neovim 配置
├── MCPlayerTransfer/            # MC 玩家迁移工具
└── XHS-image-to-PDF-conversion/ # 图片合并 PDF 工具

工具清单

  • Skill_Seekers-development/:以 submodule 引入的 Skills 抓取/制作器
  • .tmux/:以 submodule 引入的 oh-my-tmux 配置来源
  • tmux/:以 submodule 引入的 tmux 上游源码
  • claude-official-skills/:以 submodule 引入的 Claude 官方 skills 仓库
  • html-tools-main/HTML 工具集
  • my-nvim/:个人 Neovim 配置
  • MCPlayerTransfer/MC 玩家迁移工具
  • XHS-image-to-PDF-conversion/:图片合并 PDF 工具

当前源码表达状态

目录 当前表达 处理策略
.tmux/ Git submodule 保留 submodule 指针
tmux/ Git submodule 保留 submodule 指针
claude-official-skills/ Git submodule 保留 submodule 指针,并通过 skills/claude-official-skills 软链接展示
Skill_Seekers-development/ Git submodule 保留 submodule 指针,并通过 skills/auto-skill/scripts/Skill_Seekers-development 软链接供 auto-skill 使用
html-tools-main/ 普通目录 体量小,暂作为本仓库工具快照保留;确认上游 URL 后可转 submodule
my-nvim/ 普通目录 体量小,暂作为配置样例保留;确认上游 URL 后可转 submodule
MCPlayerTransfer/ 普通目录 体量小,暂作为独立工具快照保留;确认上游 URL 后可转 submodule
XHS-image-to-PDF-conversion/ 普通目录 体量小,暂作为独立工具快照保留;确认上游 URL 后可转 submodule

普通目录不得继续扩张为大型源码快照;新增外部仓库默认使用 submodule。

为避免外部工具源码影响主仓库语言统计,根目录 .gitattributes 已将 tools/external/** 标记为 linguist-vendored

当前软链接显示

事实来源 展示入口 说明
tools/external/claude-official-skills/ skills/claude-official-skills Claude 官方 skills 仓库
tools/external/Skill_Seekers-development/ skills/auto-skill/scripts/Skill_Seekers-development auto-skill 的 Skill Seekers 工具来源

表达规则

  • 完整外部仓库:优先 git submodule add <url> tools/external/<name>
  • 跨目录展示入口:使用相对软链接,例如 skills/<name> -> ../tools/external/<name>
  • 不允许:软链接到本机绝对路径、复制大型上游源码、提交构建产物/生成物、提交二进制运行时。
  • 需要本地改造第三方工具时:优先 fork 后以 submodule 指向 fork;不要在主仓库直接魔改一份不可升级的源码快照。

新增外部工具(最小清单)

  1. 优先新增 submodulegit submodule add <url> tools/external/<tool-name>
  2. 只在没有上游仓库、且体量小/与本项目强耦合时,才创建普通目录:tools/external/<tool-name>/
  3. 必备文件:README.md(用途/入口/依赖/输入输出)、许可证与来源说明(如 LICENSE / SOURCE.md)。
  4. 依赖约束:尽量使用工具自带的虚拟环境/容器化方式,不影响仓库其他部分。
  5. 文档同步:在本 README 增加一行工具说明,保证可发现性。