MDC ルールのベストプラクティスとトラブルシューティング
ヒント
MDC(モデル駆動コード)ルールは、Cursor で一貫したコード品質を維持し、反復的なタスクを自動化するのに役立ちます。
MDC ルールの理解
MDC ルールは強力なツールで、以下のことが可能です:
- コードレビューとフォーマットの自動化
- チームのコーディング標準の実施
- 一般的な問題の検出と修正
- コード品質と一貫性の向上
ルールの種類
-
構文ルール
- コードフォーマット
- 命名規則
- ファイル構造
-
セマンティックルール
- コードの複雑さ
- ベストプラクティスのチェック
- セキュリティ脆弱性の検出
-
カスタムルール
- プロジェクト固有の要件
- チーム規約
- ビジネスロジックの検証
ルールの設定
基本設定
プロジェクトのルートディレクトリに .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
}
}
一般的な問題と解決策
ルールが適用されない
ルールが適用されない場合:
-
設定の確認
# ルールファイルの検証
cat .cursor/rules/config.json
# 構文エラーのチェック
jsonlint .cursor/rules/*.json -
ルールキャッシュの更新
- Cursor の再起動
- ルールキャッシュのクリア
- プロジェクトの再読み込み
ルールの競合
ルールの競合の処理:
.cursor/rules/override.json
{
"conflicts": {
"rule1": {
"priority": "high",
"override": ["rule2", "rule3"]
}
}
}
パフォーマンスの問題
ルール実行の最適化:
-
スコープの制限
{
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"]
} -
バッチ処理の検証
{
"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('命名規則', () => {
// テストルールロジック
});
});