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

Усі налаштування

Усі параметри в просторі імен devManager.*.

Редагування:

  • Ctrl+, → пошук @ext:vaulttec-dev.snakeflow-dev-manager
  • Або .vscode/settings.json (workspace, окремо для кожного проєкту)

Примітка: Quality Hub реєструє понад 90 провайдерів і сотні ключів devManager.quality.<providerId>.*. Таблиці нижче — репрезентативні приклади за категоріями. Повний актуальний перелік переглядайте в Налаштуваннях IDE: Ctrl+, → пошук devManager.quality. — біля кожного ключа є вбудований опис.


Проєкт

ПараметрТипЗа замовчуваннямОпис
devManager.project.namestringautoІдентифікатор проєкту
devManager.project.dirstringautoАбсолютний шлях до кореня
devManager.project.packageManagerenum"auto"auto | npm | pnpm | yarn | bun
devManager.project.serversarray[]Dev-сервери — /uk/features/servers/
devManager.project.composePathstring""Шлях до Compose (порожньо = авто)
devManager.project.containerActionsarrayautoМеню контейнерів

Поля запису devManager.project.servers[]

ПолеОбов’язковеЗа замовч.Опис
idтакУнікальний id (префікс імені терміналу)
labelтакНазва в меню серверів
commandтакShell-команда в іменованому терміналі
pathні""Робоча директорія відносно кореня проєкту
portні0TCP-порт для статусу (0 = лише термінал)
startWithAllніtruefalse — не входить у Ctrl+Alt+S; запуск з меню status bar

Git і GitHub

ПараметрТипЗа замовчуваннямОпис
devManager.git.defaultBranchstring"main"Fallback назви гілки
devManager.git.protectedBranchesstring[]["main","master","develop","staging","production"]Підтвердження перед видаленням
devManager.git.statusBar.debugLogbooleanfalseДетальні логи оновлення Git status bar (Output channel)
devManager.prToChat.promptstring""Промпт для PR у чат
devManager.issueToChat.promptstring""Промпт для Issue у чат
devManager.github.sprints.enabledbooleanfalseСпринти на базі GitHub Milestones. Див. GitHub Sprints.
devManager.github.sprints.namingHintstring""Підказка імені нового спринту.

SnakeFlow Cloud

ПараметрТипЗа замовчуваннямОпис
devManager.cloud.apiUrlstringhttps://snakeflow-api.pro-connect.workers.devREST API (HTTPS). Self-hosted Workers.
devManager.cloud.dashboardUrlstringhttps://snakeflow-cloud.pages.devВеб-dashboard.
devManager.cloud.repoOverridestring""Примусово owner/repo, якщо remote не GitHub.

Детальніше: Синхронізація налаштувань у хмарі → — команди та приватність.


Team Tracker

ПараметрТипЗа замовчуваннямОпис
devManager.team.enabledbooleanfalseУвімкнено — облік активних хвилин за UTC-добу та відправка в team API після входу.
devManager.team.activeAppSourcestring"native"Джерело активної програми: native (за замовчуванням) або off. Див. Джерела активності.
devManager.team.idleWindowMinutesnumber5Заявлене вікно в Settings (1–15). Collector обмежує ефективне вікно 2 хв (мін. 1). З membership — мінімум серверного idle_window_minutes. Без membership — 2 хв. Див. Team Tracker.
devManager.team.dayGoalMinutesnumber360Цільові хвилини для progress bar у tooltip статус-бару (за замовч. 6 год). Лише візуалізація. Див. Ціль дня.
devManager.team.requireTrackingbooleanfalseЯкщо true — попередження, коли трекінг вимкнено і сесію не запущено.
devManager.team.idleSleepWindowstring""Локальний інтервал HH:MM-HH:MM, у якому collector примусово IDLE. Порожньо = вимкнено. Див. Інтервал сну.

Allowlist програм (regex по назві вікна / app) — це не параметр devManager.*: адмін workspace налаштовує на сервері (вкладка Cloud Team або команда SnakeFlow: Team Tracker — Edit App Allowlist). Детальніше: Team Tracker → — джерела активності, інтервал сну, internal/external, лог.


Docker і CI

ПараметрТипЗа замовчуваннямОпис
devManager.docker.composeCommandstring"docker compose"CLI Compose
devManager.terminal.shellPathstring""Оболонка для керованих терміналів (сервери, Docker, скрипти). Порожнє = авто: login-shell на macOS/Linux (PATH як у Cursor); дефолт IDE на Windows
devManager.terminal.shellArgsstring[]["-l"]Аргументи оболонки керованих терміналів на macOS/Linux (login-shell читає ~/.profile). На Windows ігнорується
devManager.ci.workflowsPathstring".github/workflows"Шлях до workflow GitHub Actions

