Введение
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.