はじめる
madr-lint は MADR(Markdown
Architectural Decision Records)向けのリンターです。ADR の構造、ステータス値、
日付、ファイル名、そしてファイル間の整合性を検証します。
インストール
Section titled “インストール”開発依存としてインストールします。
# npmnpm install --save-dev madr-lint
# pnpmpnpm add -D madr-lint
# yarnyarn add -D madr-lintNode.js 22 以降が必要です。
インストールせずに実行することもできます。
npx madr-lint --help最初の lint を実行する
Section titled “最初の lint を実行する”デフォルトでは、madr-lint は adrDir として設定されたディレクトリ
(デフォルト: docs/adr)を lint します。
npx madr-lintまたは、明示的にファイルやディレクトリを指定することもできます。ディレクトリは
.md ファイルを再帰的に検索します。
npx madr-lint docs/adr docs/decisions/0007-use-x.md出力例:
docs/adr/0003-use-postgres.md error madr/status-enum Status "decided" is not one of: proposed,rejected,accepted,deprecated,superseded by ... error madr/required-sections Missing required section: "Consequences"
2 errors推奨ルールを有効にする
Section titled “推奨ルールを有効にする”初期状態では、ルールが設定されていない場合、CLI は madr-lint:recommended
プリセットにフォールバックします。これを明示的にする(そしてカスタマイズを始める)
には、設定ファイルを作成します。
import { defineConfig } from 'madr-lint';
export default defineConfig({ extends: ['madr-lint:recommended'], adrDir: 'docs/adr',});すべてのオプションについては 設定 を、ルールの完全な リファレンスについては ルール を参照してください。
madr-lint は CI に適しています。
| 終了コード | 意味 |
|---|---|
0 | エラーなし(警告は出力される場合があります) |
1 | 1 件以上の error 重大度の診断 |
2 | 設定の問題(例: 無効なルールオプション、未知の --format) |
次のステップ
Section titled “次のステップ”- 設定 — 設定ファイル、プリセット、ルールごとのオプション
- CLI — すべてのコマンドラインフラグ
- GitHub Action — CI での実行
- ルール — 各ルールがチェックする内容とそのオプション