Перейти до вмісту

Вбудовані перевірки

Вбудовані перевірки налаштовуються через devManager.quality.builtin.*. Більшість використовують чистий Node.js (файлова система + регулярки) без зовнішніх залежностей; деякі викликають npx або зовнішній CLI, якщо він доступний — і коректно пропускаються, якщо його немає. Всі перевірки увімкнені за замовчуванням.

CLI-перевірки (Semgrep, Trivy, Bandit тощо) описані окремо: CLI-перевірки →.


Середовище розробки

Docker Compose

Запускає docker compose ps (або docker-compose ps) і перевіряє, що всі сервіси з Compose-файлу мають статус running. Помилка — якщо сервіс зупинено, перезапускається або завершив роботу.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dockerComposePs.enabledtrue

Колізії портів

Сканує скрипти package.json, launch-конфіги VS Code, Compose-файли та .env* на наявність номерів портів. Попереджає, якщо один порт зустрічається більше ніж в одному контексті.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.portCollisions.enabledtrue

Здоров’я dev-сервера

Надсилає HTTP GET на налаштований health-шлях dev-сервера. Помилка — якщо сервер повертає не 2xx або не відповідає протягом таймауту.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.devServerHealth.enabledtrue
devManager.quality.builtin.devServerHealth.healthPath"/"
devManager.quality.builtin.devServerHealth.timeoutMs2000

Логи dev-сервера

Сканує лог-файли dev-сервера на рядки, що відповідають патерну помилок. Попереджає при знаходженні відповідних рядків.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.devServerLogs.enabledfalse

Дрейф задач

Порівнює devManager.project.servers (задані скрипти) з tasks.json у VS Code та виявляє відсутні або застарілі визначення задач.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.tasksDrift.enabledtrue

Лінтери та форматери

ESLint

Запускає конфіг ESLint вашого проєкту (eslint.config.js, .eslintrc.*) і виводить порушення стилю та якості коду. Пропускається, якщо конфіг ESLint не знайдено.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.eslint.enabledtrue
devManager.quality.builtin.eslint.maxWarnings0
devManager.quality.builtin.eslint.path"" (auto)

Biome

Запускає biome check за наявності biome.json (або biome.jsonc). Охоплює лінтинг, форматування та сортування імпортів за один прохід.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.biome.enabledtrue
devManager.quality.builtin.biome.path"" (auto)

OXLint

Запускає ультра-швидкий лінтер Oxc, якщо він налаштований у репо (.oxlintrc.json або oxlint у скриптах package.json). До 100× швидший за ESLint.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.oxlint.enabledtrue
devManager.quality.builtin.oxlint.path"" (auto)

Prettier

Запускає prettier --check по всіх вихідних файлах. Помилка, якщо будь-який файл відрізняється від відформатованої Prettier версії. Пропускається без конфіга Prettier.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.prettierCheck.enabledtrue
devManager.quality.builtin.prettierCheck.path"" (auto)

Stylelint

Запускає Stylelint для CSS, SCSS та Less файлів. Пропускається без конфіга Stylelint.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.stylelint.enabledtrue
devManager.quality.builtin.stylelint.path"" (auto)

TypeScript та JavaScript

Floating Promises

Виявляє виклики, що повертають Promise, які не є ані await-нутими, ані повертаються, ані явно оброблені .then()/.catch(). Floating promise мовчки проковтує помилки.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.floatingPromises.enabledtrue

Неправильне async/await

Виявляє async-колбеки у Array.forEach(), .then() без відповідного .catch(), та ігноровані результати Promise.all() / Promise.race().

НалаштуванняЗа замовчуванням
devManager.quality.builtin.asyncAwaitMisuse.enabledtrue

Обробка помилок

Виявляє порожні блоки catch {}, catch (e) {} що ігнорують помилку, Python except: pass, та Ruby rescue без тіла.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.errorHandling.enabledtrue

Типи повернення

Повідомляє про TypeScript функції та методи без явної анотації типу повернення. Налаштовуються пороги попередження/помилки.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.returnTypes.enabledtrue
devManager.quality.builtin.returnTypes.warnAt10
devManager.quality.builtin.returnTypes.failAt50

Відсутні типи повернення

Схожа перевірка — повідомляє про TypeScript функції/методи без явних типів повернення, фокусуючись на експортованих сутностях.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.missingReturnTypes.enabledtrue

Залежності React-хуків

Перевіряє масиви залежностей у useEffect, useCallback, useMemo та useLayoutEffect. Виконується лише якщо в package.json є react.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.reactHooksDeps.enabledtrue

Правила React-хуків

Виявляє виклики useEffect / useCallback / useMemo, у яких повністю відсутній масив залежностей (другий аргумент).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.reactHookRules.enabledtrue

Небезпечні патерни

