Files

74 lines
4.1 KiB
Markdown
Vendored
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔌 tools/external:外部仓库与第三方工具
`tools/external/` 用来收纳第三方工具、外部依赖与 Git submodule。核心原则是:
- **尽量原样保留**:避免“魔改后不可升级”
- **隔离依赖与风险**:外部工具的依赖不要污染主仓库
- **可追溯**:来源、许可证、用法要写清楚
## 目录结构
```text
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. 优先新增 submodule`git submodule add <url> tools/external/<tool-name>`
2. 只在没有上游仓库、且体量小/与本项目强耦合时,才创建普通目录:`tools/external/<tool-name>/`
3. 必备文件:`README.md`(用途/入口/依赖/输入输出)、许可证与来源说明(如 `LICENSE` / `SOURCE.md`)。
4. 依赖约束:尽量使用工具自带的虚拟环境/容器化方式,不影响仓库其他部分。
5. 文档同步:在本 README 增加一行工具说明,保证可发现性。