~/.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 パターンでは
**
、*
、?
のワイルドカードを使う - 相対パスはカレントワークスペースがスコープ
- 絶対パスはプロジェクト外のファイルも対象にできる
- 拒否ルールが許可ルールより優先される