Quality Hub — найпотужніша частина SnakeFlow: понад 85 перевірок паралельно, результати з’являються в сайдбарі після завершення кожної перевірки.
Застарілий послідовний build pipeline (devManager.pipeline.*) прибрано — для lint / typecheck / test / build додайте кастомні перевірки в Quality Hub або використовуйте вбудовані та CLI-провайдери. Ctrl+Alt+F запускає всі увімкнені перевірки Quality Hub.
Профіль та налаштування якості
Параметр
Тип
За замовчуванням
Опис
devManager.quality.profile
select
strict
Активний профіль якості (strict / balanced / vibe): типове увімкнення та суворість перевірок.
devManager.quality.warnAsFail
boolean
false
Чи попередження вважаються невдачами (profile / true / false).
devManager.quality.strictMode
boolean
false
Додаткові суворі перевірки, які за замовчуванням вимкнені в кожному профілі.
devManager.quality.autoGateDuplicates.enabled
boolean
true
Автоматично вимикати вбудовану перевірку, якщо виявлено кращий CLI-інструмент для тієї ж задачі (логіка _betterAlternative).
Категорії перевірок
Вбудовані (70+)
Переважно чистий Node.js; частина викликає npx або локальні CLI (tsc, ESLint, Biome, YAMLlint, Spectral…) і дає skip, якщо їх немає. Здоров’я проєкту, розмір коду, безпека, архітектура, TypeScript/React/Next.js, схема ORM і гігієна міграцій (No Manual Migrations, Migrations CI Gate, додаткові правила Squawk) тощо.
CLI (20+)
Зовнішні інструменти (Semgrep, Trivy, Checkov, hadolint…). Якщо бінарника немає — статус skip, не помилка.
Хмарні сервіси (10)
SonarCloud, Snyk, Codecov, Coveralls, Codacy, DeepSource, Qlty, CodeQL, Aikido, Socket.dev — дані з CI/CD або API вендора; повний локальний workspace не завантажується.
Кастомні перевірки
Скрипти проєкту або довільні shell-команди в одній панелі Quality Hub.
Як користуватися
Run (відтворення) у заголовку панелі Quality Hub або Ctrl+Alt+F, або команда палітри SnakeFlow: Run Quality Checks. Для великого репозиторію швидше буває SnakeFlow: Run Quality Checks (changed files only) або Run Changed Files Only на одній перевірці / категорії — провайдери обмежують роботу файлами з git-змін там, де це підтримується.
Під час прогону з’являється Stop — скасувати повний запуск.
Перевірки йдуть паралельно; результати з’являються після готовності кожної.
Сортування: fail → warn → error → pass → skip.
Розгорніть рядок — деталі та шляхи до файлів.
На рядку результату: Run This Check (перезапустити одну перевірку), Copy Result, Stop This Check (поки виконується).
На заголовку категорії (Built-in, CLI, Cloud, Custom): Run Category Checks / Stop Category Checks.
Send to Chat — зведений звіт у чат AI редактора (див. Звіт у чат).
Save — зберегти той самий звіт як Markdown у папці .snakeflow/ у корені проєкту (з міткою часу в імені файлу).
У палітрі команд: Refresh Quality Results (оновити дерево) або Clear Quality Results (очистити панель).
У заголовку панелі (коли не йде прогон): Run → Send to Chat → збереження звіту → Configure (відкриває Settings з фільтром devManager.quality) → додати кастомну перевірку → прибрати кастомну.
Виключення директорій
У розширенні понад 70 стандартних виключень: node_modules, dist, build, __pycache__, target, vendor, .venv, .next, .nuxt, .svelte-kit, coverage тощо.
Додайте свої каталоги (лише назви папок, не glob):
"devManager.quality.skipDirs": [
"generated",
"proto-gen",
"legacy",
".output",
"storybook-static"
]
Виключення файлів
devManager.quality.skipFiles — відносні шляхи (слеші /) від кореня проєкту або шаблони: точний файл, *.vsix, **/імʼя.ts тощо. Застосовується до перевірок, що обходять вихідний код, і до агрегації результатів Semgrep.
"devManager.quality.skipFiles": [
"docs/generated/api.md",
"*.vsix",
"**/generated-types.ts"
]
Продуктивність
"devManager.quality.timeout": 30,
"devManager.quality.maxBuffer": 50
Параметр
За замовчуванням
Опис
timeout
30
Максимум хвилин на одну перевірку
maxBuffer
50
Максимум stdout у МБ
Звіт у чат
"devManager.quality.chatReport": "onFail",
"devManager.quality.chatPrompt": "Проаналізуй результати та виділи 3 найважливіші проблеми."
Значення chatReport
Поведінка
auto
Після кожного прогону відкривати чат зі звітом
onFail (за замовчуванням)
Лише якщо є невдачі
manual
Тільки вручну через Send to Chat
never
Не відправляти в чат
chatPrompt — необов’язковий текст на початку звіту.