Agent Setup Guide
Agent Workflow
- Fetch this page — get the full instruction set from
https://snakeflow.pages.dev/getting-started/skill-agent-guide/ - Explore the project — scan all relevant files (see Phase 1)
- Summarize findings — tell the user what was detected in 5–10 lines
- Ask 50 questions — grouped by topic, using detected values as defaults (see Phase 2)
- Write
.vscode/settings.json— only after all answers collected (see Phase 3)
Phase 1 — Deep Project Exploration
Scan these files and directories before asking anything:
Package Manager (from lockfile or package.json)
| File | Manager |
|---|---|
pnpm-lock.yaml | pnpm |
bun.lockb / bun.lock | bun |
yarn.lock | yarn |
package-lock.json | npm |
package.json → "packageManager" field | override |
Stack & Language Detection
| File | Stack |
|---|---|
package.json | Node.js |
go.mod | Go |
Cargo.toml | Rust |
composer.json | PHP |
Gemfile | Ruby |
pyproject.toml / requirements.txt | Python |
pubspec.yaml | Dart/Flutter |
mix.exs | Elixir |
build.gradle / pom.xml | Java/Kotlin |
Package.swift | Swift |
*.csproj / *.fsproj | .NET |
Monorepo Detection
| File / Pattern | Type |
|---|---|
pnpm-workspace.yaml | pnpm workspaces |
turbo.json | Turborepo |
nx.json | Nx |
lerna.json | Lerna |
rush.json | Rush |
package.json → "workspaces" array | npm/yarn workspaces |
→ List all apps/packages from workspaces, turbo.json pipelines, or apps/*/package.json.
Docker Compose Detection
Search for compose files in: root, docker/, infra/, .docker/, deploy/
| Filename |
|---|
docker-compose.yaml |
docker-compose.yml |
compose.yaml |
compose.yml |
ORM / Database Detection
| Evidence | ORM |
|---|---|
prisma/schema.prisma or @prisma/client in deps | Prisma |
drizzle-orm in deps | Drizzle |
typeorm in deps | TypeORM |
knex in deps | Knex |
settings.py (Django) | Django ORM |
alembic.ini | SQLAlchemy / Alembic |
db/migrate/ directory | ActiveRecord (Rails) |
go.mod + entgo.io/ent in deps | ent ORM |
Cargo.toml + diesel in deps | Diesel |
aerich in Python deps | Tortoise ORM |
.csproj + Microsoft.EntityFrameworkCore | EF Core |
Scripts Detection
Read package.json → scripts, Makefile, Cargo.toml → [package.metadata.scripts], pyproject.toml → [tool.taskipy.tasks].
Detect: dev, start, build, lint, typecheck, test, format, check, migrate, generate.
Project Structure Scan
List top-level directories. Note presence of:
components/orsrc/components/— UI componentshooks/orsrc/hooks/— React hooksservices/,controllers/,repositories/,models/,dto/,entities/api/,server/,routes/,handlers/stores/,utils/,lib/,helpers/apps/,packages/— monorepo workspaces
Test Framework Detection
| Files / Deps | Framework |
|---|---|
*.test.ts, *.spec.ts, jest.config.* | Jest |
vitest.config.* | Vitest |
pytest in deps | pytest |
_test.go files | Go test |
*_test.rs / Cargo.toml | Rust test |
Security Tooling Detection
| Evidence | Tool |
|---|---|
eslint-plugin-security in devDeps | ESLint Security available |
.semgrepignore or semgrep in PATH | Semgrep available |
trivy in PATH | Trivy available |
bandit in PATH | Bandit available |
Dockerfile or Dockerfile.* | Hadolint applicable |
.sh / .bash files | ShellCheck applicable |
Database Schema Detection
| Evidence | Schema stack |
|---|---|
prisma / @prisma/client in deps, or any .prisma file found | Prisma |
drizzle-orm in deps | Drizzle ORM |
db/schema.rb + Gemfile with gem 'rails' | Rails / ActiveRecord |
composer.json with laravel/framework or illuminate/database | Laravel |
django keyword in requirements.txt / pyproject.toml / Pipfile | Django |
.py file with sqlalchemy / declarative_base / DeclarativeBase import | SQLAlchemy |
*.csproj containing EntityFrameworkCore | EF Core |
go.mod with gorm.io/gorm, entgo.io/ent, go-gorm, or xorm | Go (GORM / ent / xorm) |
any .sql file found in the project tree | Raw SQL |
prisma-lint in devDeps | prisma-lint available |
squawk or squawk-cli in deps or PATH | Squawk available |
atlas in PATH | Atlas available |
CI/CD Detection
.github/workflows/*.yml→ GitHub Actions present- Check for: timeout settings, pinned versions, secrets usage
Duplicate Component Pattern Scan
Scan .tsx, .jsx, .vue, .svelte files. Look for exports matching: Button, Modal, Dialog, Table, Card, Input, Form, Select, Dropdown, List, Tab, Badge, Avatar, Tooltip, Loader/Spinner, Header/Navbar, Sidebar, Chart, Icon, Pagination.
Count occurrences. If ≥ 2 similar component names exist → report as potential duplication.
Phase 2 — 50 Questions
Present questions in groups. Use (detected: X) to show auto-detected defaults. Do not start writing settings until all groups are answered.
Group A — Project Identity (Q1–Q6)
Q1. What is the project name?
(detected: folder name)
Q2. What is the absolute path to the project root?
(detected: current workspace folder)
Q3. What is the package manager?
auto | npm | pnpm | yarn | bun | none
(detected from lockfile)
Q4. Is this a monorepo? If yes — list all apps/packages that need their own dev server.
(detected: show workspaces found)
Q5. Any generated or legacy directories to exclude from quality checks?
Built-in list already covers: node_modules, dist, build, __pycache__, target, vendor, .venv, .next, .nuxt, coverage, and 70+ more.
Add only project-specific dirs: generated, proto-gen, legacy, fixtures, storybook-static, .output, etc.
Q6. Any specific source files to exclude from quality checks?
(examples: src/generated/graphql.ts, **/*.generated.ts, *.vsix)
Group B — Dev Servers (Q7–Q12)
Q7. List all dev servers to configure.
For each: label, command, working directory (relative, or "" for root), port.
(detected: show script commands found per workspace)
Q8. Does any server use the root proxy script pattern?
(root package.json runs npm run dev --prefix subfolder)
→ If yes, set path: "" for that server, NOT the subfolder.
Q9. Does the project use Inngest?
Default command: npx inngest-cli@latest dev, port: 8288. Which working directory?
Q10. Any background workers or queue processors to manage?
(examples: Celery worker, Sidekiq, BullMQ — use port: 0 for no port monitoring)
Q11. Any other long-running processes to include?
(examples: WebSocket server, gRPC server, cron scheduler)
Q12. Git settings — default branch and protected branches (cannot be deleted from sidebar)?
(default branch: main; protected: main, master, develop, staging, production)
Group C — Docker & Infrastructure (Q13–Q17)
Q13. Does the project use Docker Compose?
(detected: show found compose file path)
Is the compose file in a non-standard location?
Q14. Which container actions are needed?
Standard set: Up, Down, Restart, Status, Logs, Pull Images, Build Images, Down + Volumes (destructive).
Any to remove or add?
Q15. Multiple compose files for different environments (dev/staging/prod)?
Q16. Using Podman or docker-compose (v1) instead of docker compose (v2)?
Q17. Any custom infrastructure commands beyond Docker Compose?
(examples: kubectl apply, terraform plan, helm upgrade)
Group E — Quality Hub: Custom Checks (Q22–Q26)
Q22. Which project scripts should run as Quality Hub checks?
(detected: show all scripts from package.json, Makefile, Cargo.toml, etc.)
(common: lint, typecheck, build, format:check, test, check)
See Custom Checks docs for all examples.
Q23. Any raw shell commands to add as custom checks?
(examples: go vet ./..., go test ./..., python -m pytest, cargo clippy -- -D warnings)
Q24. For custom checks — exit code only (0 = pass) or output pattern matching?
Default: exit code only. If pattern matching needed: provide successPattern, failPattern, warnPattern.
Q25. Enable Stryker mutation testing? (disabled by default — very slow)
Only for JS/TS projects with good unit test coverage.
Q26. Quality Hub report level sent to AI chat?
auto (always) | onFail (default — only when failures exist) | manual | never
Custom chat prompt? (optional text prepended to the report)
Group F — Quality Hub: Architecture Checks (Q27–Q34)
Q27. Are there layer folders in this project?
Built-in cross-layer detection already covers: components/ → must not import DB packages or Node.js builtins; api//server//controllers//routes/ → must not import from components/.
Do you have custom layer names? (e.g., ui/, views/, presenters/)
See Cross-Layer Imports check.
Q28. What UI component naming patterns exist in this project?
(detected: show found duplicate patterns)
Built-in patterns already watch: Button, Modal, Dialog, Table, Card, Input, Form, Select, Dropdown, List, Tab, Badge, Avatar, Tooltip, Loader/Spinner, Notification/Toast/Alert, Header/Navbar, Sidebar/Drawer, Chart, Icon, Pagination, Stepper.
Any project-specific patterns to add? (e.g., Panel, Widget, Section, Tile)
See Component Inventory check.
Q29. Minimum count of similar components before triggering a warning?
(default: 2 for UI components; 3 for hooks like useFetch)
Override any specific threshold? (e.g., “warn only when 4+ Button variants”)
Q30. Any custom hook patterns that should warn when duplicated?
Built-in: useAuth, useFetch/useQuery/useApi, useForm, useModal, useFilter, useSort, usePagination, useDebounce, useStorage.
Project-specific additions? (e.g., useCart, useCheckout, useAnalytics)
Q31. File placement rules — files matching a name pattern must be in a specific folder?
(Project Structure check → fileRules)
Common patterns by stack:
| Pattern | Must be in | Stack |
|---|---|---|
*.service.ts | src/services | NestJS / general TS |
*.controller.ts | src/controllers | NestJS / MVC |
*.repository.ts | src/repositories | DDD |
*.store.ts | src/stores | State management |
*.dto.ts | src/dto | NestJS |
*.entity.ts | src/entities | TypeORM / NestJS |
*.model.ts | src/models | general |
*.middleware.ts | src/middleware | Express / NestJS |
*.guard.ts | src/guards | NestJS |
*.schema.ts | src/schemas | validation |
*_handler.go | internal/handlers | Go |
*_service.go | internal/services | Go |
*_repo.go | internal/repo | Go |
Which apply to this project? Any custom rules?
Q32. Folder content rules — files inside a folder must contain a specific export/declaration?
(Project Structure check → folderRules)
Common examples:
| Folder | Must contain | Description |
|---|---|---|
src/hooks | export function use | export const use | Hook files must export useXxx |
src/services | export class | export function | export const | Service files must export |
src/components | export default | export const | Components must have exports |
src/controllers | export class | @Controller | NestJS controllers |
Which apply? Any custom rules?
Q33. Coupling thresholds for this project?
(fan-out = number of local files a module imports; high fan-out = “god file”)
- Warn when a file imports ≥ N local files: default
15 - Fail when a file imports ≥ N local files: default
30
Adjust for project size?
Q34. Code complexity thresholds?
- Function length: warn ≥ N lines (default
40), fail ≥ N lines (default80) - Cyclomatic complexity: warn ≥ N (default
10), fail ≥ N (default20) - Parameter count: warn ≥ N params (default
4), fail ≥ N params (default7) - TypeScript return types: warn at N missing (default
10), fail at N missing (default50)
Keep defaults or adjust?
Group G — Quality Hub: Built-in Checks (Q35–Q40)
All checks are enabled by default. Only list ones to disable.
See Built-in Checks reference for full list and thresholds.
Q35. Disable any code size / complexity checks?
lineCount | fileSize | functionLength | complexity | longLines | importDepth | directoryDepth | dependencyCount
Q36. Disable any code quality checks?
todoCount | commentedCode | duplicateFiles | mixedIndent | encoding | secretLeaks | debugLeaks | gitignoreCheck | magicNumbers | parameterCount | barrelFiles
Q37. Disable any architecture checks?
couplingMetrics | crossLayerImports | componentInventory | heavyImports
Q38. Disable any type safety / docs checks?
anyCoverage | jsdocCoverage | returnTypes
Q39. Disable any project health checks?
envConsistency | lockfileSync | nodeVersionConsistency | readmeCheck | changelogCheck | codeownersCheck
Q40. Disable any TypeScript/frontend checks?
asyncAwaitMisuse | errorHandling | reactHookRules | a11yCheck
Does the project have tests? If no → disable testRatio, emptyTests, lcovCoverage.
Group H — Quality Hub: Security & CLI Tools (Q41–Q45)
All skip gracefully if not installed. See CLI Tools docs for install instructions.
Q41. Which CLI security tools are installed and should be enabled?
| Tool | Install | When to enable |
|---|---|---|
| Semgrep | pip install semgrep | Any project (30+ languages) |
| Trivy | winget install AquaSecurity.Trivy | Any project with dependencies |
| ESLint Security | npm i -D eslint eslint-plugin-security | JS/TS projects |
| Bandit | pip install bandit | Python projects only |
| Bearer | brew install bearer/tap/bearer (macOS/Linux) | Sensitive data flow analysis |
| Hadolint | winget install hadolint | Projects with Dockerfile |
| ShellCheck | winget install koalaman.shellcheck | Projects with .sh scripts |
| golangci-lint | winget install golangci-lint | Go projects only |
Q42. Trivy severity thresholds?
- Fail on:
CRITICAL|HIGH(default) |MEDIUM - Warn on:
HIGH|MEDIUM(default) |LOW
Q43. Enable additional CLI checks?
jscpd— copy-paste detection (JS/TS/any): duplication threshold %? (default: 5%)knip— dead code detection (JS/TS only, auto via npx)dependencyCruiser— circular imports (JS/TS only, auto via npx)pkgAudit—npm audit/pip-audit/cargo audit/ etc.outdatedDeps— outdated dependency versionslicenseCheck— license compliance (auto via npx)
Q44. Enable IaC / API / format linters?
checkov— Terraform / Kubernetes / Dockerfile IaC security (pip install checkov)spectral— OpenAPI / AsyncAPI linting (npm i -g @stoplight/spectral-cli)yamllint— YAML syntax (pip install yamllint)sqlfluff— SQL files (pip install sqlfluff)markdownlint— Markdown (npm i -g markdownlint-cli2)tscCheck— TypeScript compiler (npx tsc --noEmit, requirestsconfig.json)act— run GitHub Actions locally (winget install nektos.act)
Q44b. Enable database schema lint checks?
| Tool | Install | What it checks |
|---|---|---|
| Schema Lint (built-in) | none — pure Node.js | Float-for-money, missing FK indexes, naming conventions, large models (non-relation fields), missing timestamps, missing ID defaults, reserved words, String/UUID-as-FK, undocumented JSON, cascade without soft-delete. Auto-detects: Prisma, Drizzle, Django, SQLAlchemy, Rails, Laravel, EF Core, Go (GORM/ent/xorm), raw SQL |
| prisma-lint | npm i -D prisma-lint | Prisma schema naming conventions, field ordering, required indexes |
| Squawk | npm i -g squawk-cli | PostgreSQL migration safety: unsafe locks, missing CONCURRENTLY, backwards-incompatible changes |
| Atlas | winget install ariga.atlas (Windows) / curl -sSf https://atlasgo.sh | sh | 50+ migration analyzers: destructive changes, lock issues, backward compatibility |
Schema Lint is enabled by default (like all built-ins) and requires no configuration — it auto-detects the ORM stack.
Q45. Enable Stryker mutation testing?
(disabled by default — very slow; requires @stryker-mutator/core installed)
Group I — Quality Hub: Cloud Providers (Q46–Q48)
All cloud providers are disabled by default (opt-in). See Cloud Providers docs.
CodeQL is the only exception — it defaults to enabled (uses VS Code GitHub auth, no token).
Q46. Which cloud services are connected to this project?
| Service | Required fields |
|---|---|
| SonarCloud | token, org, projectKey |
| Snyk | token, orgId |
| Codecov | token, owner, repo |
| CodeQL | GitHub auth only (no token) |
| Codacy | token |
| CodeClimate | token |
| Coveralls | token |
| DeepSource | token |
| CodeAnt | token |
| Aikido | token |
| CodeRabbit | apiKey |
| Greptile | token |
| Cubic | token |
| Qodo | token |
| Qlty | token |
Q47. CodeQL — is GitHub authentication set up in VS Code/Cursor?
(CodeQL uses VS Code GitHub auth — sign in once via SnakeFlow: GitHub Sign In)
Q48. LCOV coverage — is there a coverage/lcov.info or coverage-summary.json generated by the test runner?
(reads existing file — does not run tests; enable if your CI generates coverage reports)
Group J — Git, CI/CD & Integrations (Q49–Q50)
Q49. CI/CD and Git settings:
- GitHub workflows path:
.github/workflowsor custom? - Docker compose command:
docker compose|docker-compose|podman compose - Default Git branch for operations
- Protected branches list (cannot be deleted from sidebar)
- Default milestone for new GitHub issues (optional)
Q50. AI & voice integration (optional):
- Gemini API key (for AI title generation and voice dictation)
- Gemini model:
gemini-2.5-flash(default) |gemini-2.0-flash|gemini-1.5-pro - Dictation language:
auto|uk|en|de|fr| etc. - Custom prompt for Issue → Chat
- Custom prompt for PR → Chat
- Custom prompt for Quality Hub → Chat
Phase 3 — Write Settings
Write all settings to .vscode/settings.json. Follow these rules:
- Always include:
project.name,project.dir,project.packageManager,project.servers - Skip defaults: do not write settings equal to their documented defaults (reduces noise)
- Skip empty: no empty arrays, empty strings for optional fields, or
nullvalues - Skip disabled cloud: do not write cloud provider blocks without tokens
- Settings path:
.vscode/settings.jsonin the project root — the ONLY place fordevManager.*
Core Project
{ "devManager.project.name": "my-project", "devManager.project.dir": "C:/Users/.../path", "devManager.project.packageManager": "auto"}Dev Servers
{ "devManager.project.servers": [ { "id": "web", "label": "Frontend", "command": "pnpm run dev", "path": "apps/web", "port": 5173 }, { "id": "api", "label": "API", "command": "pnpm run dev", "path": "apps/api", "port": 8787 }, { "id": "worker", "label": "Celery Worker", "command": "celery -A config worker -l info","path": "backend", "port": 0 } ]}Root proxy pattern: if root
package.jsonhas"dev": "npm run dev --prefix app", setpath: "".
Container Actions
{ "devManager.docker.composeCommand": "docker compose", "devManager.project.composePath": "", "devManager.project.containerActions": [ { "label": "Up", "command": "docker compose up -d" }, { "label": "Down", "command": "docker compose down" }, { "label": "Logs", "command": "docker compose logs -f --tail 100" }, { "label": "Down + Volumes", "command": "docker compose down -v", "confirm": true } ]}Custom Quality Checks
{ "devManager.quality.customChecks": [ { "label": "lint", "script": "lint", "type": "script" }, { "label": "typecheck", "script": "typecheck", "type": "script" }, { "label": "build", "script": "build", "type": "script" }, { "label": "go vet", "script": "go vet ./...", "type": "command" } ]}Project Structure Rules
{ "devManager.quality.builtin.projectStructure.fileRules": [ { "filePattern": "*.service.ts", "mustBeIn": "src/services", "description": "Services → src/services/" }, { "filePattern": "*.controller.ts", "mustBeIn": "src/controllers", "description": "Controllers → src/controllers/" }, { "filePattern": "*.repository.ts", "mustBeIn": "src/repositories", "description": "Repos → src/repositories/" }, { "filePattern": "*.store.ts", "mustBeIn": "src/stores", "description": "Stores → src/stores/" }, { "filePattern": "*.dto.ts", "mustBeIn": "src/dto", "description": "DTOs → src/dto/" }, { "filePattern": "*.entity.ts", "mustBeIn": "src/entities", "description": "Entities → src/entities/" } ], "devManager.quality.builtin.projectStructure.folderRules": [ { "folderPattern": "src/hooks", "mustExport": "export function use | export const use", "description": "Hooks must export useXxx" }, { "folderPattern": "src/services", "mustExport": "export class | export function | export const", "description": "Services must export" }, { "folderPattern": "src/components", "mustExport": "export default | export const", "description": "Components must export" } ], "devManager.quality.builtin.projectStructure.warnAt": 1, "devManager.quality.builtin.projectStructure.failAt": 5}Component Inventory (Duplicate Detection)
{ "devManager.quality.builtin.componentInventory.minCountOverrides": { "Button": 3, "useFetch*": 3 }, "devManager.quality.builtin.componentInventory.customPatterns": [ { "pattern": "Panel", "label": "Panel", "suggestion": "unified Panel component", "kind": "component", "minCount": 2 }, { "pattern": "useCart", "label": "useCart*","suggestion": "single cart hook", "kind": "hook", "minCount": 2 } ]}Coupling & Complexity
{ "devManager.quality.builtin.couplingMetrics.fanOutWarn": 15, "devManager.quality.builtin.couplingMetrics.fanOutFail": 30, "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.parameterCount.warnAt": 4, "devManager.quality.builtin.parameterCount.failAt": 7}CLI Security Tools
{ "devManager.quality.semgrep.enabled": true, "devManager.quality.semgrep.config": "auto", "devManager.quality.builtin.trivy.enabled": true, "devManager.quality.builtin.trivy.failOnSeverity": "HIGH", "devManager.quality.builtin.trivy.warnOnSeverity": "MEDIUM", "devManager.quality.builtin.bandit.enabled": true, "devManager.quality.builtin.hadolint.enabled": true, "devManager.quality.builtin.shellcheck.enabled": true, "devManager.quality.builtin.golangciLint.enabled": true, "devManager.quality.builtin.jscpd.enabled": true, "devManager.quality.builtin.jscpd.threshold": 5, "devManager.quality.builtin.knip.enabled": true, "devManager.quality.builtin.dependencyCruiser.enabled": true, "devManager.quality.builtin.pkgAudit.enabled": true, "devManager.quality.builtin.licenseCheck.enabled": true, "devManager.quality.builtin.tscCheck.enabled": true, "devManager.quality.builtin.stryker.enabled": false}Database Schema Lint
Schema Lint is enabled by default — only add these if you need to customize:
{ // Built-in schema linter (pure Node.js, auto-detects ORM stack — always on by default) "devManager.quality.builtin.schemaLint.enabled": true, // Change Float-for-money severity from fail to warn (e.g. during migration) "devManager.quality.builtin.schemaLint.floatForMoneySeverity": "fail", // Disable specific rules (e.g. if project intentionally has no timestamps) "devManager.quality.builtin.schemaLint.disabledRules": ["missingTimestamps"], // Extend money field detection with project-specific terms "devManager.quality.builtin.schemaLint.moneyFieldPatterns": ["turnover", "proceeds"], // Raise/lower the large-model threshold (default: 30 fields) "devManager.quality.builtin.schemaLint.maxFieldsPerModel": 40,
// CLI: prisma-lint (only if installed — npm i -D prisma-lint) "devManager.quality.builtin.prismaLint.enabled": true,
// CLI: Squawk — PostgreSQL migration safety (only if installed — npm i -g squawk-cli) "devManager.quality.builtin.squawk.enabled": true,
// CLI: Atlas migration linter (only if installed — see atlasgo.io) "devManager.quality.builtin.atlas.enabled": true}Exclusions & Report
{ "devManager.quality.skipDirs": ["generated", "proto-gen", "legacy", "storybook-static"], "devManager.quality.skipFiles": ["src/generated/graphql.ts", "**/*.generated.ts"], "devManager.quality.chatReport": "onFail", "devManager.quality.chatPrompt": ""}Git, CI/CD, AI
{ "devManager.git.defaultBranch": "main", "devManager.git.protectedBranches": ["main", "master", "develop", "staging", "production"], "devManager.ci.workflowsPath": ".github/workflows", "devManager.gemini.apiKey": "", "devManager.gemini.model": "gemini-2.5-flash"}Full Examples
Next.js + Prisma + Docker
{ "devManager.project.name": "my-app", "devManager.project.dir": "C:/Users/dev/projects/my-app", "devManager.project.packageManager": "pnpm", "devManager.project.servers": [ { "id": "web", "label": "Frontend", "command": "pnpm run dev", "path": "", "port": 3000 } ], "devManager.project.containerActions": [ { "label": "Up", "command": "docker compose up -d" }, { "label": "Down", "command": "docker compose down" }, { "label": "Logs", "command": "docker compose logs -f --tail 100" }, { "label": "Down + Volumes", "command": "docker compose down -v", "confirm": true } ], "devManager.quality.customChecks": [ { "label": "lint", "script": "lint", "type": "script" }, { "label": "typecheck", "script": "typecheck", "type": "script" }, { "label": "build", "script": "build", "type": "script" } ], "devManager.quality.builtin.projectStructure.fileRules": [ { "filePattern": "*.service.ts", "mustBeIn": "src/services", "description": "Services → src/services/" }, { "filePattern": "*.repository.ts", "mustBeIn": "src/repositories", "description": "Repos → src/repositories/" } ], "devManager.quality.builtin.projectStructure.folderRules": [ { "folderPattern": "src/hooks", "mustExport": "export function use | export const use", "description": "Hook files must export useXxx" } ], "devManager.quality.semgrep.enabled": true, "devManager.quality.builtin.trivy.enabled": true, "devManager.quality.builtin.knip.enabled": true, // Schema lint is on by default — customize only if needed: "devManager.quality.builtin.schemaLint.floatForMoneySeverity": "fail"}Turborepo + pnpm (3 servers)
{ "devManager.project.name": "stack-base", "devManager.project.dir": "C:/Users/dev/projects/stack-base", "devManager.project.packageManager": "pnpm", "devManager.project.servers": [ { "id": "web", "label": "Frontend", "command": "pnpm run dev", "path": "apps/web", "port": 5173 }, { "id": "api", "label": "API", "command": "pnpm run dev", "path": "apps/api", "port": 8787 }, { "id": "inngest", "label": "Inngest", "command": "pnpm dlx inngest-cli@latest dev", "path": "apps/web", "port": 8288 } ], "devManager.project.containerActions": [ { "label": "Up", "command": "docker compose up -d" }, { "label": "Down", "command": "docker compose down" } ], "devManager.quality.customChecks": [ { "label": "lint", "script": "lint", "type": "script" }, { "label": "typecheck", "script": "typecheck", "type": "script" }, { "label": "build", "script": "build", "type": "script" } ]}Django + React + Celery
{ "devManager.project.name": "fullstack-app", "devManager.project.dir": "C:/Users/dev/projects/fullstack-app", "devManager.project.packageManager": "npm", "devManager.project.servers": [ { "id": "frontend", "label": "React", "command": "npm run dev", "path": "frontend", "port": 3000 }, { "id": "backend", "label": "Django", "command": "python manage.py runserver 8000", "path": "backend", "port": 8000 }, { "id": "celery", "label": "Celery Worker", "command": "celery -A config worker -l info", "path": "backend", "port": 0 } ], "devManager.quality.customChecks": [ { "label": "pytest", "script": "python -m pytest", "type": "command" }, { "label": "flake8", "script": "flake8 .", "type": "command" } ], "devManager.quality.builtin.bandit.enabled": true, "devManager.quality.skipDirs": ["staticfiles", "media_uploads"]}Go Microservices
{ "devManager.project.name": "platform", "devManager.project.dir": "C:/Users/dev/projects/platform", "devManager.project.packageManager": "npm", "devManager.project.servers": [ { "id": "gateway", "label": "API Gateway", "command": "go run ./cmd/gateway", "path": "services/gateway", "port": 8080 }, { "id": "auth", "label": "Auth Service", "command": "go run ./cmd/auth", "path": "services/auth", "port": 8081 }, { "id": "notify", "label": "Notifications", "command": "go run ./cmd/notifications", "path": "services/notifications", "port": 8082 } ], "devManager.project.containerActions": [ { "label": "Up (infra)", "command": "docker compose -f infra/docker-compose.yaml up -d" }, { "label": "Down", "command": "docker compose -f infra/docker-compose.yaml down" } ], "devManager.quality.customChecks": [ { "label": "go vet", "script": "go vet ./...", "type": "command" }, { "label": "go test", "script": "go test ./...", "type": "command" }, { "label": "go build", "script": "go build ./...", "type": "command" } ], "devManager.quality.builtin.golangciLint.enabled": true, "devManager.quality.builtin.projectStructure.fileRules": [ { "filePattern": "*_handler.go", "mustBeIn": "internal/handlers", "description": "Handlers → internal/handlers/" }, { "filePattern": "*_service.go", "mustBeIn": "internal/services", "description": "Services → internal/services/" }, { "filePattern": "*_repo.go", "mustBeIn": "internal/repo", "description": "Repos → internal/repo/" } ], "devManager.quality.skipDirs": ["proto-gen"]}All Settings Reference
For the complete authoritative settings list, see All Settings →.
Quick links to feature docs used during setup:
| Topic | Doc page |
|---|---|
| Dev Servers | /features/servers/ |
| Docker Compose | /features/containers/ |
| Quality Hub overview | /quality/ |
| Built-in Checks (all 70+) | /quality/builtin-checks/ |
| CLI Tool Checks | /quality/cli-tools/ |
| Cloud Providers (15) | /quality/cloud-providers/ |
| Custom Checks | /quality/custom-checks/ |
| All Settings | /reference/configuration/ |
| CLI Tools Install | /reference/cli-install/ |