devmachine

How it works

Choosing a target

A command never guesses which machine

With one machine set up, a command uses it. With several, a command that acts on a server needs --machine:

$ devmachine doctor
fail  configuration  several machines are configured (main, sandbox): say which one with --machine
skip  connection     there is no machine to check

There is no default_machine setting, on purpose. These commands create accounts and update whole servers — landing on a machine nobody named is how the wrong server gets wrecked, and a default set months ago is exactly how that happens. Typing --machine is cheap; explaining what happened to production is not.

Workspaces name themselves

A command that acts on a workspace takes it as its first argument:

devmachine ssh bob
devmachine mosh bob
devmachine run --workspace bob "git status"

No --machine is needed there — the workspace already says where it lives. run uses a flag only because its first argument is the command to run.

Skipping, not failing

When a check cannot run because an earlier one failed, devmachine reports it as skip with the reason, never as a failure. A machine that is unreachable would otherwise fail every remote check, burying the one line that matters — the connection — in a wall of red.