概要
Cursorは、コードベース内のどのファイルをAI機能やインデックス作成に含めるかをコントロールするための2つの特別なファイルを提供しています。これらのファイルを使用することで、大規模なコードベースでの作業効率を向上させ、プライバシーを保護することができます。既存の.gitignoreファイルも尊重され、機密情報を含むファイルへのアクセスを管理するのに役立ちます。
- .cursorignore: Cursorのすべての機能(インデックス作成とAI機能の両方)からファイルを除外します。
- .cursorindexingignore: インデックス作成のみからファイルを除外しますが、AI機能では引き続きアクセス可能です。

.cursorindexingignore ファイル
モノレポや非常に大きなコードベースで作業している場合、Cursorのインデックス作成から一部のファイルを除外したいことがあります。これにより、Cursorは大規模なコードベースをより迅速にインデックス化し、コンテキストを検索する際にファイルをより速く正確に見つけることができます。
.cursorindexingignoreファイルをコードベースのルートディレクトリに追加し、インデックスから除外するディレクトリとファイルをリストアップします。このファイルにリストされたファイルはCursorのインデックスに含まれませんが、コンテキストとして手動で含めたり、AI機能でアクセスしたりすることは引き続き可能です – これらは自動的にインデックスに追加されたり検索結果に含まれたりすることはありません。

.cursorignore ファイル
コードベースのインデックス作成などのCursor機能から特定のファイルを除外するには、プロジェクトのルートディレクトリに.cursorignoreファイルを使用できます。これはgitの.gitignoreと同じように機能します。
重要なポイント:
- .cursorignoreは.gitignoreを尊重します。.gitignoreが設定されている場合、ファイルはデフォルトで無視されます。
- 追加のファイルを無視したい場合は、.cursorignoreファイルに追加できます。

構文と使用例
両方のファイルは.gitignoreと同じ構文を使用します。以下にいくつかの例を示します:
# distディレクトリ内のすべてのファイルを無視
dist/
# すべての.logファイルを無視
*.log
# 特定のファイル「config.json」を無視
config.json
より高度な例:
# すべてを無視
*
# appを無視しない
!app/
# app内のディレクトリを無視しない
!app/*/
!app/**/*/
# Pythonファイルを無視しない
!*.py

デフォルトで無視されるファイル
インデックス作成に関しては、.gitignore、.cursorignore、.cursorindexingignoreファイルで指定されたファイルに加えて、以下のファイルも無視されます:
- package-lock.json
- pnpm-lock.yaml
- yarn.lock
- composer.lock
- Gemfile.lock
- bun.lockb
- .env*
- .git/
- .svn/
- .hg/
- *.lock
- *.bak
- *.tmp
- (その他多数の一般的な非コードファイル)

重要な注意点
.cursorindexingignoreにリストされているファイルは、インデックスには含まれませんが、コンテキストとして手動で含めたり、AI機能によってアクセスしたりすることは可能です。これらは自動的にインデックスに含まれたり、検索結果に表示されたりすることはありません。
現在のところ、Cursor ChatとComposerは.cursorignore設定の影響を受けずに、そのコンテキスト内のすべてのファイルにアクセスできます。ただし、将来のバージョンでは変更される可能性があります。

使用例シナリオ
以下のような状況でCursorの無視ファイル機能を活用できます:
- 大規模なモノレポ:関連のないプロジェクトやビルド生成物を除外してインデックス作成を高速化
- 機密データの保護:.envファイルや設定ファイルなどの機密情報を含むファイルを除外
- ノイズの削減:テストデータや一時ファイルなど、コードの理解に関連しないファイルを除外

まとめ
Cursorの.cursorignoreと.cursorindexingignoreファイルを適切に設定することで、作業効率を向上させ、機密情報を保護しながら、Cursorの強力なAI機能を最大限に活用することができます。大規模なプロジェクトや機密データを扱う場合は、これらのファイルを設定することを強くお勧めします。