Позначає небезпечні конструкції: eval(), new Function(), присвоєння innerHTML, document.write() та dangerouslySetInnerHTML.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dangerousPatterns.enabledtrue

Небезпечний HTTP

Позначає звичайні URL http:// у вихідних файлах, де слід використовувати https://. Ігнорує localhost, тестові дані та рядки лише в коментарях.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.insecureHttp.enabledtrue

Гігієна імпортів

Перевіряє wildcard-імпорти import * as, непослідовні патерни розширень файлів та само-імпорти.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.importHygiene.enabledtrue

Вартість імпорту

Оцінює розмір (minified+gzip) кожного імпорту в бандлі та попереджає, коли окремий імпорт перевищує поріг.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.importCost.enabledtrue
devManager.quality.builtin.importCost.warnKb50
devManager.quality.builtin.importCost.failKb200

Focused-тести

Попереджає, якщо у закомічених тестових файлах знайдено модифікатори .only(), fit(), fdescribe() або test.only(). Також запускається як live-діагностика при збереженні.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.noFocusedTests.enabledtrue
devManager.quality.builtin.noFocusedTests.realtimetrue
devManager.quality.builtin.noFocusedTests.precommitfalse

Перевірка tsconfig

Аудит tsconfig.json на відсутні флаги суворого режиму (strict, noImplicitAny, strictNullChecks) та важливі налаштування компілятора.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.tsconfigSanity.enabledtrue

React та Next.js

Доступність

Перевіряє файли JSX, TSX, HTML, Vue та Svelte на типові проблеми доступності: відсутній alt у зображень, порожній декоративний alt, непідписані елементи <input>, <button> та <a>.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.a11y.enabledtrue

Класи Tailwind

Виявляє конфліктуючі або дублікативні утиліти Tailwind CSS на одному елементі (наприклад text-sm text-base).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.tailwindClasses.enabledtrue

Межа Next.js

Позначає модулі 'use client' що імпортують з server-only або використовують Node.js-only API. Виконується лише якщо в package.json є next.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.nextjsBoundary.enabledtrue

Архітектура та імпорти

Циклічні імпорти

Виявляє цикли імпортів у JavaScript/TypeScript проєктах з використанням dependency-cruiser, або власним DFS-обходом якщо інструмент відсутній.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.circularImports.enabledtrue

Barrel-файли

Позначає великі index.ts/js файли з реекспортами. Великі barrel-файли змушують бандлери включати весь barrel, блокуючи tree-shaking.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.barrelFiles.enabledtrue
devManager.quality.builtin.barrelFiles.warnAt20
devManager.quality.builtin.barrelFiles.failAt50

Метрики зв’язаності

Вимірює аферентний (вхідний) та еферентний (вихідний) coupling кожного модуля та позначає архітектурно нестабільні файли.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.couplingMetrics.enabledtrue
devManager.quality.builtin.couplingMetrics.warnAt0.8

Міжшарові імпорти

Перевіряє allow-list імпортів, заданий у devManager.quality.builtin.projectStructure.layers. Виявляє заборонені напрямки (наприклад ui → database).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.crossLayerImports.enabledtrue

Інвентар компонентів

Групує схожі UI-компоненти та хуки за шаблоном імен для виявлення можливостей консолідації.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.componentInventory.enabledtrue

Важкі імпорти

Виявляє імпорти цілих великих бібліотек, що блокують tree-shaking (import _ from 'lodash', import moment from 'moment'). Пропонує іменовані або subpath-імпорти.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.heavyImports.enabledtrue

Глибина імпортів

Попереджає, коли ланцюги відносних імпортів перевищують налаштований ліміт (наприклад ../../../../utils).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.importDepth.enabledtrue
devManager.quality.builtin.importDepth.warnDepth4
devManager.quality.builtin.importDepth.failDepth6

Розмір і складність коду

Кількість рядків

Попереджає, коли вихідні файли перевищують налаштовані ліміти рядків. Також запускається як live-діагностика при збереженні.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lineCount.enabledtrue
devManager.quality.builtin.lineCount.realtimetrue
devManager.quality.builtin.lineCount.precommitfalse
devManager.quality.builtin.lineCount.warnLines300
devManager.quality.builtin.lineCount.failLines500

Довжина функцій

Попереджає, коли функції або методи перевищують налаштовані ліміти рядків.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.functionLength.enabledtrue
devManager.quality.builtin.functionLength.warnLines40
devManager.quality.builtin.functionLength.failLines80

Цикломатична складність

Вимірює цикломатичну складність кожної функції та попереджає при перевищенні ліміту.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.complexity.enabledtrue
devManager.quality.builtin.complexity.warnScore10
devManager.quality.builtin.complexity.failScore20

Розмір файлу

Позначає вихідні файли, що перевищують налаштовані ліміти розміру в КБ. Також запускається як live-діагностика при збереженні.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.fileSize.enabledtrue
devManager.quality.builtin.fileSize.realtimetrue
devManager.quality.builtin.fileSize.precommitfalse
devManager.quality.builtin.fileSize.warnKb50
devManager.quality.builtin.fileSize.failKb200