AI (Gemini + Dictation)

ПараметрТипЗа замовчуваннямОпис
devManager.gemini.apiKeystring""Ключ Google Gemini для заголовків issues та голосового введення
devManager.gemini.modelstring"gemini-2.5-flash"Назва моделі
devManager.gemini.dictationLanguageenum"auto"Мова для транскрибації голосового введення. auto = Gemini визначає автоматично. Варіанти: uk, en, de, fr, es, pl, it, pt, nl, cs, ja, zh, ko

Детальніше: Голосове введення →


Логування

ПараметрТипЗа замовчуваннямОпис
devManager.log.verbose.teambooleanfalseЗаписувати кожен tick Team Tracker (IDLE/ACTIVE/SKIP) у output channel SnakeFlow.
devManager.log.verbose.qualitybooleantrueЗаписувати start/finish кожного провайдера Quality Hub під час повних прогонів.

Agent Quality Loop

File IPC для AI-агентів — запуск повторних прогонів Quality Hub. За замовчуванням файл-тригер і launcher-скрипти trigger-quality лежать у глобальному каталозі — ~/.snakeflow/ipc/<encoded-project>/trigger-run.json (шлях проєкту, де кожен не-алфавітно-цифровий символ замінено на -; враховує $SNAKEFLOW_CONFIG_DIR) — тож у проєкт нічого не пишеться, а .gitignore не змінюється. Старе in-project розташування теж завжди відстежується, тому старіші агенти продовжують працювати.

ПараметрТипЗа замовчуваннямОпис
devManager.quality.agentLoop.enabledbooleantrueСтежити за IPC-файлом trigger-run.json та запускати Quality Hub для агентів. Вимкнути — зупинити watcher.
devManager.quality.agentLoop.locationstring"global"Де лежать IPC-файли: global (~/.snakeflow/ipc/…, поза репозиторієм) або project (у каталозі dir, додається до .gitignore).
devManager.quality.agentLoop.dirstring".snakeflow"Каталог відносно workspace для IPC-файлів. Діє лише коли location = project.

AI Usage

Індикатори лімітів підписок Claude Code і Cursor у status bar.

ПараметрТипЗа замовчуваннямОпис
devManager.aiUsage.enabledbooleantrueГоловний перемикач індикаторів AI usage у status bar.
devManager.aiUsage.claude.enabledbooleantrueІндикатор Claude Code (OAuth-токен з ~/.claude/.credentials.json).
devManager.aiUsage.cursor.enabledbooleantrueІндикатор Cursor (лише всередині Cursor).
devManager.aiUsage.claude.refreshIntervalSecnumber600Інтервал опитування Anthropic (сек, мін. 60).
devManager.aiUsage.cursor.refreshIntervalSecnumber300Інтервал оновлення Cursor usage (сек, мін. 60).
devManager.aiUsage.cursor.sessionTokenstring""Ручний fallback session token Cursor, якщо auto-extraction через sqlite3 недоступна. User settings.
devManager.aiUsage.segmentsnumber10Кількість сегментів у progress bar status bar (4–20).

Quality Hub — загальне

ПараметрТипЗа замовчуваннямОпис
devManager.quality.customChecksarray[]Кастомні перевірки
devManager.quality.skipDirsstring[][]Додаткові назви папок (не glob), що додаються до вбудованих виключень
devManager.quality.skipFilesstring[][]Відносні шляхи від кореня проєкту (слеші /), шаблони на кшталт *.vsix або **/file.ext — для багатьох built-in і агрегації Semgrep
devManager.quality.timeoutnumber30Макс. час перевірки (хв)
devManager.quality.maxBuffernumber50Макс. stdout (МБ)
devManager.quality.chatReportenum"onFail"auto | onFail | manual | never — коли відкривати чат зі звітом після прогону
devManager.quality.chatPromptstring""Текст на початку звіту в чат

Quality Hub — вбудовані перевірки

Замість <check> — назва перевірки. Спільне:

ПараметрТипЗа замовчуванням
devManager.quality.builtin.<check>.enabledbooleantrue

Приклади порогів:

