Перейти к содержимому

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

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

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

# Игнорировать директорию с секретами
secrets/
# Игнорировать конкретный файл
.env
.env.local
# Игнорировать все файлы с расширением .pem
*.pem
# Игнорировать директорию с конфиденциальными данными
private/data/

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

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

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

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

Можно включить паттерны из другого файла с помощью директивы !include:

# Загрузить дополнительные паттерны из отдельного файла
!include .kodikignore.local

Это удобно, если часть паттернов должна оставаться вне системы контроля версий (например, в .kodikignore.local, добавленном в .gitignore).

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

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