Skip to content

Custom Checks

Custom checks let you add your own project-specific quality gates to the Quality Hub — any package script or arbitrary shell command.

Configuration

"devManager.quality.customChecks": [
{ "label": "lint", "script": "lint", "type": "script" },
{ "label": "typecheck", "script": "typecheck", "type": "script" },
{ "label": "build", "script": "build", "type": "script" },
{ "label": "format", "script": "format:check", "type": "script" },
{ "label": "migrations", "script": "prisma migrate status", "type": "command" }
]

Check Types

TypeBehavior
"script"Runs via the project’s package manager: npm run <script>, pnpm run <script>, etc.
"command"Runs the script value as a raw shell command in the project root

Managing via UI

Use the Quality Hub panel title bar buttons:

  • + — Add Check: prompts for label and script/command
  • - — Remove Check: shows a list to pick from

Exit Code Interpretation

The check result is determined by the command’s exit code:

  • 0pass
  • non-zero → fail

Examples

Go project

[
{ "label": "go vet", "script": "go vet ./...", "type": "command" },
{ "label": "go test", "script": "go test ./...", "type": "command" },
{ "label": "go build", "script": "go build ./...", "type": "command" }
]

Python project

[
{ "label": "flake8", "script": "flake8 .", "type": "command" },
{ "label": "mypy", "script": "mypy src", "type": "command" },
{ "label": "pytest", "script": "pytest --tb=short", "type": "command" }
]

Rust project

[
{ "label": "cargo check", "script": "cargo check", "type": "command" },
{ "label": "cargo test", "script": "cargo test", "type": "command" },
{ "label": "cargo clippy", "script": "cargo clippy -- -D warnings", "type": "command" }
]

Laravel (PHP)

[
{ "label": "phpstan", "script": "vendor/bin/phpstan analyse", "type": "command" },
{ "label": "pint", "script": "vendor/bin/pint --test", "type": "command" },
{ "label": "artisan migrate:status", "script": "php artisan migrate:status", "type": "command" }
]