CTX-001 プレースホルダ検出
セクションの本文が空、または TODO / TBD / WIP のようなプレースホルダだけで構成されていないかを検証します。検出されると warning で報告されます。デフォルトのプレースホルダは TBD / TODO / WIP / FIXME / N/A で、ハイフン 1 文字(- / — / –)も「中身なし」として検出されます。
ドキュメントのテンプレートを埋めていく途中で 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 と一致するかの検証