refactor(config): migrate .claude/CLAUDE.md to .agents/AGENTS.md with compatibility symlinks

This commit is contained in:
Zhengshou Lai
2026-07-07 23:34:12 +08:00
parent 958a9f2f01
commit 55c08cf937
15 changed files with 150 additions and 144 deletions
+133
View File
@@ -0,0 +1,133 @@
# MyToolkit 项目配置
> **职责分工**(避免重复与漂移):
> - **参数/用法细节** → 已安装包的 `mytoolkit info docs <name>`(无 `info docs` 的命令看 skill `references/` 速查)为准;
> - **设计决策与仓库约定**(文档生成工作流、脚手架/期刊套件取舍、命名、依赖、TTS 配置)→ **本文档**为准;
> - **`README.md`** → 面向用户的 CLI 手册(安装、命令总表、config 文件);
> - **skill`SKILL.md` + `references/`** → Agent 路由层:触发词、与其他 skill 的分工、决策速查表,以及 `info docs` 未覆盖命令的薄速查。
>
> 改动 mytoolkit 的行为/命令/模板时,需**同步更新**受影响的:本文档、`README.md`、包内 `info docs`、skill `references/`。
本项目是个人 CLI 工具集,命令入口为 `mytoolkit`
---
## 1. 文档生成工作流
### 默认规则
Markdown 为唯一源格式,正式文档统一通过 `mytoolkit` 生成,不直接编辑 Word/PDF。
| 目标格式 | 命令 | 模板 |
|---------|------|------|
| PDF | `mytoolkit convert doc.md -o doc.pdf [-t cv/textbook/manual]` | `mytoolkit/templates/md-to-pdf/` (Typst) |
| Word | `mytoolkit convert doc.md -o doc.docx [-t default/review]` | `mytoolkit/templates/md-to-docx/` |
- `mytoolkit/templates/md-to-docx/``default/`(通用文档)和 `review/`(审稿意见)两个 reference docx 模板
- `mytoolkit/templates/md-to-pdf/` 为 Typst 模板目录,支撑 PDF 生成,直接修改模板需同步更新 mytoolkit
### 例外:短文档直接手写 Word
审稿/评审意见等 1-2 页短文档,可直接复制 reference docx 模板 `mytoolkit/templates/md-to-docx/review/template.docx` 到目标目录,在 Word 内撰写,跳过 Markdown→convert。完整工作流策略(何时手写 vs 走 convert)见 workspace `CLAUDE.md §8`
### 资源定位
模板、参考文档、项目脚手架都随 `mytoolkit` Python 包一起安装,不依赖仓库路径:
```bash
mytoolkit info paths # 打印 package/templates/references/scaffolds 路径
mytoolkit info docs convert # 打印 convert 完整参考文档
```
skill 或其他脚本应通过上述命令定位资源,避免硬编码 `~/workspace/contrib/mytoolkit/`
---
## 2. 配置管理
通过 `mytoolkit env` 管理,存储于 `~/.mytoolkit/config.json``keys.*` 格式)。
```bash
mytoolkit env set apikey_ark <key>
mytoolkit env set volc_appid <appid>
mytoolkit env set volc_access_token <token>
mytoolkit env list # 查看所有 key
mytoolkit env export # 导出为 shell export 语句
```
本文件仅管理 mytoolkit 自身配置。Skill 脚本各自由其自身管理 API key(读取 `~/.xiaohe/agent/config.json`),与本配置独立。
## 3. 语音合成 (TTS)
通过火山引擎(豆包)WebSocket API 实现,命令为 `mytoolkit voice tts`
配置方式见上方 §2 配置管理。
### 用法
```bash
mytoolkit voice tts "你好,世界"
mytoolkit voice tts -f script.txt
mytoolkit voice tts "文本" -v zh_male_wennuanahu_moon_bigtts --format mp3 --speed 10 -o output.mp3
```
可用音色:`zh_female_cancan_mars_bigtts``zh_female_shuangkuaisisi_moon_bigtts``zh_male_wennuanahu_moon_bigtts`(默认)、`zh_male_sunwukong_moon_bigtts`
格式:`mp3`(默认)、`wav``pcm`
语速:`-50``100`0 = 正常)
---
## 4. LaTeX 论文脚手架与投稿模板
### 新建论文项目
```bash
mytoolkit init paper <dir> # 默认 Elsevier elsarticle 模板(全平台可移植)
```
生成 `main.tex`/`Makefile`/`diffpreamble.dtx`/`references.bib`/`figs/`。**精确配置(文档类选项、字号、字体、书签层级)以脚手架 `main.tex` 头部注释为准,本文档不复述以免漂移。**
改脚手架时须保持的**设计约束**
- 文档类 **elsarticle**;正文+数学只用 **TeX Live 自带字体**(当前 Libertinus),**禁止写死系统/专有字体(如 Cambria)**,否则破坏可移植性;
- 统一 **xelatex** 一个引擎(latexmk 驱动),便于后续加中文/系统字体;
- `make` 编译、`make highlighted OLDTEX=...` 出 latexdiff 修订稿;`diffpreamble.dtx` 标记增删。
### 切换投稿期刊模板
各出版社“投稿套件”预置在包内 `mytoolkit/journals/`,一条命令落地到子目录,自包含、`make` 直接编译(pdflatex + bibtex):
```bash
mytoolkit init journal # 列出可用套件
mytoolkit init journal elsevier # -> ./submit-elsevier/
mytoolkit init journal springer mydir
```
| 套件 | 文档类 | 类文件来源 |
|------|--------|-----------|
| `elsevier` | `elsarticle` | TeX Live 自带 |
| `ieee` | `IEEEtran` | TeX Live 自带 |
| `springer` | `sn-jnl` | 已随套件打包(含全部 `bst/` 样式) |
- 命令会**自动复用当前目录的 `references.bib`**(若存在)。
- 套件 Makefile 用 pdflatex(期刊惯例);`BSTINPUTS` 已配好,Springer 的 `bst/` 子目录样式可直接找到。
- **Springer 注意**:参考文献样式由 `\documentclass[...,sn-mathphys-num]{sn-jnl}` 选项决定,**不要再写 `\bibliographystyle`**(重复会让 bibtex 报错)。
- 升级 `sn-jnl.cls`:从 Springer 官网下载最新 zip,替换 `mytoolkit/journals/springer/` 下的 `sn-jnl.cls``bst/`
---
## 5. 依赖管理
项目使用 `uv` 管理依赖。修改 `pyproject.toml` 后运行 `uv sync` 同步。
```bash
uv sync
```
---
## 6. 命名规范
- **文件与文件夹**:英文统一使用 kebab-case,如 `review-comments.docx`
- **代码中的函数与变量**:统一使用 snake_case,如 `review_comments()`