Configura lo que el agente puede hacer usando tokens de permiso 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)Permitir ejecutar comandos ls
Shell(git)Permitir cualquier subcomando de git
Shell(npm)Permitir comandos del gestor de paquetes npm
Shell(rm)Denegar eliminación destructiva de archivos (comúnmente 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)Permitir leer archivos TypeScript en src
Read(**/*.md)Permitir leer archivos Markdown en cualquier ubicación
Read(.env*)Denegar la lectura de archivos de entorno
Read(/etc/passwd)Denegar 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 usarlo en modo print, se requiere --force para escribir archivos.
EjemploDescripción
Write(src/**)Permitir escribir en cualquier archivo dentro de src
Write(package.json)Permitir modificar package.json
Write(**/*.key)Denegar la escritura de archivos de claves privadas
Write(**/.env*)Denegar la escritura de archivos de entorno

Configuración

Añade 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 workspace actual
  • Las rutas absolutas pueden apuntar a archivos fuera del proyecto
  • Las reglas de denegación tienen prioridad sobre las reglas de permiso