# Игнорирование файлов (.kodikignore)

> Как запретить агенту доступ к определённым файлам и директориям с помощью .kodikignore.

Источник: https://docs.kodik.ru/context/ignore-files

Файл `.kodikignore` в корне рабочего пространства позволяет явно запретить агенту доступ к определённым путям. Агент не сможет читать, просматривать, искать или редактировать совпадающие файлы — независимо от того, как он пытается это сделать.

![Image](https://docs.kodik.ru/img/image36.png)

## Синтаксис

`.kodikignore` использует тот же синтаксис, что и `.gitignore`:

```
# Игнорировать директорию с секретами
secrets/

# Игнорировать конкретный файл
.env
.env.local

# Игнорировать все файлы с расширением .pem
*.pem

# Игнорировать директорию с конфиденциальными данными
private/data/
```

Сам файл `.kodikignore` также автоматически скрыт от агента.

## Что именно блокируется

Kodik применяет правила `.kodikignore` на нескольких уровнях:

**Файловые операции.** Агент не может читать, записывать или получить список содержимого заблокированных путей через встроенные инструменты (чтение файлов, редактирование, поиск).

**Команды терминала.** Kodik анализирует команды оболочки перед их выполнением. Если команда попытается обратиться к заблокированному пути — через `cat`, `cp`, `grep`, `python`, `node` и многие другие — она будет отклонена. Блокируются как команды чтения, так и деструктивные команды (`rm`, `mv` и т.д.).

## Горячая перезагрузка

`KodikIgnoreController` отслеживает изменения `.kodikignore` с помощью файлового наблюдателя. Паттерны обновляются автоматически при сохранении файла — перезапускать IDE не нужно.

## Когда использовать `.kodikignore`

- Файлы с секретами, которые не должны попасть в промпт (`.env`, ключи, сертификаты)
- Большие сгенерированные директории, которые не нужны агенту (`dist/`, `node_modules/`)
- Конфиденциальные данные: личные документы, данные пользователей, юридические файлы
- Артефакты сборки и временные файлы, засоряющие результаты поиска

:::caution
`.kodikignore` защищает только от доступа агента. Это не замена правильным правам доступа к файлам и не влияет на то, что могут видеть другие инструменты или пользователи.
:::
