CTX-001 占位符检测
验证章节正文是否为空,或是否仅由 TODO / TBD / WIP 等占位符构成。检测到时会报告为 warning。默认占位符为 TBD / TODO / WIP / FIXME / N/A,单字符连字符(- / — / –)也会被视为「无内容」。
在填充文档模板的过程中,可能将 TODO: 之后再写 或 TBD 留在原处,转向其它工作后便忘记了。让 AI 撰写初稿后的草稿中也常混入这类占位符。Markdown 仍然 valid,markdownlint 与 CI 均可通过,但作为文档却尚未完成。本规则可检测这类「容易被忽视的未完成处」。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
section | string | — | 将验证范围限定为指定章节(标题文本完全匹配) |
placeholders | string[] | — | 视为占位符的字符串数组。指定时覆盖默认值(并非追加) |
files | string | — | 应用此规则的文件 glob |
判定不区分大小写,通过比较正文 trim 后的结果是否与占位符整体一致来确认。仅在正文中混入 TODO 这一单词不会被检出。
## 概述
本文档...
## 设计方针
TBD
## 影响范围
-设计方针 仅含占位符 TBD,影响范围 仅含 -,均判定为无内容,各自视为违例。
docs/design.md line 7 warning Section "设计方针" contains only placeholder "TBD" CTX-001 line 11 warning Section "影响范围" contains only placeholder "-" CTX-001章节正文完全为空时,会以下面的消息报告。
docs/design.md line 7 warning Section "设计方针" has no content CTX-001## 概述
本文档...
## 设计方针
新认证流程采用 OAuth 2.0,从既有的基于会话的认证逐步迁移。
## 影响范围
影响 `packages/auth` 下所有模块。{ "rule": "ctx001", "options": { "section": "设计方针", "placeholders": ["TBD", "TODO", "未定"], "files": "**/adr/*.md" }}指定 placeholders 时会覆盖默认值。如果希望「也检测中文的 未定」,需要将默认中使用的值也明确重新列出。
- SEC-001 必需章节 — 验证章节本身是否存在
- CHK-001 未完成项目 — 清单形式的未完成检测
- CTX-002 术语一致性 — 验证正文术语是否与 glossary 一致