Skip to main content


The moon run (or moon r) command will run one or many targets (a task within a project) and all of its dependencies in topological order. Each run will incrementally cache each task, improving speed and development times... over time.

# Run `lint` in project `app`
$ moon run app:lint

# Run `lint` in project `app` and `server`
$ moon run app:lint server:lint

# Run `lint` in all projects
$ moon run :lint

View the official Run a task article for more information!



  • -f, --force - Force run and ignore touched files and affected status. Will not query VCS.
  • --dependents - Run downstream dependent targets (of the same task name) as well.
  • -i, --interactive - Run the target in an interactive mode.
  • --profile <type> - Record and generate a profile for ran tasks.
    • Types: cpu, heap
  • -u, --updateCache - Bypass cache and force update any existing items.


  • --affected - Only run target if affected by changed files, otherwise will always run.
  • --remote - Determine affected against remote by comparing HEAD against a base revision (default branch), otherwise uses local changes.
  • --status <type> - Filter affected based on a change status. Can be passed multiple times.
    • Types: all (default), added, deleted, modified, staged, unstaged, untracked