Skip to content

v1.11.0

Choose a tag to compare

@Athosoo Athosoo released this 27 Oct 12:21
· 12 commits to main since this release

这一版做了什么

规范不只写在 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.md also 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-host 242/242(新增第 [20] 段 10 项:散文文档被报成 foreign、把并集收紧到 50 字符、提示里出现 AGENTS.md、计划列 leftInPlace、合并后只读文件原文未变、count 0)。
  • preview-tab 12 段全过(新增 data-gitgraph-left 断言)。
  • validate-lib 185 个 locale 键全部解析;build-lib spliced 2843 / 3079 / 2149 / 449 行;patch-host 25 处幂等。

这次 host 与客户端都改了:装完必须重启 DSH,Ctrl+R 不够。