~/.cursor/cli-config.json
(グローバル)または <project>/.cursor/cli.json
(プロジェクト固有)で指定する。
パーミッションの種類
シェルコマンド
Shell(commandBase)
シェルコマンドへのアクセスを制御する。commandBase
はコマンドラインの先頭トークン。
例 | 説明 |
---|---|
Shell(ls) | ls コマンドの実行を許可 |
Shell(git) | 任意の git サブコマンドを許可 |
Shell(npm) | npm パッケージマネージャーのコマンドを許可 |
Shell(rm) | 破壊的なファイル削除を拒否(一般的に deny で使用) |
ファイル読み取り
Read(pathOrGlob)
ファイルやディレクトリの読み取りアクセスを制御する。glob パターンに対応。
例 | 説明 |
---|---|
Read(src/**/*.ts) | src 配下の TypeScript ファイルの読み取りを許可 |
Read(**/*.md) | 任意の場所の Markdown ファイルの読み取りを許可 |
Read(.env*) | 環境ファイルの読み取りを拒否 |
Read(/etc/passwd) | システムファイルの読み取りを拒否 |
ファイル書き込み
Write(pathOrGlob)
ファイルやディレクトリへの書き込みアクセスを制御する。glob パターンに対応。print モードで使う場合、ファイルを書き込むには --force
が必要。
例 | 説明 |
---|---|
Write(src/**) | src 配下の任意のファイルへの書き込みを許可 |
Write(package.json) | package.json の変更を許可 |
Write(**/*.key) | 秘密鍵ファイルへの書き込みを拒否 |
Write(**/.env*) | 環境ファイルへの書き込みを拒否 |
設定
permissions
オブジェクトに権限を追加しよう:
パターンマッチング
- Glob パターンでは
**
、*
、?
のワイルドカードを使う - 相対パスは現在のワークスペースを基準に解決される
- 絶対パスはプロジェクト外のファイルも対象にできる
- deny ルールは allow ルールより優先される