REF-005 アンカー
Markdown リンクに含まれるアンカーフラグメント(./file.md#section や #section の # 以降)が、対象ファイル内の実在する見出しを指していることを検証します。一致する見出しが無い場合は error で報告されます。アンカーは GitHub と同じ slug 生成規則で見出しから生成されます。
セクションの見出しテキストを変更すると、それを指しているアンカーリンクは静かに壊れます。リンク先ファイル自体は存在するため REF-001 リンク切れ には引っかかりません。AI 生成のドキュメントでは存在しないアンカーが混入することもあります。アンカーの妥当性は、リンクの存在検証だけでは検出できないため、別ルールとして必要です。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
files | string | — | このルールを適用するファイルの glob |
オプション全体を省略しても動作します。
docs/architecture.md:## システム構成
...
docs/overview.md:詳細は [システム概要](./architecture.md#システム概要) を参照してください。./architecture.md には ## システム構成 はありますが ## システム概要 はないため違反になります。
docs/overview.md line 1 error Anchor "#システム概要" does not match any heading in ./architecture.md REF-005存在する見出し名にリンクを揃えます。
docs/overview.md:詳細は [システム構成](./architecture.md#システム構成) を参照してください。{ "rule": "ref005", "options": { "files": "docs/**/*.md" }}- REF-001 リンク切れ — アンカーの前提となる、リンク先ファイル自体の存在検証
- REF-006 画像参照 — リンクではなく画像参照の検証
- SEC-001 必須セクション — 見出し自体が存在するかの検証