"devManager.quality.builtin.lineCount.warnLines": 300,
"devManager.quality.builtin.lineCount.failLines": 500,
"devManager.quality.builtin.functionLength.warnLines": 40,
"devManager.quality.builtin.functionLength.failLines": 80,
"devManager.quality.builtin.complexity.warnScore": 10,
"devManager.quality.builtin.complexity.failScore": 20,
"devManager.quality.builtin.fileSize.warnKb": 50,
"devManager.quality.builtin.fileSize.failKb": 200,
"devManager.quality.builtin.importDepth.warnDepth": 4,
"devManager.quality.builtin.importDepth.failDepth": 6,
"devManager.quality.builtin.dependencyCount.warnAt": 50,
"devManager.quality.builtin.dependencyCount.failAt": 100,
"devManager.quality.builtin.parameterCount.warnAt": 4,
"devManager.quality.builtin.parameterCount.failAt": 7,
"devManager.quality.builtin.jscpd.threshold": 5,
"devManager.quality.builtin.jscpd.minLines": 5,
"devManager.quality.builtin.trivy.failOnSeverity": "HIGH",
"devManager.quality.builtin.trivy.warnOnSeverity": "MEDIUM",
"devManager.quality.builtin.trivy.path": "trivy",
"devManager.quality.builtin.golangciLint.warnAt": 5,
"devManager.quality.builtin.golangciLint.failAt": 20,
"devManager.quality.builtin.golangciLint.path": "golangci-lint",
"devManager.quality.builtin.bandit.path": "bandit",
"devManager.quality.builtin.bearer.path": "bearer",
"devManager.quality.builtin.returnTypes.warnAt": 10,
"devManager.quality.builtin.returnTypes.failAt": 50,
"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,
"devManager.quality.builtin.prismaMigrateStatus.realtime": true,
"devManager.quality.builtin.squawk.dataRisk": "warn",
"devManager.quality.builtin.squawk.requireDownMigration": false,
"devManager.quality.builtin.migrationsCiGate.enabled": true,
"devManager.quality.semgrep.config": "auto"

Назви вбудованих перевірок:

lineCount · functionLength · complexity · fileSize · longLines · importDepth · directoryDepth · dependencyCount · todoCount · commentedCode · duplicateFiles · testRatio · mixedIndent · encoding · secretLeaks · gitleaks · debugLeaks · gitignoreCheck · magicNumbers · parameterCount · barrelFiles · couplingMetrics · componentInventory · heavyImports · anyCoverage · jsdocCoverage · lcovCoverage · actionsAudit · emptyTests · jscpd · knip · dependencyCruiser · pkgAudit · outdatedDeps · licenseCheck · hadolint · shellcheck · golangciLint · bearer · stryker · trivy · bandit · semgrep · act · envConsistency · lockfileSync · nodeVersionConsistency · readmeCheck · changelogCheck · codeownersCheck · tscCheck · asyncAwaitMisuse · errorHandling · returnTypes · reactHookRules · a11yCheck · yamllint · spectral · checkov · sqlfluff · markdownlint · attw · publint · lockfileLint · npmProvenance · syncpack · manypkg · scorecard · typeCoverage · commitlint · noFocusedTests · noManualMigrations · migrationsCiGate · stylelint · prettierCheck · sizeLimit · lighthouseCi · oasdiff · graphqlInspector · bufBreaking · dockle · grype · dive · hardenRunnerAudit · sbom · sentrySourcemaps · trojanSource · rlsCheck · pgtapPresence · sqruff · vale · alex · lychee · promptfoo · dotenvLinter

Профіль якостіdevManager.quality.profile (strict | balanced | vibe, за замовчуванням strict) керує тим, які перевірки типово запускаються. strict — максимальний набір (усі ввімкнені, warning трактується як fail). balanced — той самий набір увімкнень, але warning лишається warning. vibe — за замовчуванням лише «сильні» CLI-інструменти. Параметри enabled у конкретного провайдера завжди мають пріоритет. Див. також devManager.quality.warnAsFail — накладання «підвищення» warning до fail.

Realtime Quality

Додаткові у редакторі повторні прогоні для провайдерів із realtime-хуками.

ПараметрТипЗа замовчуваннямОпис
devManager.realtime.enabledbooleanfalseГоловний вимикач.
devManager.realtime.onType.enabledbooleantrueПовтор після введення тексту.
devManager.realtime.onSave.enabledbooleantrueПовтор після збереження.
devManager.realtime.statusBar.enabledbooleantrueЛічильники Lint / Types / Secrets у status bar.

