ルール単位のスコープ指定
特定のルールを「ある glob にマッチするファイルだけに適用したい」場合、ルールの files オプションを使います。
{ "rules": [ { "rule": "sec001", "options": { "files": "decisions/*.md", "sections": ["Context", "Decision", "Consequences"] } } ]}この設定では SEC-001(必須セクション)を decisions/*.md にだけ適用します。他のファイルは SEC-001 の対象外です。
files オプションは glob パターン(文字列 1 つ)を受け取ります。内部で **/${files} として展開されるので、相対パスで書くだけで深い階層もマッチします。
{ "rule": "sec001", "options": { "files": "decisions/*.md" } }これは **/decisions/*.md 相当で、リポジトリ内のどこにある decisions/ ディレクトリでもマッチします。
- ADR フォルダにのみ ADR テンプレートを強制 —
decisions/*.mdでContext / Decision / Consequencesを必須にする - 仕様書フォルダにのみ仕様書テンプレートを強制 —
specs/*.mdで概要 / API / 例を必須にする - 新規ディレクトリだけ厳しく、レガシーディレクトリは緩く — 段階的に整合性チェックを導入する
include との関係
Section titled “include との関係”include は 検証対象ファイル全体 を絞ります。files は include で決まった対象の中で、個別ルールが適用される範囲 を絞ります。両者は併用できます。
TBL-001 〜 TBL-005、SEC-001、SEC-002、REF-* 系、CTX-001、CTX-002 でサポートされています。各ルールの詳細は Rules を参照してください。