# Налаштування хуків: виберіть, що вони перевіряють

> Виберіть, що пропускають хуки, які перевіряють файли, для всіх одразу чи для одного з них.

Канонічна URL-адреса: https://lagune.ai/uk-UA/docs/hooks/configure
Мова: uk-UA
Оригінал: https://lagune.ai/docs/hooks/configure
Останнє оновлення: 2026-11-04

Блок `checkers` у `.lagune/configs.json` визначає, що пропускають хуки, які перевіряють файли, для всіх одразу чи для одного з них.

## Як налаштувати

Додавайте й видаляйте шляхи та шаблони з командного рядка, беручи шаблон у лапки, щоб оболонка залишила його як є:

```bash
npx lagune write add --ignore test/fixtures
npx lagune write add --ignore 'packages/*/dist' --checker secrets
npx lagune write remove --ignore test/fixtures
```

Або задайте їх у файлі:

```json
{
  "checkers": {
    "ignore": ["test/fixtures"],
    "secrets": { "gitignore": false, "ignore": ["test/fixtures", "temp"] }
  }
}
```

### Параметри

| Ключ        | Значення                             | За замовчуванням | Опис                                                                                                      |
| ----------- | ------------------------------------ | ---------------- | --------------------------------------------------------------------------------------------------------- |
| `gitignore` | `true` або `false`                   | `true`           | Пропускати те, що ігнорує **Git**. Файл, який відстежує **Git**, перевіряється в будь-якому разі.         |
| `ignore`    | шляхи або шаблони від кореня проєкту | `[]`             | Пропускати все, з чим збігається кожен із них, разом з усім вмістом, навіть файл, який відстежує **Git**. |

На верхньому рівні `checkers` ключ діє для всіх перевіряльників. Під назвою перевіряльника він діє лише для нього й замінює спільний, тож у прикладі перевіряльник `secrets` перевіряє те, що ігнорує **Git**, і пропускає `test/fixtures` і `temp`. Коли `write add --ignore` уперше задає перевіряльнику власний список, цей список починається з копії спільного.

### Шаблони

Шаблон відраховується від кореня проєкту, тож `*.generated.ts` охоплює лише файли в корені, а `**/*.generated.ts` знаходить їх на будь-якій глибині. Назви збігаються точно, з урахуванням регістру.

| Шаблон              | Що пропускає                                            |
| ------------------- | ------------------------------------------------------- |
| `dist`              | `dist` у корені проєкту                                 |
| `packages/*/dist`   | `dist` у кожній папці всередині `packages`              |
| `**/dist`           | кожен `dist` на будь-якій глибині                       |
| `**/*.generated.ts` | кожен файл, назва якого закінчується на `.generated.ts` |
| `fixture-?`         | `fixture-a`, `fixture-1` і подібні                      |
| `[ab]-cache`        | `a-cache` і `b-cache`                                   |
| `[*]x`              | `*x` з буквальним символом `*`                          |

## Як читати результат

Наприкінці звіту вказано, скільки шляхів пропустила перевірка і що саме їх ігнорує:

```text
Skipped 25 paths that Git ignores and 3 paths that .lagune/configs.json ignores. Name one with --dir or --file to scan it.
```

Шлях, указаний через `--dir` або `--file`, перевіряється незалежно від налаштувань. Налаштування, яке рушій не може прочитати, зупиняє перевіряльник з помилкою, що його називає, як-от шаблон, який починається з `!` або пробілу, виходить за межі проєкту, залишає дужку незакритою або надто довго зіставляється.

## Часті запитання

### Lagune задає ці налаштування за мене?

Ні. Charter перелічує папки в репозиторії, які, згідно з її аналізом, не є кодом, що ви маєте захищати, як-от тестові фікстури, написані так, щоб виглядати вразливими, і записує лише ті, які ви виберете за номером.

### Коли перевіряльнику варто перевіряти те, що ігнорує Git?

Коли репозиторію не можна довіряти, адже його власні файли .gitignore можуть приховувати код, або коли в папці збірки може опинитися ключ, вбудований під час збірки. Встановіть gitignore у false для всіх перевіряльників або для одного.
