概要

Cursor はプロジェクトのコードベースを読み取り、インデックス化して各種機能を提供するよ。ルートディレクトリの .cursorignore ファイルで、Cursor がアクセスできるディレクトリやファイルを制御しよう。 Cursor は、.cursorignore に記載されたファイルへのアクセスを次からブロックする:
Agent が起動するツール呼び出し(terminal や MCP servers など)は、 .cursorignore の対象になっているコードへのアクセスをブロックできないよ

なんでファイルを無視するの?

セキュリティ: API キーやクレデンシャル、シークレットへのアクセスを制限するため。Cursor は無視対象のファイルをブロックするけど、LLM の振る舞いは予測不能だから、完全に守れるとは限らない。 パフォーマンス: 大規模なコードベースや monorepo では、関係ない部分を除外してインデックスを速くし、ファイル検出の精度を上げる。

グローバル ignore ファイル

ユーザー設定で全プロジェクト共通の ignore パターンを設定して、プロジェクト単位の設定なしで機密ファイルを除外しよう。
Global Cursor Ignore List
デフォルトのパターンには次が含まれる:
  • 環境ファイル: **/.env, **/.env.*
  • 認証情報: **/credentials.json, **/secrets.json
  • 鍵: **/*.key, **/*.pem, **/id_rsa

.cursorignore の設定

ルートディレクトリに、.gitignore と同じ構文で .cursorignore ファイルを作成する。

パターン例

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

階層的な無視

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

.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] でテスト用パターンを確認しよう。