Довгі рядки

Попереджає, коли забагато рядків у файлі перевищують ліміт ширини колонки.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.longLines.enabledtrue
devManager.quality.builtin.longLines.maxLength120
devManager.quality.builtin.longLines.warnPct5

Глибина директорій

Попереджає, коли вкладеність папок перевищує налаштований ліміт глибини.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.directoryDepth.enabledtrue
devManager.quality.builtin.directoryDepth.warnDepth7
devManager.quality.builtin.directoryDepth.failDepth10

Кількість залежностей

Попереджає, коли проєкт накопичує забагато прямих dependencies (без devDependencies) у package.json.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dependencyCount.enabledtrue
devManager.quality.builtin.dependencyCount.warnAt50
devManager.quality.builtin.dependencyCount.failAt100

Кількість параметрів

Попереджає, коли функції або методи оголошують забагато параметрів. Велика кількість параметрів часто вказує, що функція робить занадто багато — варто згрупувати аргументи в об’єкт options.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.parameterCount.enabledtrue
devManager.quality.builtin.parameterCount.warnAt4
devManager.quality.builtin.parameterCount.failAt7

Типобезпека

Покриття TypeScript any

Підраховує використання any у TypeScript: явні анотації : any, касти (as any) та any у дженериках.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.anyCoverage.enabledtrue
devManager.quality.builtin.anyCoverage.warnAt10
devManager.quality.builtin.anyCoverage.failAt50

Покриття типами

Вимірює загальне покриття типами TypeScript за допомогою type-coverage CLI. Пропускається, якщо type-coverage не встановлено.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.typeCoverage.enabledtrue
devManager.quality.builtin.typeCoverage.atLeast80

Покриття JSDoc

Вимірює покриття JSDoc-коментарями для експортованих функцій, класів та інтерфейсів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.jsdocCoverage.enabledtrue
devManager.quality.builtin.jsdocCoverage.warnAt50
devManager.quality.builtin.jsdocCoverage.failAt20

Типобезпека

Виявляє обходи системи типів TypeScript: as any, @ts-ignore, @ts-expect-error та подібні патерни придушення, що послаблюють статичні гарантії.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.typeSafety.enabledtrue

Non-null assertions

Попереджає про надмірне використання постфіксного оператора !. Часте використання ! сигналізує про місця, де реальні null-перевірки були б безпечнішими.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.nonNullAssertions.enabledtrue
devManager.quality.builtin.nonNullAssertions.warnAt10

Аудит tsconfig

Перевіряє налаштування суворості tsconfig.json: strict, noImplicitAny, strictNullChecks, noUncheckedIndexedAccess, exactOptionalPropertyTypes. Пропонує ввімкнути флаги, що покращують безпеку.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.tsConfig.enabledtrue

Використання enum

Позначає TypeScript enum-декларації, які безпечніше замінити на const-об’єкти або рядкові union-типи. TypeScript enum має неочевидну поведінку та генерує зайвий код.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.enumUsage.enabledtrue

Широкі типи

Виявляє надто широкі TypeScript-типи: Record<K, any>, Array<any>, loose object та bare Function як параметр або тип повернення.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.broadTypes.enabledtrue

Консистентність Zod

Виявляє розбіжності між Zod-схемами та TypeScript-типами, які вони мають валідувати. Позначає дубльовані визначення форм, де можна використати z.infer<>.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.zodConsistency.enabledtrue

Zod Any

Виявляє поля z.any() у Zod-схемах. Поле z.any() мовчки пропускає що завгодно, включаючи некоректні дані.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.zodAny.enabledtrue

ESLint Disable

Підраховує коментарі eslint-disable та придушення на рівні файлу. Велика кількість вказує на систематичний обхід лінтера. Також запускається як live-діагностика при збереженні.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.eslintDisable.enabledtrue
devManager.quality.builtin.eslintDisable.realtimetrue
devManager.quality.builtin.eslintDisable.precommitfalse
devManager.quality.builtin.eslintDisable.warnAt5

N+1 запити

Виявляє ORM-патерни/запити, що викликають N+1 round-trips: findOne/.find() у циклах, відсутні include/with для вкладених відносин (Prisma, Drizzle, Sequelize, TypeORM).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.nPlusOne.enabledtrue

Сумісність з Edge Runtime

Виявляє Node.js-only API (fs, path, crypto, CJS require) у файлах, що виконуватимуться в edge / worker-рантаймах (Cloudflare Workers, Vercel Edge, Deno Deploy).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.edgeCompat.enabledtrue

Межа use client

Позначає Next.js модулі 'use client', що імпортують з server-only або використовують серверні API (клієнти БД, Prisma, Node.js fs/crypto). Такі імпорти спричиняють важко відтворювані runtime-помилки.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.useClientBoundary.enabledtrue

