コンテンツにスキップ

ルール

すべてのルールは ESLint 風の名前(madr/<kebab-case>)を持ち、error / warn / off の 重大度をサポートします。ルールはファイル単位(1 つの ADR に対する純粋なチェック)か、 プロジェクト(ファイル間の整合性)のいずれかです。重大度とオプションは 設定ファイル で構成します。正当な例外が 1 件だけなら 設定を変える必要はありません — 抑制コメント で インラインに抑制できます。

ルールチェック内容オプション推奨
madr/required-sections必須の見出しセクションが存在することありerror
madr/status-enumstatus が許可された値のいずれかであることありerror
madr/date-iso8601date が有効な ISO-8601 の日付であることありerror
madr/filename-formatファイル名が ADR の規約に一致することありerror

プロジェクト(ファイル間)のルール

Section titled “プロジェクト(ファイル間)のルール”
ルールチェック内容オプション推奨
madr/no-broken-links相対リンクが既存のファイルに解決されることなしerror
madr/no-duplicate-numberingADR 番号が一意であることなしerror
madr/no-numbering-gapADR 番号が連続していること(欠番なし)なしoff
madr/supersedes-bidirectionalsupersedes / superseded-by のリンクが一致することなしerror

madr/no-numbering-gap は規約のみのルールで、推奨プリセットでは off になっています。 チームが ADR の番号付けを連続した並びとして扱う場合に有効化してください。

重大度とオプションのおさらい

Section titled “重大度とオプションのおさらい”
madr-lint.config.ts
import { defineConfig } from 'madr-lint';
export default defineConfig({
extends: ['madr-lint:recommended'],
rules: {
'madr/status-enum': 'warn',
'madr/required-sections': ['error', { sections: ['Context', 'Decision', 'Consequences'] }],
'madr/no-numbering-gap': 'off',
},
});

各ルールの正確なオプションについては個別のページを、重大度とオプションの形式については 設定 を参照してください。