Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Maestro LintNew to Visual Studio Code? Get it now.
Maestro Lint

Maestro Lint

Uezili

|
261 installs
| (1) | Free
Real-time Maestro YAML linting with command/schema validation, interpolation checks (${...}), selector best-practice warnings, and file-path diagnostics.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Maestro Lint

Maestro Lint helps you write reliable Maestro flows faster by validating your YAML in real time. It highlights problems directly in the editor, suggests quick fixes for common mistakes, and checks references that usually break test runs.

What's New

  • Improved interpolation validation with clear diagnostics for invalid patterns such as $var, {output.value}, and output.value when ${...} is expected.
  • Better selector and command validation for real-world Maestro usage (including relational selector blocks and command-specific schemas).
  • Additional best-practice warnings to reduce flaky flows (for example: point usage, index without anchor, broad regex selectors).
  • Improved command map validation for openLink, setPermissions, and launchApp.permissions.

Why Maestro Lint?

When a flow fails, the issue is often simple: a typo, an invalid property, bad casing, wrong indentation, or a missing file. Maestro Lint catches these problems before execution so you can focus on test intent instead of debugging YAML details.

Key Features

  • Real-time diagnostics in the editor and Problems panel
  • Quick fixes for typo and casing issues
  • Context-aware command suggestions and property/value completions
  • Validation for command structure, nested blocks, and indentation
  • Extended selector validation for commands like tapOn, longPressOn, doubleTapOn, assertVisible, assertNotVisible, and copyTextFrom
  • Validation for openLink object syntax (link, browser, autoVerify)
  • Validation for permissions maps in setPermissions and launchApp (including all and Android dynamic permission keys)
  • Best-practice warnings for fragile selectors (point usage, index without anchor, overly broad regex)
  • One-of validation for extendedWaitUntil (visible xor notVisible)
  • Interpolation syntax validation for ${...} patterns and malformed $ references
  • Validation for runFlow and runScript file paths
  • Validation for when, env, output, and maestro references
  • Workspace-wide validation command

What It Validates

  • Unknown commands with smart suggestions
  • Invalid properties for each command
  • Invalid values based on command schema
  • Header issues (appId, invalid header properties, invalid header values)
  • when block structure and allowed values
  • Nested object constraints (for example, setPermissions)
  • Nested permission map constraints for setPermissions and launchApp
  • Best-practice diagnostics for selector reliability and maintainability
  • Relative path and extension rules (for example, addMedia)
  • Missing referenced files in flows and scripts

Commands

  • Maestro Lint: Validate Current File
  • Maestro Lint: Validate Workspace
  • Maestro Lint: Restart Linter
  • Maestro Lint: Show Output

Extension Settings

  • maestroLint.enable: Enable or disable linting
  • maestroLint.configPath: Path to your linter config file
  • maestroLint.validateOnSave: Validate on file save
  • maestroLint.validateOnType: Validate while typing
  • maestroLint.debounceDelay: Debounce delay for on-type validation
  • maestroLint.filePattern: Glob pattern of files to validate

Configuration File

Maestro Lint reads your project configuration from linter.config.json. This allows you to tune severities and behavior to match your team standards.

Author

  • LinkedIn: https://www.linkedin.com/in/wesley-maciel-qa/
  • GitHub: https://github.com/uezili

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft