Type flowConfiguration | commandList
File match **/.maestro/**/*.yaml **/.maestro/**/*.yml **/*.flow.yaml **/*.flow.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/maestro-flow/latest.json
Source https://www.schemastore.org/maestro-flow.json

Validate with Lintel

npx @lintel/lintel check

YAML flow file for Maestro (mobile & web UI automation). A single file is usually two YAML documents separated by ---: (1) flow configuration, (2) command list. Assign this schema to .flow.yaml or /.maestro//.yaml. Official docs: https://docs.maestro.dev/

One of

1. flowConfiguration object
2. commandList commandStep[]

Definitions

flowConfiguration object
appId string

Android package name or iOS bundle ID under test. May use ${ENV_VAR} interpolation.

Examples: "com.example.app", "${APP_ID}"
url string

For web flows, the starting URL (see Maestro web testing docs).

format=uri
name string

Human-readable flow name for reports.

tags string[]

Tags for filtering and organization.

env Record<string, string>

Default environment variables for this flow (${VAR_NAME} in commands).

onFlowStart commandStep[]

Sequence of Maestro commands executed in order.

onFlowComplete commandStep[]

Sequence of Maestro commands executed in order.

commandList commandStep[]

Sequence of Maestro commands executed in order.

commandStep bareCommandName | commandObject
bareCommandName string

Commands that need no argument object. Maestro accepts many more; list is indicative.

Examples:
  • "launchApp"
  • "hideKeyboard"
  • "back"
  • "stopApp"
  • "clearState"
  • "clearKeychain"
  • "waitForAnimationToEnd"
  • "takeScreenshot"
  • "startRecording"
  • "stopRecording"
commandValue null | boolean | number | string | commandStep[] | argumentMap

Depends on the command: omitted/null, boolean, string selector, number, array of nested steps, or parameter object.