メインコンテンツまでスキップ

MDC ルールのベストプラクティスとトラブルシューティング

ヒント

MDC(モデル駆動コード)ルールは、Cursor で一貫したコード品質を維持し、反復的なタスクを自動化するのに役立ちます。

MDC ルールの理解

MDC ルールは強力なツールで、以下のことが可能です:

  • コードレビューとフォーマットの自動化
  • チームのコーディング標準の実施
  • 一般的な問題の検出と修正
  • コード品質と一貫性の向上

ルールの種類

  1. 構文ルール

    • コードフォーマット
    • 命名規則
    • ファイル構造
  2. セマンティックルール

    • コードの複雑さ
    • ベストプラクティスのチェック
    • セキュリティ脆弱性の検出
  3. カスタムルール

    • プロジェクト固有の要件
    • チーム規約
    • ビジネスロジックの検証

ルールの設定

基本設定

プロジェクトのルートディレクトリに .cursor/rules ディレクトリを作成:

mkdir -p .cursor/rules

ルールの定義

ルールファイルの作成:

.cursor/rules/naming.json
{
"name": "命名規則",
"description": "一貫した命名スタイルを強制する",
"patterns": [
{
"type": "変数",
"style": "camelCase",
"exceptions": ["CONSTANTS"]
}
]
}

ルールの優先順位

重要度に応じてルールの優先順位を設定:

.cursor/rules/config.json
{
"priority": {
"security": 1,
"formatting": 2,
"naming": 3
}
}

一般的な問題と解決策

ルールが適用されない

ルールが適用されない場合:

  1. 設定の確認

    # ルールファイルの検証
    cat .cursor/rules/config.json

    # 構文エラーのチェック
    jsonlint .cursor/rules/*.json
  2. ルールキャッシュの更新

    • Cursor の再起動
    • ルールキャッシュのクリア
    • プロジェクトの再読み込み

ルールの競合

ルールの競合の処理:

.cursor/rules/override.json
{
"conflicts": {
"rule1": {
"priority": "high",
"override": ["rule2", "rule3"]
}
}
}

パフォーマンスの問題

ルール実行の最適化:

  1. スコープの制限

    {
    "include": ["src/**/*.ts"],
    "exclude": ["**/*.test.ts"]
    }
  2. バッチ処理の検証

    {
    "batch": {
    "size": 100,
    "concurrent": true
    }
    }

ベストプラクティス

1. ルールの整理

  • 機能別にルールを分類
  • 明確な命名の使用
  • ルールをシンプルに保つ

2. バージョン管理

  • ルールをバージョン管理に含める
  • ルールの変更を記録
  • ルールのドキュメントを維持

3. チームコラボレーション

  • チームとルールについて議論
  • フィードバックの収集
  • 定期的なレビューと更新

高度な機能

カスタムバリデーター

プロジェクト固有のバリデーターの作成:

.cursor/rules/custom-validator.js
module.exports = {
validate: (code, context) => {
// カスタム検証ロジック
return {
valid: true,
messages: []
};
}
};

自動修正

自動修正機能の実装:

module.exports = {
fix: (code, issues) => {
// 自動修正ロジック
return fixedCode;
}
};

統合テスト

ルールのテストを追加:

rules.test.js
describe('MDC ルールテスト', () => {
test('命名規則', () => {
// テストルールロジック
});
});

デバッグツール

ルール診断

詳細なログの有効化:

.cursor/settings.json
{
"mdc.rules.debug": true,
"mdc.rules.logLevel": "verbose"
}

パフォーマンス分析

ルール実行の監視:

# ルールのパフォーマンス分析
cursor analyze-rules

# パフォーマンスレポートの生成
cursor rules-report

一般的なシナリオ

1. コードレビュー

コードレビュープロセスの自動化:

{
"review": {
"autoFix": true,
"blockOnError": true,
"notifyReviewer": true
}
}

2. CI/CD 統合

継続的インテグレーションでのルールの使用:

.github/workflows/mdc.yml
steps:
- name: MDC ルールのチェック
run: cursor check-rules

3. IDE 統合

エディタ統合の設定:

.vscode/settings.json
{
"cursor.rules.enableFormatting": true,
"cursor.rules.showInlineHints": true
}

関連リソース