無視ファイル
Cursor はプロジェクトのコードベースを読み取り、各種機能を提供します。ルートディレクトリの .cursorignore ファイルで、Cursor がアクセスできるディレクトリやファイルを制御できます。
Cursor は、.cursorignore に指定されたファイルへのアクセスを以下からブロックします。
- Agent、Tab、Inline Edit からアクセス可能なコード
- @ mention references 経由でアクセス可能なコード
Agent が使用する Terminal および MCP サーバーツールでは、.cursorignore で
指定されたコードへのアクセスをブロックできません。
ファイルを無視する理由
セキュリティ: API キー、認証情報、シークレットへのアクセスを制限します。Cursor は無視対象のファイルをブロックしますが、LLM の予測不能性のため、完全な保護は保証できません。
パフォーマンス: 大規模なコードベースやモノレポでは、無関係な部分を除外することで、ファイル検出の精度を高めます。
.cursorignore の設定
ルートディレクトリに、.gitignore 構文を使用した .cursorignore ファイルを作成します。
パターン構文
*は/以外の任意の文字に一致します**は/を含む任意の文字に一致します?は1文字に一致します!はパターンを否定します (以前に無視したパスを再び対象にします)#で始まる行はコメントです- 行末のスペースは、
\でエスケープされている場合を除き無視されます
パターンの例
config.json # 特定のファイルdist/ # ディレクトリ*.log # ファイル拡張子**/logs # ネストされたディレクトリ!app/ # 無視対象から除外(否定)階層的な無視
Cursor Settings > Features > Editor > Hierarchical Cursor Ignore を有効にすると、親ディレクトリ内の .cursorignore ファイルを検索します。
Cursor 3.11 以降、この設定は Cursor Settings > Indexing > Ignore Files > Hierarchical Cursor Ignore に移動します。
グローバル ignore ファイル
ユーザー設定で全プロジェクトに適用される ignore パターンを設定し、プロジェクトごとの設定なしで機密ファイルを除外できます。グローバル ignore リストはデフォルトでは空です。
追加する一般的なパターン:
- 環境ファイル:
**/.env,**/.env.* - 認証情報:
**/credentials.json,**/secrets.json - キー:
**/*.key,**/*.pem,**/id_rsa
デフォルトで無視されるファイル
Cursor は .gitignore 内のファイルと、以下のデフォルトの ignore リストに含まれるファイルを自動的に無視します。.cursorignore では、! プレフィックスを使ってこの設定を上書きできます。
以下のファイルは、.gitignore と .cursorignore 内のファイルに加えて無視されます。
package-lock.jsonpnpm-lock.yamlyarn.lockcomposer.lockGemfile.lockbun.lockb.env*.git/.svn/.hg/*.lock*.bak*.tmp*.bin*.exe*.dll*.so*.lockb*.qwoff*.isl*.csv*.pdf*.doc*.doc*.xls*.xlsx*.ppt*.pptx*.odt*.ods*.odp*.odg*.odf*.sxw*.sxc*.sxi*.sxd*.sdc*.jpg*.jpeg*.png*.gif*.bmp*.tif*.mp3*.wav*.wma*.ogg*.flac*.aac*.mp4*.mov*.wmv*.flv*.avi*.zip*.tar*.gz*.7z*.rar*.tgz*.dmg*.iso*.cue*.mdf*.mds*.vcd*.toast*.img*.apk*.msi*.cab*.tar.gz*.tar.xz*.tar.bz2*.tar.lzma*.tar.Z*.tar.sz*.lzma*.ttf*.otf*.pak*.woff*.woff2*.eot*.webp*.vsix*.rmeta*.rlib*.parquet*.svg.egg-info/.venv/node_modules/__pycache__/.next/.nuxt/.cache/.sass-cache/.gradle/.DS_Store/.ipynb_checkpoints/.pytest_cache/.mypy_cache/.tox/.git/.hg/.svn/.bzr/.lock-wscript/.Python/.jupyter/.history/.yarn/.yarn-cache/.eslintcache/.parcel-cache/.cache-loader/.nyc_output/.node_repl_history/.pnp.js/.pnp/否定パターンの制限
否定パターン (!で始まるパターン) を使用しても、親ディレクトリが*で除外されている場合は、ファイルを再度含めることはできません。
# public フォルダー内のすべてのファイルを無視するpublic/*# ファイルがトップレベルにあるため、これは機能する!public/index.html# これは機能しない - ネストされたディレクトリ内のファイルは再度含められない!public/assets/style.css回避策:ネストされたディレクトリを明示的に除外します。
public/assets/*!public/assets/style.css # このファイルはアクセス可能になります除外されたディレクトリはパフォーマンス上の理由から走査されないため、配下のファイルに対するパターンは効果がありません。 これは、ネストされたディレクトリ内の否定パターンに関する .gitignore の仕様と一致します。詳細は、gitignore パターンに関する公式 Git ドキュメントを参照してください。
トラブルシューティング
git check-ignore -v [file]でパターンを確認します。