Mechanics is reachable over SSH, but it is not a remote shell. A major early design thread was shaping that SSH surface into explicit, discoverable, scriptable verbs that agents can use safely.
Help became safe to explore
0.1.27 added rich help for every command: purpose, usage, arguments, flags, side effects, examples, and next steps. Help requests are intercepted before authentication and before mutation. That means a new user or an agent with an unknown key can learn the command surface without accidentally changing resources.
The same release added app wait, which is a good example of the command
philosophy: expose the smallest useful platform verb instead of asking callers
to reverse-engineer Argo CD and Kubernetes polling.
The command tree became regular
0.1.29 replaced ad-hoc SSH dispatch with a Cobra command tree. Invalid flags,
missing arguments, and unknown subcommands became consistent. 0.1.30 normalized
the nouns to singular forms: repo, app, and route. 0.1.31 moved
resource targeting to persistent named flags such as -r/--repo and
-a/--app.
These details matter for agents. A command like
repo -r myapp build wait --commit <sha> is more composable than a
positional grammar that changes from one command group to another.
The default help became a workflow map
0.1.47 reorganized the bare-connect and help output around workflow
phases: discovery, identity, source, build, deploy, expose, and inspect. It also
made route create print the live public URL and a follow-up command. The
control plane should show the next useful step whenever it can.
SSH is transport, not a shell
0.1.48 made that boundary explicit. Mechanics detects shell syntax such as
;, &&, and pipes, then rejects it with a clear explanation. The
service runs one structured Mechanics command per SSH connection. It does not
interpret shell programs, redirects, or pipelines.
The same release made GitOps progress lines unambiguous by printing repository
and path names like mylokin/gitops:apps/myapp/kustomization.yaml. Agents
need to know whether a write touched their source repository, their GitOps
repository, or nothing at all.
SSH gives Mechanics a familiar transport. The product surface is still typed commands, not ambient shell authority.