Atur apa yang boleh dilakukan agen dengan token izin di konfigurasi CLI lo. Izin diatur di ~/.cursor/cli-config.json (global) atau <project>/.cursor/cli.json (khusus proyek).

Jenis permission

Perintah shell

Format: Shell(commandBase) Mengontrol akses ke perintah shell. commandBase adalah token pertama di command line.
ContohDeskripsi
Shell(ls)Izinkan menjalankan perintah ls
Shell(git)Izinkan subperintah git apa pun
Shell(npm)Izinkan perintah pengelola paket npm
Shell(rm)Tolak penghapusan file yang destruktif (umumnya di deny)

Pembacaan file

Format: Read(pathOrGlob) Mengontrol akses baca ke file dan direktori. Mendukung pola glob.
ContohDeskripsi
Read(src/**/*.ts)Izinkan membaca file TypeScript di src
Read(**/*.md)Izinkan membaca file Markdown di mana pun
Read(.env*)Tolak membaca file environment
Read(/etc/passwd)Tolak membaca file sistem

Penulisan file

Format: Write(pathOrGlob) Mengontrol akses tulis ke file dan direktori. Mendukung pola glob. Saat dipakai dalam mode print, --force diperlukan untuk menulis file.
ContohDeskripsi
Write(src/**)Izinkan menulis ke file apa pun di bawah src
Write(package.json)Izinkan memodifikasi package.json
Write(**/*.key)Tolak menulis file private key
Write(**/.env*)Tolak menulis file environment

Konfigurasi

Tambahin izin ke objek permissions di file konfigurasi CLI lo:
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

Pencocokan pola

  • Pola glob menggunakan wildcard **, *, dan ?
  • Path relatif dibatasi pada workspace saat ini
  • Path absolut bisa menargetkan file di luar proyek
  • Aturan deny memiliki prioritas dibandingkan aturan allow