Configura qué puede hacer el agente usando tokens de permisos en tu configuración de la CLI. Los permisos se definen en ~/.cursor/cli-config.json (global) o <project>/.cursor/cli.json (específico del proyecto).

Tipos de permisos

Comandos de shell

Formato: Shell(commandBase) Controla el acceso a comandos de shell. commandBase es el primer token de la línea de comandos.
EjemploDescripción
Shell(ls)Permite ejecutar comandos ls
Shell(git)Permite cualquier subcomando de git
Shell(npm)Permite comandos del gestor de paquetes npm
Shell(rm)Deniega la eliminación destructiva de archivos (normalmente en deny)

Lectura de archivos

Formato: Read(pathOrGlob) Controla el acceso de lectura a archivos y directorios. Admite patrones glob.
EjemploDescripción
Read(src/**/*.ts)Permite leer archivos TypeScript en src
Read(**/*.md)Permite leer archivos Markdown en cualquier ubicación
Read(.env*)Deniega la lectura de archivos de entorno
Read(/etc/passwd)Deniega la lectura de archivos del sistema

Escritura de archivos

Formato: Write(pathOrGlob) Controla el acceso de escritura a archivos y directorios. Admite patrones glob. Al usar en modo print, se requiere --force para escribir archivos.
EjemploDescripción
Write(src/**)Permite escribir en cualquier archivo dentro de src
Write(package.json)Permite modificar package.json
Write(**/*.key)Deniega escribir archivos de claves privadas
Write(**/.env*)Deniega escribir archivos de entorno

Configuración

Agrega permisos al objeto permissions en tu archivo de configuración de la CLI:
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

Coincidencia de patrones

  • Los patrones glob usan los comodines **, * y ?
  • Las rutas relativas se limitan al espacio de trabajo actual
  • Las rutas absolutas pueden apuntar a archivos fuera del proyecto
  • Las reglas de denegación tienen prioridad sobre las reglas de permiso