Derived Modular Arch
Инструменты

Biome

GritQL-эвристики @derived-modular/biome-plugin для проектов на Biome.

@derived-modular/biome-plugin добавляет четыре архитектурных правила DMA в Biome через GritQL-паттерны. Удобно, если Biome у вас уже единственный линтер и форматтер.

Это приблизительный: плагин смотрит на строки импорта, а не строит полный граф. Точнее работает ESLint-плагин — там есть @derived-modular/boundaries и нормальный резолв путей.

В CI всё равно нужен dma check.

Установка

npm install -D @derived-modular/biome-plugin

Настройка

// biome.jsonc
{
  "extends": ["@derived-modular/biome-plugin"],
  "files": {
    "includes": ["**", "!dist"]
  }
}

Плагин подключает четыре GritQL-правила: layer-direction, feature-to-feature, public-api, no-barrel.

Что покрывается

ПравилоBiomeESLintdma check
layer-directionэвристика
feature-to-featureэвристика
public-apiэвристика
no-barrelэвристика
no-cycle
предикаты входящих рёбер

Ограничения

Нет резолва импортов. Плагин ищет паттерны @/ и относительных путей, но не читает tsconfig aliases целиком. Сложные алиасы могут проскочить или дать ложное срабатывание.

Пути к Grit-плагинам резолвятся от корня проекта (./node_modules/@derived-modular/biome-plugin/...). В flat node_modules (npm, bun) работает стабильно; в некоторых monorepo / PnP раскладках Biome ещё дорабатывает shared-config.

Нет графовых правил. Циклы и «feature с входящие рёбра → service» — только в CLI.

Если можете выбрать — берите ESLint-плагин. Biome оставьте для команд, которые уже полностью на Biome и готовы к эвристикам.

Когда подходит

СитуацияРекомендация
Biome — единый toolchainbiome-plugin + dma check в CI
Уже есть ESLintESLint вместо Biome для DMA
Нужна максимальная точность в редактореESLint, не Biome

Пример конфига — examples/vue-vite/biome.jsonc.

Что дальше

On this page