FAQ
Загружает ли Archora мой код куда-то?
Нет. Всё работает локально — десктоп-приложение, CLI, анализатор. Никакой телеметрии, никаких аналитических пингов, никакого auto-update сервера. Полный список того, что покидает и не покидает машину, — в Конфиденциальности.
Единственное исключение — опциональная AI-фича объяснений (сейчас отключена, в планах). Она будет слать структурированную сводку метрик — никогда исходники, никогда импорты — выбранному провайдеру. По умолчанию выключена и требует явной настройки.
Почему BUSL-1.1, а не MIT?
Business Source License 1.1 — это «source-available с ограничением на коммерческое использование, автоматически переходящий в OSS через несколько лет». Она позволяет выложить полный исходник — можно читать, собирать, форкать, аудитить, гонять на своих проектах — но не даёт третьим лицам клонировать проект и поднимать как hosted-сервис.
На практике почти для всех читающих:
- Можно собирать и запускать на своём коде. Да, в том числе на работе.
- Можно читать и изучать исходник. Да, в том числе учиться по нему и патчить локально.
- Нельзя взять и предложить «Archora-as-a-service» от себя. Это и есть carve-out.
Через 4 года каждая выпущенная версия флипается в Apache 2.0. Выбрали BUSL, потому что лучше быть честным насчёт границы, чем притворяться, что MIT решает все лицензионные вопросы.
Работает ли на Vue 2?
Частично. Vue-парсер обрабатывает блоки <script> и <script setup> любой версии Vue, использующей single-file components — Vue 2.7+ с composition API в основном работает. Старые Vue 2 кодбейзы на Options API парсятся, но классификация файлов (composable / store) настроена под Composition API паттерны, поэтому эвристики менее точные.
Если у вас Vue 2 и результаты выглядят странно — открывайте issue с репродом. Vue 2 не первоклассная цель, но мы хотим знать, что там сломано.
Монорепо с несколькими tsconfig.json?
Поддерживается. Указывайте Archora на любую директорию с package.json — обычно это пакет workspace. Анализатор:
- Идёт по цепочке
extendsвtsconfig.json(любой глубины). - Резолвит path-алиасы из ближайшего
tsconfig.jsonк каждому файлу. - Сканирует только указанную директорию, не всё монорепо.
Для дашборда по workspace-у запускайте CLI на каждый пакет и агрегируйте JSON-выходы сами. Встроенный monorepo-скан, обходящий pnpm-workspace.yaml / package.json#workspaces и собирающий мульти-пакетный отчёт, в roadmap.
Работает на React / JSX / TSX?
Да. JSX и TSX — first-class. *.jsx и *.tsx парсятся через TypeScript compiler API, как и *.ts/*.js.
Чего он не делает — не интерпретирует фреймворк-специфические паттерны (Next.js dynamic routes, RSC boundaries и т. д.) как архитектурные правила. Хотите правило типа «server components не могут импортировать client components» — это фича слоёв архитектуры: объявите server и client как layers в archora.config.
А как насчёт Svelte?
Да — .svelte файлы парсятся (только script-блок). Подход тот же, что у .vue: script извлекается и анализируется как TypeScript/JavaScript. Шаблоны на импорты не парсятся — Svelte резолвит их через скрипт.
Замедлит ли это мой CI?
На проекте в 1000 модулей скан занимает ~2 секунды. На 5000 — около 10. Боттлнек в CI почти всегда — npm ci, не Archora.
Если job таймаутит, подозревайте кэширование пакетов первым делом.
Чем Archora отличается от madge / dependency-cruiser?
Оба отличные. Archora добавляет:
- Analyzer-first Architecture Workspace с Обзором, Проводником, Матрицей, Циклами, Hotspots, Влиянием и Правилами.
- Детекцию замыкающего ребра через feedback arc set, не просто «вот SCC».
- Композитный ранкинг hot zones.
- Передаваемые отчёты: читаемый HTML brief, полный analyzer JSON и evidence-backed fix-plan JSON.
- Layer-aware рекомендации (misplaced-by-layer, top-violator).
Если нужен только CLI «list cycles в JSON» — обе альтернативы хороши. Если нужен направленный архитектурный triage, Archora построен под это.
На каком минимальном проекте это полезно?
Меньше ~50 модулей структура зависимостей часто настолько мала, что держится в голове — Archora честно про это и не выдумывает инсайты. Получите аккуратный скан и, скорее всего, ноль рекомендаций. Это фича, не баг.
Продукт реально начинает окупаться от 200+ модулей и становится тем полезнее, чем больше проект. Около 5000+ — текущий scaling target.
Есть конфиг-файл?
Опциональный archora.config.{ts,js,json,mjs,cjs} в корне проекта. Полная схема — в Конфигурации. Без конфига = разумные дефолты (без layer-правил, скан всего дерева, дефолтные include/exclude).
Как репортить баг?
GitHub Issues с репродом. Скан публичного репо плюс получившийся JSON-конверт (archora analyze . > scan.json) — самый actionable формат.