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