概要

Cursorはプロジェクトのコードベースを読み取りインデックス化して機能を強化します。ルートディレクトリに.cursorignoreファイルを配置することで、Cursorがアクセスできるディレクトリとファイルを制御できます。 Cursorは.cursorignoreにリストされたファイルへのアクセスを以下からブロックします:
ターミナルやMCPサーバーなど、Agentによって開始されるツール呼び出しは、 .cursorignoreによって管理されるコードへのアクセスをブロックできません

なぜファイルを無視するのか?

セキュリティ: APIキー、認証情報、シークレットへのアクセスを制限します。Cursorは無視されたファイルをブロックしますが、LLMの予測不可能性により完全な保護は保証されません。 パフォーマンス: 大規模なコードベースやモノレポでは、関連性のない部分を除外することで、より高速なインデックス化とより正確なファイル検索を実現します。

グローバル無視ファイル

プロジェクトごとの設定なしに機密ファイルを除外するため、ユーザー設定ですべてのプロジェクトの無視パターンを設定します。
Global Cursor Ignore List
デフォルトパターンには以下が含まれます:
  • 環境ファイル: **/.env, **/.env.*
  • 認証情報: **/credentials.json, **/secrets.json
  • キー: **/*.key, **/*.pem, **/id_rsa

.cursorignoreの設定

.gitignoreの構文を使用して、ルートディレクトリに.cursorignoreファイルを作成します。

パターンの例

config.json      # 特定のファイル
dist/           # ディレクトリ
*.log           # ファイル拡張子
**/logs         # ネストされたディレクトリ
!app/           # 無視から除外(否定)

階層的な無視

Cursor Settings > Features > Editor > Hierarchical Cursor Ignoreを有効にすると、親ディレクトリの.cursorignoreファイルを検索します。 注意: コメントは#で始まります。後のパターンは前のパターンを上書きします。パターンはファイルの場所からの相対パスです。

.cursorindexingignoreでインデックス作成を制限する

.cursorindexingignoreを使用して、インデックス作成からファイルを除外します。これらのファイルはAI機能からはアクセス可能ですが、コードベース検索には表示されません。

デフォルトで無視されるファイル

Cursorは.gitignoreと以下のデフォルト無視リストのファイルを自動的に無視します。.cursorignore!プレフィックスを使用してオーバーライドできます。

否定パターンの制限

否定パターン(!プレフィックス付き)を使用する場合、親ディレクトリが*で除外されている場合、ファイルを再度含めることはできません。
# publicフォルダ内のすべてのファイルを無視
public/*

# ✅ これは動作します。ファイルがトップレベルに存在するため
!public/index.html

# ❌ これは動作しません - ネストされたディレクトリからファイルを再度含めることはできません
!public/assets/style.css
回避策: ネストされたディレクトリを明示的に除外します:
public/assets/*
!public/assets/style.css # このファイルはアクセス可能になります
除外されたディレクトリはパフォーマンスのために走査されないため、含まれるファイルのパターンは効果がありません。 これは、ネストされたディレクトリでの否定パターンに対する.gitignoreの実装と一致します。詳細については、gitignoreパターンに関する公式Git文書を参照してください。

トラブルシューティング

git check-ignore -v [file]でパターンをテストしてください。