Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI nodes

nodes:
  moon_lint:
    kind: cli
    command: ["moon", "run", "definitively:lint"]
    timeout_ms: 300000
    outcome:
      success:
        - exit_code: 0
      failure:
        - exit_code: {neq: 0}
      partial:
        - exit_code: 0

Fields

FieldRequiredDescription
kindyesMust be cli
commandyesargv list (no shell unless you invoke sh -c)
timeout_msnoKill subprocess after this many milliseconds
cwdnoWorking directory (default: workspace root)
outcomeyesOutcome rules — see Outcome rules

Tips

  • Prefer argv lists over shell strings for clarity and safety.
  • Set timeout_ms on long-running commands (tests, builds).
  • Map both failure and partial when you want fix loops on non-zero exits.

Try it: Add a CLI node that runs git status and routes on exit code.