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

bee lint

bee lint отвечает на один вопрос: что этот проект ожидает от этих файлов?

Окно терминала
bee lint src/Catalog/Data/ProductDataSource.cs
# bee — rules for src/Catalog/Data/ProductDataSource.cs
# - a DataSource never calls GetCollection
# ↳ matched: *DataSource.cs

Это не проверщик кода. Он не разбирает файл, у него нет собственного мнения, и он никогда не скажет вам, что строка неверна. Он показывает правила, чьи glob-шаблоны совпали с переданными путями — соглашения, действующие здесь, полученные до написания, а не обнаруженные на ревью.

Линтер в обычном смысле читает уже существующий код и возражает. Это поздняя половина цикла: работа сделана, и обратная связь приходит как переделка.

bee lint — ранняя половина. Те же соглашения, доставленные тогда, когда отменять ещё нечего.

Окно терминала
bee lint src/Catalog/Data/ProductDataSource.cs src/Catalog/Services/ProductService.cs

Несколько путей сразу — правила объединяются, каждое помечено совпавшим шаблоном.

- a DataSource never calls GetCollection
↳ matched: *DataSource.cs

Строка ↳ matched: вынесена отдельно намеренно. Когда шаблон писался в той же строке после текста правила, читавшая его модель скопировала шаблон внутрь файла как комментарий — // LICENCE-7 (*.cs). Вынос происхождения на отдельную строку это прекратил.

Окно терминала
bee lint --json src/Catalog/Data/ProductDataSource.cs

Для шага CI, интеграции с редактором или другого агента.

bee lint — тот же запрос, который выполняет хук перед записью, открытый как команда, чтобы человек, скрипт или агент без подключённых хуков мог спросить напрямую.

  • Хук спрашивает автоматически, и ответ доходит до модели вместе с результатом инструмента — исправление, а не предотвращение.
  • Команда спрашивает осознанно, до того как что-либо написано.

Добавление правила с --path делает его видимым для обоих.