Getting started

Quickstart

The shortest path: install the CLI, log in, create a one-step automation, point a worker at your project, start a run, and stream the events in your terminal.

Prerequisites

  • A Mobius account (sign up).
  • The mobius CLI. Install instructions and full command docs live in the mobius repo. On macOS:
    brew install deepnoodle-ai/tap/mobius
  • About five minutes.

1. Log in

mobius auth login

This opens a browser, runs you through the device-code flow, and saves a credential profile locally. From now on the CLI knows who you are and which org/project to target.

Verify with:

mobius auth status

If you prefer environment variables for CI or sandboxed dev shells, the CLI also reads MOBIUS_API_KEY and MOBIUS_PROJECT. Create a key from Projects -> [your project] -> Access -> Machine identities, or see Create an API key.

2. Pick a project

If you only have one project, the CLI defaults to default. Otherwise:

mobius projects list
export MOBIUS_PROJECT=prod

You can also pass --project prod to any command.

3. Create a one-step automation

Create the automation shell:

mobius automations create \
  --handle quickstart-print \
  --name "Quickstart print" \
  --description "One worker-owned print step for the Mobius quickstart."

Create and publish version 1:

mobius automations create-version quickstart-print \
  --spec '{"schema_version":"1","name":"quickstart-print","description":"One worker-owned print step.","steps":[{"key":"say_hello","kind":"action","name":"Say hello","config":{"action_name":"print","parameters":{"message":"Hello from Mobius quickstart: {{ .inputs.note }}"}}}]}'
 
mobius automations publish-automation-version quickstart-print 1

The important detail is that print is a worker action. It will not complete until a worker is connected.

4. Run a worker

A worker is your process that executes action steps. The CLI ships a stock worker with a few built-in actions (print, fail, json, time, random), which is enough for this automation:

mobius worker --queues default --concurrency 5

Leave that running. Open a second terminal for the rest.

For decisions about concurrency, custom actions, and managed environments, see Workers.

5. Start a run

mobius automations start-automation-run quickstart-print \
  --inputs '{"note":"hello from quickstart"}'

The response has a run ID. Stream its events:

mobius automations stream-automation-run-events run_01...

You should see the worker claim the print job, complete it, and the run reach completed. Fetch the final state:

mobius automations get-run run_01...

6. Operate

A few one-liners that come up constantly:

# What's running right now?
mobius automations list-runs --status running
 
# What's stuck waiting?
mobius automations list-runs --status suspended
 
# Wake a step that's waiting on an external signal
mobius automations signal-automation-run run_01... \
  --step-key deploy_complete \
  --result '{"commit":"abc1234"}'
 
# Cancel a run
mobius automations cancel-run run_01... --reason "no longer needed"
  • Automations: how to design steps, concurrency policies, triggers, and versions.
  • Runs: the state machine and event stream.
  • Workers: worker processes, queues, sessions, and custom actions.
  • Interactions: pausing a run on a human approval.