Skip to content

AI-Lint ルールシステムガイド

このページでは、AI-Lintのルールシステムとマークダウンでの使用例について説明します。AI-Lintは、ドキュメントの標準化を実現するための柔軟なルールベースのシステムを提供します。

ルールの優先順位

AI-Lintでは、ルールは定義された順序(上から下)で処理されます:

  • 上位のルールは、競合が発生した場合に下位のルールよりも優先されます
  • 競合しないすべてのルールが適用されます
  • ルールの順序は、論理的な優先順位と処理順序の両方を決定します

INFO

ルールの優先順位の例:

markdown
1. ドキュメントのタイトルは感嘆符で終わる必要があります!
2. ドキュメントのタイトルはピリオドで終わる必要があります。

この場合、ルール1はルール2と競合する場合に優先されます。

ルールの種類

AI-Lintは様々なタイプのルールをサポートしています:

TIP

各ルールタイプは特定の目的を持ち、ドキュメント標準化の異なる側面に対応します。

ルールタイプ説明
設定ルールAI-Lintがツールと統合する方法を定義します
コアルールルール処理の基本原則を確立します
メタルールドキュメント構造の標準を定義します
コンテンツルールドキュメントの内容に関する要件を指定します

カスタムルールの作成

ルールはマークダウンファイルで以下の構造で定義できます:

markdown
# ルール名

## 目的
- ルールの目的を説明

## ルール
詳細なルールの説明

## AI指示
ルールを適用する方法についてのAIへの指示

## 変更履歴
- 2025/03/25: 初回作成

技術用語の一貫性ルールの例

markdown
# 技術用語の一貫性ルール

## 目的
- 技術用語の一貫した使用を確保する
- 用語のバリエーションによる混乱を防ぐ

## ルール
技術用語はドキュメント全体で一貫して使用する必要があります。最初の出現で用語を定義し、その後のすべての参照は同じ形式を使用する必要があります。

## AI指示
- ドキュメント内の技術用語を特定する
- 各用語が一貫して使用されていることを確認する
- 同じ用語のバリエーションを違反としてフラグする
- 最初の出現で使用された形式に標準化することを提案する

## 変更履歴
- 2025/03/25: 初回作成

変更履歴メタルールの例

WARNING

変更履歴は、ドキュメントの進化を透明にするために重要です。

markdown
# 変更履歴メタルール

## 目的
- ドキュメントの変更履歴を明確に記録する
- 変更エントリのフォーマットを標準化する
- ドキュメントの進化を透明にする

## ルール
すべてのドキュメントは、逆時系列順でエントリを含む「変更履歴」セクションを最後に含める必要があります。

## フォーマット
- YYYY/MM/DD: [変更の説明]

実際の使用例

AI-Lintを使用したAIアシスタントとの対話例:

対話例
ユーザー: プロジェクト用のREADMEを作成してください

AI: AI-Lintのルールに従ってREADMEを作成します。
    [ルールに準拠したコンテンツを生成]
    
    READMEには以下が含まれています:
    - 適切にフォーマットされたH1タイトル
    - レベル3までの構造化された見出し
    - ja-JPに従った正しいスペル
    - 最後に変更履歴セクション

シンタックスハイライト

AI-Lintのルール定義では、コードブロックでシンタックスハイライトを活用できます:

typescript
// ルールレジストリの例
class RuleRegistry {
  private rules: Map<string, Rule> = new Map();
  private priorities: string[] = [];  // ハイライト: 優先順位リスト
  
  registerRule(rule: Rule, priority?: number): void {
    this.rules.set(rule.id, rule);
    if (priority !== undefined) {
      // ハイライト: 優先順位の設定
      this.priorities.splice(priority, 0, rule.id);
    } else {
      this.priorities.push(rule.id);
    }
  }
  
  getRule(id: string): Rule | undefined {
    return this.rules.get(id);
  }
  
  getRulesByPriority(): Rule[] {
    return this.priorities.map(id => this.rules.get(id)!);
  }
}

カスタムコンテナの活用

AI-Lintのドキュメントでは、情報を効果的に伝えるためにカスタムコンテナを活用できます:

INFO

AI-Lintは、ドキュメントの標準化を自動化するための強力なツールです。

TIP

複数のプロジェクト間で一貫したドキュメント標準を維持するには、共有ルールリポジトリを使用してください。

WARNING

ルールの競合は、優先順位システムによって解決されます。ルールの順序を慎重に検討してください。

DANGER

自動修正機能は強力ですが、重要なドキュメントに適用する前に必ずバックアップを作成してください。

AI-Lintの内部動作

AI-Lintは、ドキュメントを解析し、登録されたルールに対して検証を行います。違反が検出されると、修正案が生成され、ユーザーの承認後に適用されます。このプロセスは、MCPサーバーを通じてAIアシスタントと統合されています。

詳細情報

AI-Lintのルールシステムとマークダウンの使用法の詳細については、GitHub リポジトリを参照してください。

Released under the MIT License.