Якість тестів

Співвідношення тестів

Вимірює співвідношення тестових файлів до вихідних. Попереджає, коли тестів мало відносно розміру кодової бази.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.testRatio.enabledtrue
devManager.quality.builtin.testRatio.warnAt0.2

Порожні тести

Виявляє блоки it(), test(), describe(), def test_ та #[test] без assertions.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.emptyTests.enabledtrue

Прогалини в покритті тестами

Визначає вихідні файли з низьким або нульовим покриттям тестами шляхом пошуку відповідних тестових файлів. Не запускає тести — використовує евристику назв файлів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.testCoverageGaps.enabledfalse
devManager.quality.builtin.testCoverageGaps.untestedSampleLimit30

LCOV-покриття

Читає існуючий lcov.info або coverage-summary.json (згенерований вашим тест-ранером) та звітує про покриття рядків, гілок та функцій без повторного запуску тестів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lcovCoverage.enabledtrue
devManager.quality.builtin.lcovCoverage.warnAt70
devManager.quality.builtin.lcovCoverage.failAt50

Гігієна коду

Лічильник TODO

Підраховує маркери TODO, FIXME, HACK, BUG, XXX та NOSONAR у коментарях. Попереджає при перевищенні порогу.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.todoCount.enabledtrue
devManager.quality.builtin.todoCount.warnAt20
devManager.quality.builtin.todoCount.failAt50

Закоментований код

Виявляє великі блоки закоментованого вихідного коду.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.commentedCode.enabledtrue

Дублікати файлів

Виявляє файли з однаковим вмістом (SHA-256 хеш) але різними іменами.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.duplicateFiles.enabledtrue

Змішані відступи

Виявляє файли, що змішують таби та пробіли в одному файлі непослідовно.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.mixedIndent.enabledtrue

Кодування

Виявляє вихідні файли з кодуванням, відмінним від UTF-8.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.encoding.enabledtrue

Магічні числа

Виявляє жорстко закодовані числові літерали, які варто замінити на іменовані константи. Ігнорує загальні значення 0, 1, -1.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.magicNumbers.enabledtrue
devManager.quality.builtin.magicNumbers.warnAt10

Відлагоджувальний код

Виявляє відлагоджувальні оператори у вихідних файлах: console.log, print(), debugger, var_dump(), dd(). Ігнорує console.error/console.warn.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.debugLeaks.enabledtrue

Витоки секретів

Сканує вихідні файли на патерни жорстко закодованих API-ключів, токенів, паролів та приватних ключів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.secretLeaks.enabledtrue

Перевірка .gitignore

Виявляє файли, що відстежуються git, але відповідають патернам у .gitignore.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.gitignoreCheck.enabledtrue

Маркери конфліктів злиття

Виявляє незрозумілі маркери git-конфліктів (<<<<<<<, =======, >>>>>>>) у вихідних файлах. Live-діагностика підсвічує кожен маркер при наборі та збереженні з рівнем помилки.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.mergeConflictMarker.enabledtrue
devManager.quality.builtin.mergeConflictMarker.realtimetrue
devManager.quality.builtin.mergeConflictMarker.precommitfalse

Заголовок ліцензії

Перевіряє наявність обов’язкового заголовка ліцензії в перших 30 рядках вихідних файлів. Активується лише коли налаштовано licenseHeader.pattern (наприклад, SPDX-License-Identifier).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.licenseHeader.enabledtrue
devManager.quality.builtin.licenseHeader.realtimetrue
devManager.quality.builtin.licenseHeader.precommitfalse
devManager.quality.builtin.licenseHeader.pattern""
devManager.quality.builtin.licenseHeader.warnThreshold1
devManager.quality.builtin.licenseHeader.failThreshold10

Документація та текст

Перевірка README

Перевіряє наявність README.md, що він не порожній та містить обов’язкові розділи: Installation, Usage, Contributing та License. Також запускається як live-діагностика при збереженні файлу README.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.readmeCheck.enabledtrue
devManager.quality.builtin.readmeCheck.realtimetrue
devManager.quality.builtin.readmeCheck.precommitfalse

Перевірка Changelog

Валідує CHANGELOG.md відповідно до формату Keep a Changelog: розділ ## [Unreleased], заголовки версій та стандартні підрозділи. Також запускається як live-діагностика при збереженні файлу CHANGELOG.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.changelogCheck.enabledtrue
devManager.quality.builtin.changelogCheck.realtimetrue
devManager.quality.builtin.changelogCheck.precommitfalse

Перевірка CODEOWNERS

Перевіряє .github/CODEOWNERS на коректні шляхи файлів, валідні GitHub-логіни/команди та наявність catch-all правила *. Також запускається як live-діагностика при збереженні CODEOWNERS.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.codeownersCheck.enabledtrue
devManager.quality.builtin.codeownersCheck.realtimetrue
devManager.quality.builtin.codeownersCheck.precommitfalse