No Manual Migrations, Prisma Migrate Status (watch) і подібні перевірки можуть оновлювати діагностику при змінах файлів схеми/міграцій, якщо ввімкнено і перевірку, і realtime. Див. No Manual Migrations →.

Область дії перевірки: Hub / Реалтайм

Кожен провайдер якості має два незалежні рубильники. Їх можна комбінувати довільно — наприклад, залишити перевірку у Quality Hub, але вимкнути live-підкреслення.

РубильникКлюч налаштуванняЗа замовч.Ефект
Hub (Quality Hub, Ctrl+Alt+F)devManager.quality.builtin.<id>.enabledtrueВключає / виключає перевірку з пакетного запуску
Реалтайм (live-діагностика)devManager.quality.builtin.<id>.realtimetrueВмикає підкреслення при наборі / збереженні

Примітка: вбудований pre-commit git gate у SnakeFlow прибрано. Для блокування комітів використовуйте власний менеджер git-hooks (Husky, lefthook тощо) або CI. Див. Кастомні перевірки →.


Workflows

AI-керовані сценарії (власні багатокрокові прогони з бічної панелі).

ПараметрТипЗа замовчуваннямОпис
devManager.workflows.aiProviderstring"claude"AI backend для кроків workflow (claude або gemini)
devManager.workflows.anthropicApiKeystring""Ключ Anthropic для кроків AI у workflow
devManager.workflows.claudeModelstring"sonnet"Модель Claude для AI-кроків (підтягується з API)
devManager.workflows.claudePathstring""Шлях до бінарника claude CLI (порожньо = auto)
devManager.workflows.timeoutMinutesnumber60Макс. тривалість одного прогону workflow (хв; 0 = без обмеження)
devManager.workflows.maxCostUsdnumber5Макс. витрати на AI (USD) за прогон до зупинки
devManager.workflows.watchdogSecondsnumber90Секунд тиші, після яких крок вважається завислим
devManager.workflows.useApiKeybooleanfalseАвтентифікація HTTP-запитів workflow за API-ключем проєкту
devManager.workflows.customarray[]Власні визначення workflow

Wake Lock

Блокує сон ОС під час активності в редакторі та за потреби під час Quality Hub. Не залежить від обліку хвилин у Team Tracker →. Детально: Wake Lock →.

ПараметрТипЗа замовчуваннямОпис
devManager.wakeLock.enabledbooleantrueГоловний перемикач. false — і трекер активності в статус-барі, і авто Quality Hub не отримують лок.
devManager.wakeLock.autoActivatebooleantrueАвтоматично тримати wake lock на час повного прогону Quality Hub (acquire('Quality Hub')), незалежно від перемикача в статус-барі.
devManager.wakeLock.keepDisplayAwakebooleantrueТримати дисплей увімкненим (ES_DISPLAY_REQUIRED у Windows; на частині Linux дисплей може все одно гаснути).
devManager.wakeLock.idleThresholdSecondsnumber120При перемикачі ON — секунд без сигналів активності перед звільненням активнісного лока (довгограючі task самі по собі не «якорять» лок).
devManager.wakeLock.readyTimeoutMsnumber0Очікування готовності helper (0 = дефолт платформи).
devManager.wakeLock.startRetriesnumber2Повторні спроби запуску helper.
devManager.wakeLock.maxHoldHoursnumber4Якщо refCount лишається більше нуля безперервно стільки годин — попередження в лог і notification (0 = вимкнено). Без примусового release.
devManager.wakeLock.persistLogbooleanfalseДублювати рядки каналу Wake Lock у <workspace>/.vscode/snakeflow-wakelock.log або <workspace>/.cursor/snakeflow-wakelock.log (ротація 1 МБ). Потрібна відкрита папка workspace.

Команди: SnakeFlow: Wake Lock — Toggle / SnakeFlow: Wake Lock — Diagnose (довідник команд →).


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

Керування контекстом для AI-агента та стандартні промпти для чату.

ПараметрТипЗа замовчуваннямОпис
devManager.agentContext.structureSync.enabledbooleantrueАвтогенерація знімка структури проєкту для AI-контексту
devManager.agentContext.structureSync.autoSyncbooleanfalseАвто-оновлення блоку в AGENTS.md (вимкнено за замовч., щоб не блокувати git pull).
devManager.prToChat.promptstring""Промпт на початку при відправці diff PR у чат AI
devManager.issueToChat.promptstring""Промпт на початку при відправці GitHub issue у чат AI

Див. також