Configure ce que l’agent a le droit de faire en utilisant des jetons d’autorisation dans ta configuration CLI. Les autorisations se définissent dans ~/.cursor/cli-config.json (global) ou <project>/.cursor/cli.json (spécifique au projet).

Types d’autorisations

Commandes shell

Format : Shell(commandBase) Contrôle l’accès aux commandes shell. Le commandBase est le premier jeton de la ligne de commande.
ExempleDescription
Shell(ls)Autoriser l’exécution des commandes ls
Shell(git)Autoriser n’importe quelle sous-commande git
Shell(npm)Autoriser les commandes du gestionnaire de paquets npm
Shell(rm)Refuser la suppression de fichiers destructrice (souvent dans deny)

Lectures de fichiers

Format : Read(pathOrGlob) Contrôle l’accès en lecture aux fichiers et répertoires. Prend en charge les motifs glob.
ExempleDescription
Read(src/**/*.ts)Autoriser la lecture des fichiers TypeScript dans src
Read(**/*.md)Autoriser la lecture des fichiers Markdown partout
Read(.env*)Refuser la lecture des fichiers d’environnement
Read(/etc/passwd)Refuser la lecture des fichiers système

Écritures de fichiers

Format : Write(pathOrGlob) Contrôle l’accès en écriture aux fichiers et répertoires. Prend en charge les motifs glob. En mode impression, --force est requis pour écrire des fichiers.
ExempleDescription
Write(src/**)Autoriser l’écriture dans n’importe quel fichier sous src
Write(package.json)Autoriser la modification de package.json
Write(**/*.key)Refuser l’écriture de fichiers de clé privée
Write(**/.env*)Refuser l’écriture de fichiers d’environnement

Configuration

Ajoute des autorisations à l’objet permissions dans ton fichier de configuration CLI :
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

Appariement de modèles

  • Les motifs glob utilisent les jokers **, * et ?
  • Les chemins relatifs sont limités à l’espace de travail actuel
  • Les chemins absolus peuvent viser des fichiers en dehors du projet
  • Les règles de refus priment sur les règles d’autorisation