i18n ключі

Перевіряє, що кожен ключ перекладу, на який є посилання в коді, існує у всіх налаштованих файлах локалізації, а файли локалізації не містять застарілих ключів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.i18nKeys.enabledtrue

Vale

Запускає Vale для перевірки стилістичної консистентності документації. Потрібен vale у PATH та конфіг .vale.ini. Детальніше: CLI-перевірки → Vale.

Alex

Запускає alex для виявлення нечутливих або недоречних формулювань у документації та коментарях.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.alex.enabledtrue

Lychee

Перевіряє всі гіперпосилання у Markdown та HTML файлах на наявність справних URL.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lychee.enabledtrue

Конфігурація проєкту

Консистентність .env

Порівнює .env та .env.example. Попереджає, якщо .env.example містить ключі, відсутні у .env. Помилка, якщо .env містить ключі, відсутні у .env.example (незадокументований секрет).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.envConsistency.enabledtrue

Лінтер .env

Лінтує .env файли на проблеми: дублікати ключів, відсутні значення, некоректний синтаксис.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dotenvLinter.enabledtrue

Валідація JSON-схеми

Для JSON та YAML файлів з полем $schema перевіряє, що URI схеми синтаксично коректний, а для локальних шляхів — що файл схеми існує на диску. Виявляє опечатки в URI та зламані локальні посилання без мережевих запитів та зовнішніх інструментів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.jsonSchemaValidate.enabledtrue
devManager.quality.builtin.jsonSchemaValidate.realtimetrue
devManager.quality.builtin.jsonSchemaValidate.precommitfalse

Синхронізація lockfile

Виявляє відсутній lockfile при наявному маніфесті, або lockfile старіший за маніфест. Підтримує npm, yarn, pnpm, Cargo, Go, Composer та Poetry.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lockfileSync.enabledtrue

Консистентність версії Node

Виявляє розбіжності версій Node.js між .nvmrc, .node-version, .tool-versions, package.json engines.node та Dockerfile FROM node:.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.nodeVersionConsistency.enabledtrue

Актуальність збірки

Попереджає, якщо директорія артефактів збірки (dist/, build/, out/) старіша за вихідні файли.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.buildFreshness.enabledtrue

Монорепо Workspaces

Перевіряє конфігурації npm/pnpm/yarn workspaces на дрейф версій між пакетами.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.monorepoWorkspaces.enabledtrue

Перевірка package.json

Валідує структуру package.json: обов’язкові поля, валідні скрипти та типові антипатерни.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.packageJsonSanity.enabledtrue

Мертві експорти

Виявляє експортовані функції, типи та константи, що ніколи не імпортуються в проєкті.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.deadExports.enabledfalse

Застарілі фіча-флаги

Виявляє константи фіча-флагів (булеві IS_*_ENABLED, FEATURE_*, FLAG_*), що мають постійне значення понад налаштовану кількість днів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.staleFlags.enabledfalse

Бюджет бандлу

Перевіряє, що розміри JavaScript-бандлів вкладаються в налаштовані бюджети. Використовує існуючу статистику webpack або маніфест Vite — не перезбирає.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.bundleBudget.enabledfalse
devManager.quality.builtin.bundleBudget.warnKb200
devManager.quality.builtin.bundleBudget.failKb500

Architecture DSL

Валідує декларативний файл визначення архітектури (.arch.yaml / arch.json), що описує шари та власників модулів. Помилка при розбіжності структури репо з задекларованою архітектурою.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.archDsl.enabledfalse

Безпека

Trojan Source

Виявляє двонаправлені Unicode управляючі символи (RLO, LRO, RLI, LRI, PDI, BIDI), що можуть приховати шкідливий код від рецензентів (CVE-2021-42574).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.trojanSource.enabledtrue

Аудит GitHub Actions

