TBL-006 文件间 ID 唯一性
验证特定列的值(ID)在多个文件之间唯一。发现重复时,会报告为 error。这是项目作用域规则,会跨越 include 加载的所有文档进行评估。
像需求 ID、ADR 编号、测试 ID 这种应在整个仓库中保持唯一的标识符很常见。但当多个文件、多个团队同时添加内容时,可能在不知情的情况下使用相同的 ID。重复的 ID 会破坏可搜索性和可追溯性,因此值得机械化检测。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
files | string | ✓ | 验证 ID 唯一性的目标文件 glob |
column | string | ✓ | 存放 ID 的列名 |
idPattern | string | — | 仅将匹配此正则表达式的值视为 ID(不匹配的值将被忽略) |
files 与其它规则的 files 选项使用相同的 glob 语法,但在 TBL-006 中是必填项。
docs/auth/requirements.md:| ID | 内容 || ------ | -------------- || REQ-01 | 用户注册 |
docs/todo/requirements.md:| ID | 内容 || ------ | ---------------- || REQ-01 | 创建任务 |两个文件都使用了 REQ-01,故判定为违例。
docs/todo/requirements.md line 3 error ID "REQ-01" is already defined in docs/auth/requirements.md:3 TBL-006通过在 ID 中包含区域名加以区分。
docs/auth/requirements.md:| ID | 内容 || ----------- | -------------- || REQ-AUTH-01 | 用户注册 |
docs/todo/requirements.md:| ID | 内容 || ----------- | ---------------- || REQ-TODO-01 | 创建任务 |{ "rule": "tbl006", "options": { "files": "**/requirements.md", "column": "ID", "idPattern": "^REQ-" }}指定 idPattern 后,只有匹配该模式的值才会被视为 ID。即使表格中混有标题样例行或大纲行,也只针对 ID 行进行验证。
- TBL-001 必需列 — 验证表格中是否存在 ID 列
- TBL-004 单元格模式 — 单文件内 ID 格式的验证
- REF-002 ID 的定义与引用 — 验证 ID 是否被其它文件引用