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 — see Dev Servers →
devManager.project.composePathstring""Docker Compose file path (empty = auto-detect)
devManager.project.containerActionsarrayautoContainer action menu

devManager.project.servers[] entry fields

FieldRequiredDefaultDescription
idyesUnique id (terminal name prefix)
labelyesDisplay name in the server menu
commandyesShell command to run in a named terminal
pathno""Working directory relative to project root
portno0TCP port for status (0 = terminal-only)
startWithAllnotrueWhen false, excluded from Ctrl+Alt+S bulk start; still startable from the status bar server 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.git.statusBar.debugLogbooleanfalseVerbose Git status bar refresh logs (Output channel)
devManager.prToChat.promptstring""Custom prompt when sending PR to Chat
devManager.issueToChat.promptstring""Custom prompt when sending Issue to Chat
devManager.github.sprints.enabledbooleanfalseEnable GitHub Milestones as sprints (grouping, commands). See GitHub Sprints →.
devManager.github.sprints.namingHintstring""Default placeholder when creating a sprint (e.g. Sprint {YYYY}-W{WW}).

SnakeFlow Cloud

SettingTypeDefaultDescription
devManager.cloud.apiUrlstringhttps://snakeflow-api.pro-connect.workers.devREST API base URL (HTTPS). Change only for self-hosted Workers.
devManager.cloud.dashboardUrlstringhttps://snakeflow-cloud.pages.devWeb dashboard URL (status-bar project icon).
devManager.cloud.repoOverridestring""Force sync repo as owner/repo when git remote is not GitHub (empty = auto-detect).

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.activeAppSourcestring"native"Active-app source: native (default) or off. See Team Tracker — Activity sources.
devManager.team.idleWindowMinutesnumber5Declared idle window in Settings (1–15). Changing it restarts Team Tracker. The collector hard-caps effective idle detection at 2 minutes (min 1). With workspace memberships, input is the minimum server idle_window_minutes per workspace. With zero memberships, default is 2 minutes. See Team Tracker →.
devManager.team.dayGoalMinutesnumber360Target minutes for the status bar tooltip progress bar (default 6h). Visualization only. See Team Tracker — Day goal.
devManager.team.requireTrackingbooleanfalseWhen true, shows a warning if tracking is off and the developer has not started a session.
devManager.team.idleSleepWindowstring""Local-time HH:MM-HH:MM interval in which the collector forces IDLE regardless of other signals. Empty = disabled. See Team Tracker — Sleep window.