Аудит файлів .github/workflows/*.yml на проблеми безпеки: незакріплені SHA action-ів, зловживання pull_request_target, ризики ін’єкції ${{ github.event.* }}, жорстко закодовані секрети.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.actionsAudit.enabledtrue

Harden Runner

Перевіряє GitHub Actions workflow на відсутні кроки StepSecurity Harden Runner, що запобігають ексфільтрації та несподіваним мережевим викликам.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.hardenRunnerAudit.enabledtrue

SBOM

Генерує (або перевіряє існуючий) Software Bill of Materials та валідує відповідно до налаштованого формату (SPDX, CycloneDX).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.sbom.enabledfalse

CodeQL (вбудований)

Запускає CodeQL запити локально для глибокого семантичного аналізу вразливостей. Потрібен CodeQL CLI. Для хмарної інтеграції CodeQL — Хмарні провайдери якості → CodeQL.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.codeql.enabledfalse

Accessibility Check

Розширений аудит доступності за правилами WCAG 2.1 AA: контрастність кольорів, управління фокусом, ролі ARIA-landmark, підписи форм.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.a11yCheck.enabledtrue

Row Level Security

Перевіряє SQL-файли міграцій PostgreSQL на таблиці без ALTER TABLE ... ENABLE ROW LEVEL SECURITY або CREATE POLICY. Допомагає виявити прогалини в RLS до виходу в продакшн.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.rlsCheck.enabledtrue

OpenSSF Scorecard

Запускає OpenSSF Scorecard для оцінки стану безпеки проєкту за 18 вимірами. Потрібен CLI scorecard.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.scorecard.enabledfalse

Контейнери та Docker

Dockle

Запускає Dockle для перевірки Docker-образів на відповідність CIS Docker Benchmark. Потрібен dockle у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dockle.enabledtrue

Grype

Сканує контейнерні образи та файлові системи на CVE за допомогою Grype. Потрібен grype у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.grype.enabledtrue
devManager.quality.builtin.grype.failOnSeverity"HIGH"

Dive

Аналізує ефективність шарів Docker-образу на витрачений простір за допомогою Dive. Потрібен dive у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dive.enabledtrue
devManager.quality.builtin.dive.warnPct10

API та схеми

OASDiff (OpenAPI)

Виявляє breaking changes між OpenAPI-специфікацією поточної гілки та базовою. Потрібен oasdiff у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.oasdiff.enabledtrue

GraphQL Inspector

Виявляє breaking changes у GraphQL-схемах між поточною та базовою гілками.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.graphqlInspector.enabledtrue

Buf Breaking (Protobuf)

Виявляє breaking changes у Protobuf-схемах за допомогою buf CLI. Потрібен buf у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.bufBreaking.enabledtrue

Бандл та продуктивність

Size Limit

Перевіряє розміри JS/TS бандлів відповідно до порогів size-limit, налаштованих у package.json.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.sizeLimit.enabledtrue

Lighthouse CI

Запускає Lighthouse CI для вимірювання продуктивності, доступності, SEO та best-practice-балів. Потрібен @lhci/cli та конфіг lighthouserc.*.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lighthouseCi.enabledfalse

Публікація npm-пакетів

Are The Types Wrong

Перевіряє npm package exports на сумісність з TypeScript. Корисно для авторів бібліотек.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.attw.enabledfalse

Publint

Валідує поля exports, main, module та types у package.json за допомогою publint.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.publint.enabledfalse

Lockfile Lint

Валідує формат lockfile та попереджає про нестандартні реєстри або підозрілі записи.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.lockfileLint.enabledfalse

npm Provenance

Перевіряє, що npm пакети проєкту опубліковані з npm provenance attestation (SLSA build provenance).

НалаштуванняЗа замовчуванням
devManager.quality.builtin.npmProvenance.enabledfalse

Syncpack

Перевіряє консистентність версій пакетів у монорепо за допомогою syncpack.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.syncpack.enabledfalse

Manypkg

Перевіряє обмеження пакетів монорепо за допомогою manypkg.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.manypkg.enabledfalse

CI/CD та спостережуваність

Sentry Source Maps

Перевіряє, що source maps Sentry завантажені для останнього релізу.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.sentrySourcemaps.enabledfalse

Promptfoo

Запускає тести promptfoo для валідації поведінки LLM-промптів. Виявляє регресії промптів до виходу в продакшн.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.promptfoo.enabledfalse

act

Запускає GitHub Actions workflows локально за допомогою act для виявлення помилок workflows до push. Потрібен act у PATH та Docker.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.act.enabledfalse

База даних і міграції

Prisma Validate

Запускає prisma validate для перевірки синтаксичної коректності Prisma-схеми. Підтримує одиночний prisma/schema.prisma та multi-file prisma/schema/*.prisma.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.prismaValidate.enabledtrue
ПеревіркаЩо виявляє
Prisma Validateprisma validate, якщо доступний Prisma CLI
Prisma Migrate StatusВідкладені / розсинхронізовані міграції Prisma
Drizzle CheckУзгодженість схеми Drizzle з міграціями
No Manual MigrationsРучний SQL міграцій (Drizzle, Prisma, Atlas)
Migrations CI GateВідсутня CI-перевірка міграцій у GitHub Actions

pgTAP

Перевіряє наявність pgTAP тестів (.sql файли з pgtap) для PostgreSQL проєктів із значною історією міграцій.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.pgtapPresence.enabledfalse

Sqruff

Запускає sqruff SQL-лінтер для виявлення стилістичних проблем та антипатернів. Потрібен sqruff у PATH.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.sqruff.enabledfalse

No Manual Migrations

Виявляє зміни у SQL-файлах міграцій, не узгоджені з генератором.

СтекЯк це зроблено
DrizzleРегенерує міграції у тимчасовій директорії та порівнює з реальними.
Prismaprisma migrate diff порівнює схему з застосованими міграціями.
Atlasatlas migrate validate — перевіряє checksums atlas.sum.
УсіПри checkRemoved: true сканує git-історію на видалені/перейменовані файли міграцій.
"devManager.quality.builtin.noManualMigrations.enabled": true,
"devManager.quality.builtin.noManualMigrations.severity": "error",
"devManager.quality.builtin.noManualMigrations.adapters": ["drizzle", "prisma", "atlas"],
"devManager.quality.builtin.noManualMigrations.checkRemoved": true,
"devManager.quality.builtin.noManualMigrations.gitLookback": 50

Migrations CI Gate

Помилка, якщо в Prisma/Drizzle/Atlas проєкті немає GitHub Actions workflow з командами перевірки міграцій.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.migrationsCiGate.enabledtrue

Контекст AI-агента — рівень користувача

Валідує user-level файли контексту агента: ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.cursor/rules/**, ~/.cursor/skills/** та глобальні інструкції Gemini.

ПеревіркаЩо виявляє
CLAUDE.mdЗанадто великий або структурно некоректний CLAUDE.md на рівні користувача
CodexЗанадто великий або структурно некоректний AGENTS.md для Codex
Cursor RulesВідсутній/некоректний frontmatter у ~/.cursor/rules/*.mdc
GeminiЗанадто великий файл інструкцій Gemini
Global InventoryПідраховує всі файли контексту агента по всіх платформах
SkillsВалідує ~/.cursor/skills/** SKILL.md файли
Total BudgetЗагальний бюджет токенів по всіх user-level файлах
CyrillicКирилиця в інструкціях (~2.75× дорожча за токенами)
Secrets in ContextВитікші API-ключі у user-level файлах контексту
"devManager.quality.builtin.agentContextUser.enabled": true

Контекст AI-агента

Перевірки на рівні проєкту для всіх файлів, які читає AI-агент перед дією (AGENTS.md, CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, правила Cursor / Windsurf / Zed, slash-команди, chatmodes, Anthropic Skills та @import-графи).

ПеревіркаЩо виявляє
Context BudgetСумарний бюджет токенів по всіх файлах контексту
Line Count / File SizeЛіміти на рядки/розмір AGENTS.md, CLAUDE.md, copilot-instructions.md
Recommended Sections10 обов’язкових розділів AGENTS.md
Structure Block DriftБлок <!-- SNAKEFLOW:STRUCTURE --> в AGENTS.md розійшовся з налаштуваннями
Import Graph@import-ланцюги глибші ніж 5 рівнів або циклічні
Cursor Rules FrontmatterYAML frontmatter для .cursor/rules/*.mdc
CLAUDE.md ↔ AGENTS.md SyncЗначне розходження між цими двома файлами
Absolute PathsМашинно-специфічні шляхи, що ламаються на інших машинах
Secrets in ContextВитікші ключі у файлах контексту
Cyrillic Outside CodeКирилиця в інструкціях (~2.75× дорожча токенами)
Orphaned / Duplicate RulesНезалучені або дубльовані файли правил
"devManager.quality.builtin.agentContext.enabled": true

Структура проєкту

Валідує напрямки імпортів між архітектурними шарами, задекларованими в devManager.quality.builtin.projectStructure.layers.

{
"name": "auth", "path": "src/auth/**", "canImport": ["utils"],
"exceptions": [
{ "file": "src/auth/service.ts", "canImport": ["utils", "crypto"] }
]
}

Детальніше: dependency-cruiser.

"devManager.quality.builtin.projectStructure.enabled": true

Безпека і надійність

Небезпечний DOM

Виявляє використання небезпечних DOM API — dangerouslySetInnerHTML, document.write, innerHTML =, eval() та new Function() — що можуть призвести до XSS-вразливостей у JavaScript і TypeScript файлах. Запускається on-type і on-save з debounce 400 мс.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.unsafeDom.enabledtrue
devManager.quality.builtin.unsafeDom.realtimetrue
devManager.quality.builtin.unsafeDom.precommitfalse

Regex DoS

Виявляє регулярні вирази з вкладеними квантифікаторами, що можуть призвести до катастрофічного відступу (ReDoS). Патерни на зразок (.+)+ або (a*)* можуть заморозити event loop на adversarial-вхідних даних. Запускається on-save для JS/TS файлів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.regexDoS.enabledtrue
devManager.quality.builtin.regexDoS.realtimetrue
devManager.quality.builtin.regexDoS.precommitfalse

Стиль коду

Порядок імпортів

Виявляє блоки імпортів у невірному порядку: спочатку зовнішні пакети, потім workspace-імпорти, потім відносні. Запускається on-save для JS/TS/JSX/TSX без виклику ESLint.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.importSortDelta.enabledtrue
devManager.quality.builtin.importSortDelta.realtimetrue
devManager.quality.builtin.importSortDelta.precommitfalse

Дублікати рядкових літералів

Знаходить повторювані рядкові літерали у JSX/TSX файлах для виділення в i18n. Позначаються лише рядки довжиною більше minLength символів, що зустрічаються мінімум minCount разів у одному файлі. Запускається on-save.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.duplicateStringLiteral.enabledtrue
devManager.quality.builtin.duplicateStringLiteral.realtimetrue
devManager.quality.builtin.duplicateStringLiteral.precommitfalse
devManager.quality.builtin.duplicateStringLiteral.minLength10
devManager.quality.builtin.duplicateStringLiteral.minCount3

Портативність shebang

Попереджає, коли shell-скрипти використовують непортабельний абсолютний shebang (напр. #!/bin/bash) замість портабельного #!/usr/bin/env bash. Запускається on-save для shell-скриптів.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.shebangPortability.enabledtrue
devManager.quality.builtin.shebangPortability.realtimetrue
devManager.quality.builtin.shebangPortability.precommitfalse

Маніфести мов

Санітарна перевірка Cargo.toml

Перевіряє маніфести Rust Cargo.toml на наявність обов’язкової секції [package] та ключових полів: name, version, edition. Аналог перевірки package.json для Rust-проєктів. Запускається on-save.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.cargoToml.enabledtrue
devManager.quality.builtin.cargoToml.realtimetrue
devManager.quality.builtin.cargoToml.precommitfalse

Санітарна перевірка pyproject.toml

Перевіряє маніфести Python pyproject.toml на наявність обов’язкової секції [project] (PEP 517/518) або [tool.poetry] (Poetry). Запускається on-save.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.pyProject.enabledtrue
devManager.quality.builtin.pyProject.realtimetrue
devManager.quality.builtin.pyProject.precommitfalse

Git та версіювання

Git LFS Pointer

Виявляє бінарні файли, що є Git LFS-покажчиками замість реального вмісту. Покажчик починається з version https://git-lfs.github.com/spec/v1. Запустіть git lfs pull для отримання реального вмісту. Запускається on-save.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.gitLfsPointer.enabledtrue
devManager.quality.builtin.gitLfsPointer.realtimetrue
devManager.quality.builtin.gitLfsPointer.precommitfalse

Відставання гілки від main

Перевіряє, на скільки комітів поточна гілка відстає від remote main за допомогою git rev-list --count HEAD..origin/<mainBranch>. Запускається як workspace-інтервальна перевірка кожні 5 хвилин та попереджає про необхідність rebase.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.branchBehindMain.enabledtrue
devManager.quality.builtin.branchBehindMain.realtimetrue
devManager.quality.builtin.branchBehindMain.precommitfalse
devManager.quality.builtin.branchBehindMain.mainBranch"main"
devManager.quality.builtin.branchBehindMain.warnAt10
devManager.quality.builtin.branchBehindMain.failAt50

Runtime / Інфраструктура

Перевірка зайнятості порту

Виявляє, коли порти dev-сервера, зазначені у package.json scripts, вже зайняті перед запуском сервера. Запускається кожні 10 секунд як workspace-інтервальна перевірка та слідкує за змінами package.json. Доповнює існуючу перевірку Port Collisions.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.prebindPort.enabledtrue
devManager.quality.builtin.prebindPort.realtimetrue
devManager.quality.builtin.prebindPort.precommitfalse

Сповіщення про ресурси Docker

Моніторить запущені Docker-контейнери через docker stats --no-stream та попереджає при перевищенні налаштованих порогів CPU або пам’яті. Слідкує за docker-compose.yml / compose.yml та опитує кожні 30 секунд.

НалаштуванняЗа замовчуванням
devManager.quality.builtin.dockerResourceAlert.enabledtrue
devManager.quality.builtin.dockerResourceAlert.realtimetrue
devManager.quality.builtin.dockerResourceAlert.precommitfalse
devManager.quality.builtin.dockerResourceAlert.cpu80
devManager.quality.builtin.dockerResourceAlert.mem90

Пороги налаштувань

Кожна вбудована перевірка підтримує enabled. Більшість числових перевірок мають warnAt/failAt:

"devManager.quality.builtin.lineCount.warnLines": 300,
"devManager.quality.builtin.lineCount.failLines": 500,
"devManager.quality.builtin.complexity.warnScore": 10,
"devManager.quality.builtin.complexity.failScore": 20,
"devManager.quality.builtin.dependencyCount.warnAt": 50,
"devManager.quality.builtin.dependencyCount.failAt": 100

Повністю вимкнути перевірку:

"devManager.quality.builtin.magicNumbers.enabled": false

TypeScript Check (tscCheck) — запускає npx tsc --noEmit — детальніше: CLI-перевірки → tsc.