コンテンツにスキップ

ルール単位のスコープ指定

特定のルールを「ある 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/*.mdContext / Decision / Consequences を必須にする
  • 仕様書フォルダにのみ仕様書テンプレートを強制specs/*.md概要 / API / 例 を必須にする
  • 新規ディレクトリだけ厳しく、レガシーディレクトリは緩く — 段階的に整合性チェックを導入する

include検証対象ファイル全体 を絞ります。files は include で決まった対象の中で、個別ルールが適用される範囲 を絞ります。両者は併用できます。

TBL-001 〜 TBL-005、SEC-001、SEC-002、REF-* 系、CTX-001、CTX-002 でサポートされています。各ルールの詳細は Rules を参照してください。