blog

A Comprehensive Guide to Using .cursorrules for Optimized AI-assisted Programming

AI支援プログラミングを最適化する.cursorrulesの使い方を学びましょう。コーディング標準、優先ライブラリ、ファイル構造を定義してAI生成コードを向上させます。パフォーマンス、テスト、ドキュメントを改善し、プロジェクトの一貫性と効率性を確保します。プロジェクト固有の正確なルールでAIアシスタントを強化しましょう。

cursorrulesは、プロジェクトのルートディレクトリに配置される特別なファイルで、Cursor内のAIアシスタントのルールをカスタマイズできます。このファイルで特定のルールを定義することで、AIにプロジェクトの背景、コーディング標準、優先ライブラリ、ファイル構造、パフォーマンスガイドラインに関するコンテキストを提供し、AI生成コードや提案がチームのニーズにより適合するようになります。

簡単に言えば、.cursorrulesはあなたとAIの間の「コミュニケーションブリッジ」です。これを使えば、毎回手動でAIの動作を調整する必要がなくなり、AIは一貫してプロジェクト要件の範囲内で提案を行います。

プロジェクトに最適な.cursorrulesを作成する方法は? .cursorrulesファイルを最大限に活用するには、プロジェクトの重要な側面をAIに明確に伝える必要があります。効果的な.cursorrulesファイルを作成するためのベストプラクティスを以下に示します:

  1. プロジェクト背景を提供する なぜ重要か? AIはプロジェクトの背景を知らないため、背景情報はAIがプロジェクトの文脈を理解し、より関連性の高いコードを生成するのに役立ちます。

例:

プロジェクト背景

これはNext.jsベースの多言語ブログWebアプリケーションで、Next.jsフレームワークを使用して書かれています。 説明:.cursorrulesファイルの冒頭で、簡単なプロジェクト背景の紹介を提供できます。「これはNext.jsベースのブログWebアプリケーションです」などの説明により、AIはコード生成時に適切な構文スタイル、ファイルタイプ、メソッドを選択できます。

  1. コーディング標準を定義する なぜ重要か? AI生成コードがチームのコーディング規約に準拠するようにし、一貫しないコーディングスタイルを避けます。

例:

コーディング標準

  • 関数コンポーネントとHooksを使用し、クラスコンポーネントは避ける
  • 変数宣言にはletではなくconstを優先する
  • 変数名と関数名にはキャメルケースを使用し、コンポーネント名にはパスカルケースを使用する 説明:このスニペットは、AIにチームがクラスコンポーネントよりも関数コンポーネントを好むことを伝えます。AIはまた、変数宣言にconstを優先し、関数や変数にはキャメルケース命名規則に従い、コンポーネント名にはパスカルケースを使用します。
  1. 優先ライブラリとフレームワークを指定する なぜ重要か? AIが優先ライブラリを知らない場合、不適切なサードパーティ依存関係を生成する可能性があります。

例:

優先ライブラリ

  • ルーティングにはNext.jsを使用する
  • 国際化にはnext-intlを使用する
  • CSS-in-JSスタイリングにはTailwindを使用する 説明:これは、AIにルーティングにReact Routerなどの他のライブラリではなくNext.jsを優先させることを示します。スタイリングについては、AIはCSSモジュールや他のCSSソリューションではなくTailwindをデフォルトで使用します。
  1. ファイル構造情報を提供する なぜ重要か? 明確なファイル構造は、AIがより正確なファイルパスとインポートパスを生成するのに役立ち、パスエラーを減らします。

例:

ファイル構造

  • components: 再利用可能なUIコンポーネント
  • app/[locale]: 多言語対応のNext.jsページ
  • data/blog: 多言語ブログファイル
  • app/api: APIサービス関数 説明:AIにディレクトリ構造を伝えることで、インポートパスを正確に自動生成できます。たとえば、新しいコンポーネントを作成するようにAIに要求すると、src/pagesに誤って配置するのではなく、src/componentsディレクトリに配置します。
  1. パフォーマンス最適化ガイドラインを設定する なぜ重要か? パフォーマンスに焦点を当てるようAIに指示しないと、パフォーマンスのベストプラクティスに準拠しないコードを生成する可能性があります。

例:

パフォーマンス最適化ガイドライン

  • 純粋な関数コンポーネントにはReact.memoを使用する
  • ルーティングコンポーネントには遅延読み込みを実装する
  • 不必要な再レンダリングを防ぐためにuseEffectの依存関係を最適化する 説明:これらのルールは、AIがより効率的なコードを生成するのに役立ちます。たとえば、AIがuseEffectフックを生成する場合、依存配列が完全であることを確認し、不必要な再レンダリングを防ぎます。
  1. テスト要件を設定する なぜ重要か? 特定のテスト要件がある場合、AIはこれらの標準に準拠したテストケースを自動生成できます。

例:

テスト要件

  • ユニットテストにはJestとReact Testing Libraryを使用する
  • テストカバレッジは少なくとも80%以上とする
  • UIコンポーネントにはスナップショットテストを使用する 説明:これらのルールは、AIにテストファイルを生成する際にJestとReact Testing Libraryを使用し、UI変更をキャプチャするためにスナップショットテストを自動的に作成するよう指示します。
  1. ドキュメント標準を書く なぜ重要か? 標準化されたドキュメントはチームコラボレーションを助け、AI生成コードに注釈と説明を含めることを保証します。

例:

ドキュメント標準

  • 関数とコンポーネントの注釈にはJSDoc形式を使用する
  • コンポーネントにはPropTypes検証を含める必要がある
  • 主要なディレクトリにはREADME.mdファイルを含める
  • README.mdファイルは英語と中国語の両方で提供する 説明:JSDocルールを使用することで、AI生成の関数とコンポーネントに関数定義、パラメータ説明、戻り値の型を含む注釈が含まれるようになります。
  1. エラーハンドリングの設定を指定する なぜ重要か? AIは自動的にエラーハンドリングロジックを考慮しない可能性があります。

例:

エラーハンドリング

  • 非同期操作の処理にはtry/catchブロックを使用する
  • グローバルなエラーバウンダリコンポーネントを実装する 説明:これらのルールは、AIに非同期関数内でtry/catchブロックを自動的に使用させ、プロジェクト内でランタイムエラーをキャッチするグローバルな「エラーバウンダリ」コンポーネントを実装する可能性があることを伝えます。

プロジェクトで.cursorrulesを使用する方法は? ファイルを作成:プロジェクトのルートディレクトリに.cursorrulesファイルを作成します。 ルールを定義:上記のようにプロジェクト背景、コーディング標準、ファイル構造のルールを定義します。 Cursorを再起動:Cursor内のAIアシスタントを再起動して新しい.cursorrulesファイルを読み込みます。 リアルタイムで調整:プロジェクト要件が変更されたら、適時に.cursorrulesファイルを更新します。 「AIルール」をグローバルに制御するには? プロジェクトの.cursorrulesファイルに加えて、Cursorの「設定 > 一般 > AIルール」でグローバルなAIルールを設定できます。これらのルールはすべてのプロジェクトに自動的に適用されるため、各プロジェクトに手動で.cursorrulesファイルを作成する必要がありません。

結論:あなたのCursorはこれまで以上にスマートに プロジェクトに.cursorrulesファイルを作成することで、AIに明確な指示を提供し、AI生成コードがプロジェクトのニーズに合致するようにできます。

これらのヒントを使えば、開発を加速するだけでなく、高いコード品質を維持できます。

このガイドが、Cursorと.cursorrulesの可能性を最大限に活用するのに役立つことを願っています!