Per-workspace app allowlist (regexes against 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 activity rules, the sleep window, internal/external rules, and the activity log.


Docker & CI

SettingTypeDefaultDescription
devManager.docker.composeCommandstring"docker compose"Compose CLI (docker compose / docker-compose / podman compose)
devManager.terminal.shellPathstring""Shell for managed terminals (servers, Docker, scripts). Empty = auto: login shell on macOS/Linux so PATH matches Cursor; IDE default on Windows
devManager.terminal.shellArgsstring[]["-l"]Args for the managed-terminal shell on macOS/Linux (login shell sources ~/.profile). Ignored on Windows
devManager.ci.workflowsPathstring".github/workflows"Path to GitHub Actions workflows

AI (Gemini + Dictation)

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.


Logging

SettingTypeDefaultDescription
devManager.log.verbose.teambooleanfalseLog every Team Tracker IDLE/ACTIVE/SKIP tick to the SnakeFlow output channel.
devManager.log.verbose.qualitybooleantrueLog each Quality Hub provider start/finish line during full runs.

Agent Quality Loop

File-based IPC for AI agents to trigger Quality Hub re-runs. By default the trigger file and trigger-quality launcher scripts live in a machine-global directory — ~/.snakeflow/ipc/<encoded-project>/trigger-run.json (the project path with every non-alphanumeric character replaced by -; honours $SNAKEFLOW_CONFIG_DIR) — so nothing is written into your project and the project .gitignore is left untouched. The legacy in-project location is always watched too, so older agents keep working.

SettingTypeDefaultDescription
devManager.quality.agentLoop.enabledbooleantrueWatch the trigger-run.json IPC file and run Quality Hub re-scans for agents. Disable to stop the watcher.
devManager.quality.agentLoop.locationstring"global"Where IPC files live: global (~/.snakeflow/ipc/…, out of the repo) or project (under dir, added to .gitignore).
devManager.quality.agentLoop.dirstring".snakeflow"Workspace-relative directory for IPC files. Used only when location is project.

AI Usage

Status-bar indicators for Claude Code and Cursor subscription limits.

SettingTypeDefaultDescription
devManager.aiUsage.enabledbooleantrueMaster switch for AI usage indicators in the status bar.
devManager.aiUsage.claude.enabledbooleantrueShow Claude Code limit indicator (reads OAuth token from ~/.claude/.credentials.json).
devManager.aiUsage.cursor.enabledbooleantrueShow Cursor limit indicator (only visible inside Cursor).
devManager.aiUsage.claude.refreshIntervalSecnumber600Seconds between Anthropic usage polls (minimum 60).
devManager.aiUsage.cursor.refreshIntervalSecnumber300Seconds between Cursor usage refreshes (minimum 60).
devManager.aiUsage.cursor.sessionTokenstring""Manual Cursor session token fallback when auto-extraction via sqlite3 is unavailable. Stored in user settings.
devManager.aiUsage.segmentsnumber10Number of segments in the status-bar progress bar (4–20).

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
devManager.quality.degradedStrictbooleanfalseWhen true with profile=strict, missing CLI/token skips become warn instead of fail — softer strict mode while tools are still being installed.

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

See Gitleaks → — when installed and enabled, auto-gates regex Secret Leaks.

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 CLI tooling on by default. Per-provider enabled settings always win. See devManager.quality.warnAsFail for the warn-promotion overlay.

Realtime Quality

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

SettingTypeDefaultDescription
devManager.realtime.enabledbooleanfalseMaster 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.statusBar.enabledbooleantrueShow aggregate realtime counts (Lint / Types / Secrets / …) in the status bar.

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 →.

Per-check scope: Hub / Realtime

Every quality provider has two independent toggles. You can mix them freely — for example, keep a check visible in Quality Hub but disable its live squiggles.

ToggleSetting key patternDefaultEffect
Hub (Quality Hub run)devManager.quality.builtin.<id>.enabledtrueIncludes or excludes the check from Ctrl+Alt+F batch runs
Realtime (live diagnostics)devManager.quality.builtin.<id>.realtimetrueEnables on-type / on-save squiggles in the editor

Note: SnakeFlow no longer ships a built-in pre-commit git gate. Use your own hook manager (e.g. Husky, lefthook) to run Quality Hub checks or CLIs before commit. See Custom checks → for team-defined commands.


Workflows

AI-powered workflow automation (custom multi-step runs from the sidebar).

SettingTypeDefaultDescription
devManager.workflows.aiProviderstring"claude"AI backend for workflow steps (claude or gemini)
devManager.workflows.anthropicApiKeystring""Anthropic API key for AI workflow steps
devManager.workflows.claudeModelstring"sonnet"Claude model used in AI steps (fetched live from API)
devManager.workflows.claudePathstring""Path to claude CLI binary (empty = auto-detect)
devManager.workflows.timeoutMinutesnumber60Max minutes per workflow run (0 = unlimited)
devManager.workflows.maxCostUsdnumber5Max AI spend in USD per run before abort
devManager.workflows.watchdogSecondsnumber90Seconds of silence before a step is considered hung
devManager.workflows.useApiKeybooleanfalseAuthenticate workflow HTTP requests with project API key
devManager.workflows.customarray[]Custom workflow definitions

Wake Lock

Prevents the machine from sleeping during editor activity and optionally during Quality Hub runs. This is independent of Team Tracker → minute counting — see Wake Lock feature guide →.

SettingTypeDefaultDescription
devManager.wakeLock.enabledbooleantrueMaster switch. When false, both the status-bar activity tracker and Quality Hub auto-acquire are no-ops.
devManager.wakeLock.autoActivatebooleantrueWhile enabled, automatically acquire a wake lock for the duration of each Quality Hub full run (acquire('Quality Hub')), independent of the status-bar toggle.
devManager.wakeLock.keepDisplayAwakebooleantrueKeep the display on, not just prevent system sleep (ES_DISPLAY_REQUIRED on Windows; display blanking may still apply on some Linux setups).
devManager.wakeLock.idleThresholdSecondsnumber120With the status-bar toggle ON, seconds without any activity signal before the activity lock is released (long-running tasks alone do not pin the lock).
devManager.wakeLock.readyTimeoutMsnumber0Milliseconds to wait for the OS helper to report ready (0 = platform default).
devManager.wakeLock.startRetriesnumber2Retries if the helper fails to start.
devManager.wakeLock.maxHoldHoursnumber4If refCount stays above zero continuously for this many hours, log a warning and optionally show a notification (0 disables). Does not force-release.
devManager.wakeLock.persistLogbooleanfalseAppend Wake Lock output lines to <workspace>/.vscode/snakeflow-wakelock.log or <workspace>/.cursor/snakeflow-wakelock.log (1 MB rotation). Requires an open workspace folder.

Commands: SnakeFlow: Wake Lock — Toggle / SnakeFlow: Wake Lock — Diagnose (see Command palette →).


Agent Context

AI coding agent context management and chat prompt defaults.

SettingTypeDefaultDescription
devManager.agentContext.structureSync.enabledbooleantrueAuto-generate project-structure snapshot for AI context
devManager.agentContext.structureSync.autoSyncbooleanfalseRe-sync snapshot when structure rules change (debounced). Off by default to avoid uncommitted AGENTS.md edits blocking git pull.
devManager.prToChat.promptstring""Prompt prepended when sending PR diff to AI chat
devManager.issueToChat.promptstring""Prompt prepended when sending GitHub issue to AI chat

See also