~/.cursor/cli-config.json
(глобально) или <project>/.cursor/cli.json
(для конкретного проекта).
Типы разрешений
Команды shell
Shell(commandBase)
Контролирует доступ к командам shell. commandBase
— это первый токен в командной строке.
Example | Description |
---|---|
Shell(ls) | Разрешить запуск команд ls |
Shell(git) | Разрешить любые подкоманды git |
Shell(npm) | Разрешить команды менеджера пакетов npm |
Shell(rm) | Запретить разрушительное удаление файлов (обычно используется в deny ) |
Чтение файлов
Read(pathOrGlob)
Контролирует доступ на чтение файлов и каталогов. Поддерживает glob-шаблоны.
Example | Description |
---|---|
Read(src/**/*.ts) | Разрешить чтение файлов TypeScript в src |
Read(**/*.md) | Разрешить чтение файлов Markdown в любом месте |
Read(.env*) | Запретить чтение файлов окружения |
Read(/etc/passwd) | Запретить чтение системных файлов |
Запись файлов
Write(pathOrGlob)
Контролирует доступ на запись файлов и каталогов. Поддерживает glob-шаблоны. В режиме печати для записи файлов требуется --force
.
Example | Description |
---|---|
Write(src/**) | Разрешить запись в любые файлы внутри src |
Write(package.json) | Разрешить изменение package.json |
Write(**/*.key) | Запретить запись файлов приватных ключей |
Write(**/.env*) | Запретить запись файлов окружения |
Конфигурация
permissions
в конфиге CLI:
Сопоставление по шаблону
- В шаблонах glob используются подстановочные символы
**
,*
и?
- Относительные пути ограничены текущим рабочим пространством
- Абсолютные пути могут указывать на файлы за пределами проекта
- Правила запрета имеют приоритет над правилами разрешения