Skip to content

All Settings

All settings are under the devManager.* namespace.

Edit via:

  • Ctrl+, → search @ext:vaulttec-dev.snakeflow-dev-manager
  • Or edit .vscode/settings.json directly (workspace-level, per-project)

Note: the Quality Hub registers 90+ providers and exposes hundreds of per-provider settings (devManager.quality.<providerId>.*). The tables below show representative examples per category. The complete, always-up-to-date list lives in the extension’s package.json contributes.configuration section — open Settings UI and search devManager.quality. to browse every key with descriptions inline.


Project

SettingTypeDefaultDescription
devManager.project.namestringautoProject identifier
devManager.project.dirstringautoAbsolute path to project root
devManager.project.packageManagerenum"auto"auto | npm | pnpm | yarn | bun
devManager.project.serversarray[]Dev server configurations
devManager.project.composePathstring""Docker Compose file path (empty = auto-detect)
devManager.project.containerActionsarrayautoContainer action menu

Git & GitHub

SettingTypeDefaultDescription
devManager.git.defaultBranchstring"main"Default branch name fallback
devManager.git.protectedBranchesstring[]["main","master","develop","staging","production"]Branches requiring confirmation to delete
devManager.github.defaultMilestonestring""Default milestone for new issues
devManager.prToChat.promptstring""Custom prompt when sending PR to Chat
devManager.issueToChat.promptstring""Custom prompt when sending Issue to Chat

SnakeFlow Cloud

SettingTypeDefaultDescription
devManager.cloud.apiUrlstringhttps://snakeflow.pages.devBase URL of the cloud sync service (HTTPS). Change only if you use a self-hosted endpoint.

See Cloud settings sync → for commands and privacy notes.


Team Tracker

SettingTypeDefaultDescription
devManager.team.enabledbooleanfalseWhen true, records active minutes per UTC day and sends them to the team API after login.
devManager.team.idleWindowMinutesnumber2Inactivity window in minutes before a tick is idle (1–15).
devManager.team.useActivityWatchbooleantrueUse local ActivityWatch for OS-wide mouse/keyboard signals.
devManager.team.requireActivityWatchbooleantrueHard gate: no minutes counted unless ActivityWatch is reachable.
devManager.team.activityWatchUrlstringhttp://localhost:5600Base URL of the local aw-server REST API.

Per-workspace app allowlist (regexes against ActivityWatch window app / title) is not a devManager.* setting — workspace admins configure it on the server (Cloud Team tab or SnakeFlow: Team Tracker — Edit App Allowlist). See Team Tracker → for the status-bar toggle, ActivityWatch, internal/external rules, and the activity log.


Docker & CI

SettingTypeDefaultDescription
devManager.docker.composeCommandstring"docker compose"Compose CLI (docker compose / docker-compose / podman compose)
devManager.ci.workflowsPathstring".github/workflows"Path to GitHub Actions workflows

AI (Gemini)

SettingTypeDefaultDescription
devManager.gemini.apiKeystring""Google Gemini API key for AI title generation and voice dictation
devManager.gemini.modelstring"gemini-2.5-flash"Gemini model name
devManager.gemini.dictationLanguageenum"auto"Spoken language for voice dictation transcription. auto = Gemini detects automatically. Other values: uk, en, de, fr, es, pl, it, pt, nl, cs, ja, zh, ko

See Voice Dictation → for full details.


Quality Hub — General

SettingTypeDefaultDescription
devManager.quality.customChecksarray[]Custom project-level quality checks
devManager.quality.skipDirsstring[][]Extra directory names (not globs) merged into built-in exclusions for walking checks
devManager.quality.skipFilesstring[][]Relative paths from project root (forward slashes), optional *.vsix / **/*.vsix, or **/file.ext patterns — excludes files from many built-ins and Semgrep aggregation
devManager.quality.timeoutnumber30Max runtime per check in minutes
devManager.quality.maxBuffernumber50Max stdout buffer in MB
devManager.quality.chatReportenum"onFail"auto | onFail | manual | never — when to open AI chat with the quality report after a run
devManager.quality.chatPromptstring""Optional text prepended when sending the report to Chat

Quality Hub — Cloud Providers

Every cloud integration uses devManager.quality.<id>.enabled (most default to off; CodeQL defaults to on). Required keys differ per service — there is no single token field for all.

Authoritative per-provider list: Cloud Providers → (settings tables, prerequisites, and behavior).

IDs: sonarcloud, snyk, codecov, coveralls, codeclimate, codacy, deepsource, coderabbit, qodo, greptile, cubic, codeant, qlty, codeql, aikido.

Examples (see cloud docs for full keys):

"devManager.quality.sonarcloud.enabled": true,
"devManager.quality.sonarcloud.token": "",
"devManager.quality.sonarcloud.projectKey": "",
"devManager.quality.sonarcloud.serverUrl": "https://sonarcloud.io",
"devManager.quality.snyk.token": "",
"devManager.quality.snyk.orgId": "",
"devManager.quality.coderabbit.enabled": true,
"devManager.quality.coderabbit.apiKey": ""

Quality Hub — Built-in Checks

Replace <check> with the check name. All checks share these common settings:

SettingTypeDefault
devManager.quality.builtin.<check>.enabledbooleantrue

Check-specific thresholds:

"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"

All available built-in check names:

lineCount · functionLength · complexity · fileSize · longLines · importDepth · directoryDepth · dependencyCount · todoCount · commentedCode · duplicateFiles · testRatio · mixedIndent · encoding · secretLeaks · debugLeaks · gitignoreCheck · magicNumbers · parameterCount · barrelFiles · couplingMetrics · crossLayerImports · 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

Quality profiledevManager.quality.profile (strict | balanced | vibe, default strict) controls which checks run by default. strict = Google/Meta bar (everything on, warn → fail). balanced = same enablement, warns stay warns. vibe = only STRONG cloud + CLI tooling on by default. Per-provider enabled settings always win. See devManager.quality.warnAsFail for the warn-promotion overlay.

devManager.realtime {#devmanagerrealtime}

Optional in-editor re-runs for providers that define realtime hooks (ESLint, Biome, on-save formatters, migration hygiene, etc.).

SettingTypeDefaultDescription
devManager.realtime.enabledbooleantrueMaster switch — when false, no realtime subscriptions run.
devManager.realtime.onType.enabledbooleantrueRe-run on keystrokes (where a provider subscribes to onType).
devManager.realtime.onSave.enabledbooleantrueRe-run on save.
devManager.realtime.precommit.modeenum"warn"off | warn | block — how to react when staged files have SnakeFlow error-level diagnostics. block is enforced when you run SnakeFlow: Pre-commit Gate (devManager.realtime.precommitGate) or wire that command into a git hook.
devManager.realtime.precommit.migrationsModeenum"warn"off | warn | block-strict — extra policy for staged migration paths (prisma/migrations/, drizzle/, etc.). block-strict treats any SnakeFlow diagnostic on those files (including warnings) as blocking for the pre-commit gate. When set to block-strict, SnakeFlow may warn once if core.hooksPath points away from .git/hooks (hooks might not run).

No Manual Migrations, Prisma Migrate Status (watch), and similar checks can publish editor diagnostics when migration or schema files change, as long as the check and realtime are enabled. See No Manual Migrations →.


See also