Skip to content

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 формат.

Выпущено под лицензией BUSL-1.1.