Skip to content

Введение

archlint — это детектор архитектурных проблем на основе AST для проектов TypeScript и JavaScript. Он разработан, чтобы помочь командам поддерживать здоровье кодовой базы, предотвращая архитектурные регрессии.

Философия

Предотвращение регрессий (принцип «храповика»)

Самая большая проблема с архитектурным долгом — это его объем. Если инструмент сообщит о 500 циклических зависимостях в первый же день, команда, скорее всего, проигнорирует это. archlint фокусируется на diff (разнице). Он фиксирует текущее состояние и прерывает ваш CI только в том случае, если вы вносите новую архитектурную проблему или ухудшаете существующую.

Объяснять, а не просто сообщать

Знать, что у вас есть «God Module» — это только половина дела. archlint предоставляет контекст: почему это считается архитектурным дефектом, как это влияет на вашу кодовую базу, и дает рекомендации по рефакторингу.

Простота внедрения

Не нужно настраивать серверы или разворачивать базы данных. Это простой CLI-инструмент, который запускается за считанные секунды, учитывает ваш .gitignore и встраивается в любой CI/CD одной командой.

Ключевые особенности

  • 28+ Детекторов: Охватывают зависимости, дизайн модулей, сложность и паттерны проектирования.
  • Быстрый: Построен на Rust и парсере oxc.
  • Поддержка фреймворков: Встроенный интеллект для NestJS, Next.js, React и других.
  • Визуализация: Генерирует отчеты с диаграммами Mermaid для циклических зависимостей.
  • Интеграция: Плагин ESLint для обратной связи в реальном времени и MCP-сервер для рефакторинга с помощью AI.

Released under the MIT License.