0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが書いてくれたマークダウンに適したmarkdownlintの除外設定例

Posted at

こんにちは。Kaneyasuです。
最近は、開発においてAIエージェントを活用する機会が増えてきました。
便利ではありますが、AIが生成したマークダウンは、独特の癖があり、markdownlintのルールに引っかかることが多いです。
そこで、今回は私がAIが生成したマークダウンに対して使用しているmarkdownlintの除外設定例を共有します。

markdownlintとは

markdownlintは、Markdownファイルのスタイルと構文をチェックするためのツールで、VSCodeの拡張機能としても利用できます。

VS Codeの拡張機能としてmarkdownlintを使用した場合、エディタ上でリアルタイムにMarkdownの問題を検出してくれます。

VSCode上のmarkdownlintの警告表示例

検出してくれるのはいいのですが、AIが生成したマークダウンに対しては、結構な数の警告が出てしまいます。
これを放っておくと警告に対する感度が鈍ってしまい、本当に重要な警告を見逃してしまう可能性があります。

markdownlintの除外設定

あまりにも多数出る警告に対しては除外設定が有効です。
そもそも警告が出るようなマークダウンを生成しないようにAIに指示するのが理想ですが、コンテキストやプロンプトを調整してもなかなかうまくいかないことも多いです。
したがって、ある程度は除外設定を行うのが現実的と考えています。
除外設定は、プロジェクトルートに.markdownlint.jsonというファイルを作成し、そこに設定を記述します。
私の場合は以下のような設定にしています。

{
  "MD022": false,
  "MD024": false,
  "MD029": false,
  "MD031": false,
  "MD032": false,
  "MD036": false
}

MD022などは、markdownlintのルール番号です。
各ルールの詳細については、markdownlintのGitHubリポジトリに書かれています。

上記の設定で除外しているルールの内容は以下の通りです。
これらのルールは、コンテキストやプロンプトを工夫しても、あまり改善されないことが多いため、除外した方が効率的と考えています。

ルール番号 内容
MD022 Headings should be surrounded by blank lines
見出しの前後に空行が必要
MD024 Multiple headings with the same content
重複した見出しを禁止
MD029 Ordered list item prefix
順序付きリストの番号形式を統一
MD031 Fenced code blocks should be surrounded by blank lines
コードブロックの前後に空行が必要
MD032 Lists should be surrounded by blank lines
リストの前後に空行が必要
MD036 Emphasis used instead of a heading
見出しの代わりに強調表示を使用している

どなたかの参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?