Repository navigation
v1.11.0
这一版做了什么
规范不只写在 GIT_CONVENTIONS.md 里。很多工作区的提交规则写在 AGENTS.md、CLAUDE.md、.cursorrules 或 CONTRIBUTING.md 里,之前的版本完全看不见它们。
1.11.0 把这类散文文档也读进来(只读,永不改写):
conventionsSources()在工作区根和仓库根各扫一遍AGENTS.md/CLAUDE.md/.cursorrules/CONTRIBUTING.md,作为foreign来源单独返回,不混进「治理这批提交的规范文档」计数。- 它们和规范文档用同一个规则解析器(
parseConventionRules():标题长度、type 词表、小写、句号、祈使句),所以散文里的「Keep the subject under 50 characters.」这种句子照样能被读出规则——不需要调用模型,判定是确定性的。 conventionsConflicts()把它们的规则纳入比对与并集:谁的更严就按谁算(长度取最小、type 取并集、布尔「任一方要求即生效」),并新增foreign一项列出「文档里没有、或与并集不同」的规则,计入冲突数。- 每一步注入给助手的提示会写明:
AGENTS.mdalso states … - it is not rewritten by a merge, so ask the user whether those rules should move into the document first。模型因此会先问,而不是默默按旧规范写。 - 一键整合允许「只有一份规范 + 旁边有
AGENTS.md」时执行;计划里新增leftInPlace——这些文件只读不写,因为工作区里别的工具在读它们。 - 规范面板的合并计划会列出「保留原地」的文件(
data-gitgraph-left)。
接口
| 路由 / 工具 | 变化 |
|---|---|
/git/conventions/conflicts |
返回值新增 foreign: [{origin, docPath, keys}] |
/git/conventions/consolidate |
计划新增 leftInPlace: string[] |
git_conventions 工具 |
同上一并返回 |
验证
test-host242/242(新增第 [20] 段 10 项:散文文档被报成 foreign、把并集收紧到 50 字符、提示里出现AGENTS.md、计划列leftInPlace、合并后只读文件原文未变、count 0)。preview-tab12 段全过(新增data-gitgraph-left断言)。validate-lib185 个 locale 键全部解析;build-libspliced 2843 / 3079 / 2149 / 449 行;patch-host25 处幂等。
这次 host 与客户端都改了:装完必须重启 DSH,Ctrl+R 不够。