MADR v2 / v3 / v4 対応
YAML frontmatter(v3/v4)と v2 の本文リストメタデータの両方を読み取ります。
太字(- **Status**:)と正規のプレーン形式(* Status:)の両方の書き方に対応しています。
バージョンを明示的に指定することも、自動検出に任せることもできます。
madr-lint は、あなたの MADR ファイルがチームの
拠り所とする規約に従っているかをチェックします。必須セクション、有効なステータス、
ISO‑8601 の日付、ファイル名フォーマット、そして番号の一意性やリンク切れがないことといった
ファイル間の整合性まで検証します。
MADR v2 / v3 / v4 対応
YAML frontmatter(v3/v4)と v2 の本文リストメタデータの両方を読み取ります。
太字(- **Status**:)と正規のプレーン形式(* Status:)の両方の書き方に対応しています。
バージョンを明示的に指定することも、自動検出に任せることもできます。
ESLint 風のルール
名前付きルール(madr/required-sections など)を error / warn / off の
重大度で指定でき、ルールごとのオプションは JSON Schema で検証されます。
ファイル単位とファイル間
高速なファイル単位のチェック(セクション、ステータス、日付、ファイル名)に加え、 番号の一意性、supersedes グラフ、リンク切れを検査するプロジェクトルールを備えています。
CLI・ライブラリ・Action
コマンドラインから実行したり、プログラムから呼び出したり、GitHub Action として CI に組み込んだりできます。text・JSON・SARIF のレポーターに対応しています。
# lint the ADRs in your configured adrDir (default: docs/adr)npx madr-lint
# or point it at explicit pathsnpx madr-lint docs/adr
# machine-readable output for CInpx madr-lint --format sarifimport { defineConfig } from 'madr-lint';
export default defineConfig({ extends: ['madr-lint:recommended'], madrVersion: 'auto', adrDir: 'docs/adr', rules: { 'madr/filename-format': ['error', { pattern: '^[0-9]{4}-.+\\.md$' }], 'madr/no-numbering-gap': 'off', },});インストールして最初の lint を実行するには はじめる へ、 オプションの全体像を知るには 設定 へ進んでください。