Configura o que o agente pode fazer usando tokens de permissão na tua configuração da CLI. As permissões são definidas em ~/.cursor/cli-config.json (global) ou <project>/.cursor/cli.json (por projeto).

Tipos de permissão

Comandos de shell

Formato: Shell(commandBase) Controla o acesso a comandos de shell. O commandBase é o primeiro token da linha de comando.
ExemploDescrição
Shell(ls)Permite executar comandos ls
Shell(git)Permite qualquer subcomando do git
Shell(npm)Permite comandos do gerenciador de pacotes npm
Shell(rm)Nega remoção destrutiva de arquivos (comumente em deny)

Leituras de arquivos

Formato: Read(pathOrGlob) Controla o acesso de leitura a arquivos e diretórios. Suporta padrões glob.
ExemploDescrição
Read(src/**/*.ts)Permite ler arquivos TypeScript em src
Read(**/*.md)Permite ler arquivos Markdown em qualquer lugar
Read(.env*)Nega leitura de arquivos de ambiente
Read(/etc/passwd)Nega leitura de arquivos do sistema

Escritas de arquivos

Formato: Write(pathOrGlob) Controla o acesso de escrita a arquivos e diretórios. Suporta padrões glob. Ao usar em modo de impressão, --force é necessário para escrever arquivos.
ExemploDescrição
Write(src/**)Permite escrever em qualquer arquivo dentro de src
Write(package.json)Permite modificar o package.json
Write(**/*.key)Nega escrita de arquivos de chave privada
Write(**/.env*)Nega escrita de arquivos de ambiente

Configuração

Adiciona permissões ao objeto permissions no teu arquivo de configuração da CLI:
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

Correspondência de padrões

  • Padrões glob usam os curingas **, * e ?
  • Caminhos relativos têm escopo no workspace atual
  • Caminhos absolutos podem apontar para arquivos fora do projeto
  • Regras de negação têm precedência sobre regras de permissão