# Cursor のプロジェクトルール設定

Cursor エディタでは、.cursorrules ファイルを使ってプロジェクト固有のルールや指示を設定できます。このファイルに記述した内容は、AI アシスタントがコードを生成・編集する際のガイドラインとして使用されます。

# .cursorrules ファイルの作成

プロジェクトのルートディレクトリに .cursorrules ファイルを作成します。

touch .cursorrules

# プロジェクトルールの記述

.cursorrules ファイルには、Markdown 形式でプロジェクトのルールや指示を記述します。

# 基本的な記述例

# プロジェクトルール

## コーディング規約

- インデントはスペース 2 つを使用する
- 関数名はキャメルケースで記述する
- クラス名はパスカルケースで記述する

## ファイル構成

- コンポーネントは `src/components/` に配置する
- ユーティリティ関数は `src/utils/` に配置する

## 禁止事項

- `var` の使用を禁止する(`let` または `const` を使用)
- `console.log` を本番コードに残さない

# 実際の設定例

一般的な Web アプリケーション開発で使用する設定例:

# プロジェクトルール

## コーディング規約

### 命名規則

- 変数・関数名はキャメルケース(`camelCase`)を使用
- クラス名はパスカルケース(`PascalCase`)を使用
- 定数は大文字のスネークケース(`UPPER_SNAKE_CASE`)を使用
- ファイル名はケバブケース(`kebab-case`)を使用

### コードスタイル

- インデントはスペース 2 つを使用(タブは使用しない)
- 文字列はシングルクォート(`'`)を使用
- セミコロンは省略しない
- 行の最大長は 100 文字とする

### 禁止事項

- `var` の使用を禁止(`let` または `const` を使用)
- `console.log` を本番コードに残さない(デバッグ用のログは削除)
- `any` 型の使用を避ける(TypeScript 使用時)
- 未使用のインポートや変数を残さない

## アーキテクチャ

### ファイル構成

- コンポーネントは `src/components/` に配置
- ユーティリティ関数は `src/utils/` に配置
- API クライアントは `src/api/` に配置
- 型定義は `src/types/` に配置

### コンポーネント設計

- コンポーネントは単一責任の原則に従う
- 再利用可能なコンポーネントは `components/common/` に配置
- ページ固有のコンポーネントは `components/pages/` に配置

## エラーハンドリング

- エラーは適切にキャッチし、ユーザーに分かりやすいメッセージを表示
- 非同期処理では必ずエラーハンドリングを実装
- エラーログは適切なロギングサービスに送信

## テスト

- 新機能追加時は必ずテストを記述
- テストファイルは `*.test.ts` または `*.spec.ts` の命名規則に従う
- テストカバレッジは 80% 以上を維持

## パフォーマンス

- 不要な再レンダリングを避ける(React.memo、useMemo などを適切に使用)
- 画像は最適化された形式(WebP など)を使用
- バンドルサイズを意識し、不要なライブラリのインポートを避ける

# ルールの適用範囲

.cursorrules ファイルに記述したルールは、以下の場面で適用されます:

  • コード生成時
  • コード編集時
  • リファクタリング時
  • バグ修正時

# 注意点

  • .cursorrules ファイルはプロジェクトのルートディレクトリに配置する必要がある
  • Markdown 形式で記述する
  • ルールは明確で具体的に記述する
  • 複数のルールがある場合は、見出しで構造化する

# ルールの確認

Cursor エディタでファイルを開き、AI アシスタントに質問すると、設定したルールに従って回答が生成されます。ルールが正しく適用されているか確認するには、実際にコード生成や編集を試してみるのが確実です。

2026-01-09