Pular para o conteúdo principal
Configura o que o agente pode fazer usando tokens de permissão na tua config 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ções de arquivos destrutivas (geralmente 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 a leitura de arquivos de ambiente
Read(/etc/passwd)Nega a 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 gravar arquivos.
ExemploDescrição
Write(src/**)Permite escrever em qualquer arquivo dentro de src
Write(package.json)Permite modificar o package.json
Write(**/*.key)Nega a escrita de arquivos de chave privada
Write(**/.env*)Nega a escrita de arquivos de ambiente

Configuração

Adiciona permissões ao objeto permissions no arquivo de configuração da tua 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 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
I