Files
rime-ice/AGENTS.md
2026-04-27 16:09:20 +08:00

69 lines
3.8 KiB
Markdown
Raw 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.

# 仓库维护指南
本仓库是 Rime 输入法配置仓库包含输入方案、词库、OpenCC 映射和 Lua 扩展。修改时优先保持现有文件结构和命名风格,不要把生成文件当作源文件直接维护。
## 常用命令
```bash
make -C others/script/ build
make -C others/script/ lint
make -C others/script/ smoke
```
- `build`:生成并排序词库和 OpenCC 映射文件,依赖 Go 环境。
- `lint`:校验 YAML 和 Lua依赖 `yamllint``luacheck`
- `smoke`:执行功能测试。建议只在 CI 中运行,本地执行会清空用户词库。
修改配置、词库、Lua 或生成源文件后,至少运行 `make -C others/script/ build``make -C others/script/ lint`。只修改文档时不需要运行构建。
## 主要文件
- `cn_dicts/`:中文词库文件。
- `8105`:默认启用的常用汉字单字。
- `41448`:大字表,默认不启用,主要收录生僻字。
- `base`:核心词库,包含两字词和常用词,必须包含注音和词频。
- `ext`:扩展词库,必须包含注音和词频。
- `tencent`:大词库,不需要包含注音,禁止加入多音字。
- `en_dicts/*.yaml`:英文词库文件。
- `en`:核心英文词库,只包含常用英文词。
- `en_ext`:扩展英文词库,包含术语、流行词、科技短语等。
- `en_dicts/*.txt`:中英混合词库文件,由 `others/cn_en.txt` 派生。
- `opencc/`OpenCC 映射文件,控制 Emoji 和部分特殊词输出,由 `others/emoji-map.txt` 派生。
- `lua/`Lua 扩展脚本,使用 `librime-lua` API。
- `others/script/`:构建、检查和测试脚本。
- `others/recipes/`plum 配方文件。
- `*.schema.yaml`:输入方案文件,定义拼写、翻译器、过滤器和词库引用。
- `*.dict.yaml`:主词库文件,在文件头引用具体词库文件。此类文件的具体格式请参考既有文件的写法,和标准 yaml 有所不同。
- `recipe.yaml`plum 默认配方。
- `symbols*`:控制 `v`/`V` 模式下的符号输入。
- `weasel.yaml`:小狼毫前端配置。
- `squirrel.yaml`:鼠须管前端配置。
- `default.yaml`:全局默认配置,控制启用方案和通用行为。
- `custom_phrase.txt`:全拼自定义短语。
## 修改规则
- 禁止删除任何文件。
- 禁止修改 README.md。
- 修改或添加中文词,写入 `cn_dicts/` 下对应词典;不要直接修改 `rime_ice.dict.yaml`
- 修改或添加英文词,写入 `en_dicts/` 下对应词典;不要直接修改 `melt_eng.dict.yaml`
- 修改中英混合词时,只改 `others/cn_en.txt`,再运行构建生成 `en_dicts/*.txt`
- 修改 Emoji 映射时,只改 `others/emoji-map.txt`,再运行构建生成 `opencc/*.txt`
- `*.dict.yaml` 文件很大。确认内容时优先读取前 50 行,再用搜索定位;修改时优先用查找、替换或追加,避免整文件重写。
- 禁止修改 `radical_pinyin.*.yaml``lua/search.lua`。这些文件从 `mirtlecn/rime-radical-pinyin` 同步;发现问题时应到上游处理。
## 提交规则
提交信息必须使用 Conventional Commits正文使用中文。类型和作用域scope
- `feat`, `fix`, `refactor`, `ci`, `build`, `docs`, `chore` 等依照常规使用
- `dict(cn)`:修改中文词库。
- `dict(en)`:修改英文词库。
- `dict(radical)`:修改拆字相关词库。
- `dict(opencc)`:修改 `opencc/` 相关源文件或生成结果。
- `config`:修改配置项或输入方案。例如 config(schema) 修改输入方案文件config(weasel) 修改 `weasel.yaml`
- 作用域:`lua`,修改 `lua/*.lua` 时使用,例如 `feat(lua)`
破坏性更新在类型或作用域后添加 `!`,例如 `refactor(lua)!: 修改农历输出`,并同步更新 `others/docs/Changelog.md`
提交前确认工作区只包含本次任务相关文件,不要混入无关格式化或生成结果。