コンテンツにスキップ

include パターン

include フィールドは contextlint が検証する Markdown ファイルを glob パターンで指定します。

{
"include": ["docs/**/*.md"]
}

この指定で、docs/ ディレクトリ以下のすべての Markdown ファイルが検証対象になります。

複数の glob を配列で指定できます。

{
"include": ["docs/**/*.md", "specs/**/*.md", "adr/**/*.md"]
}

include を省略した場合のデフォルトは ["**/*.md"] です。リポジトリ全体の Markdown ファイルが対象になります。

検証対象の決定には次の優先順位があります。

  1. CLI 引数(最優先) — 直接 glob パターンを渡す
  2. 設定ファイルの include
  3. デフォルト["**/*.md"]
Terminal window
# CLI 引数で specs/ 配下だけ検証(config の include を上書き)
npx contextlint "specs/**/*.md"

contextlint には独立した exclude フィールドはありません。除外したいパスは glob の否定パターン(!)で表現します。

{
"include": ["docs/**/*.md", "!docs/_drafts/**"]
}

include に該当しないパスは自動で除外されるので、include を絞ることで実質的に除外と同等の挙動になります。

contextlint は内部で picomatch を使っています。***?[abc] などの標準的な glob 構文がサポートされます。

dot から始まるディレクトリ(.claude/.github/ など)も match します。Markdown ファイルを置いている dot-directory を除外したい場合は明示的に否定パターンを書いてください。

{
"include": ["**/*.md", "!.claude/**", "!.github/**"]
}