Getting started
The VS Code extension
The fleet inside the editor, with the engine composing every act it offers.
saphan-code puts the fleet inside the editor: a Saphan Studio activity-bar view with
one row per stream — state, last gate, liveness, what is owed — plus a stream detail with
the evidence the record names, and the legal next acts as buttons whose command lines
are composed by the engine, never by the plugin.
Design decisions worth knowing, because they mirror the product's invariants:
- It runs the binary you installed; it opens no port. The extension shells out to
saphan … --json(the samefleet showprojection everything else reads) and polls on a configurable interval, pausable. No daemon, no HTTP endpoint, no separate protocol. - Acts are the engine's own sentences. A gate button executes the engine-composed
command from the projection's dispatch affordance verbatim, substituting only the
decision and the actor. The plugin refuses to execute any composed line that starts
with
git— merges are observed, never clicked. - Exit codes are the contract. A pending gate renders as healthy waiting, refusals render verbatim as the engine printed them — the plugin classifies outcomes by the engine's own exit-code contract instead of inventing its own states.
- Identity falls back to your config.
saphanCode.engineBinaryandsaphanCode.actordefault from~/.saphan/config, so a configured operator installs it and it simply works.
Install it from the packaged extension you were given:
See The VS Code extension for what it needs from a machine.
The IDE is also simply where operators live: the same VS Code window that shows the fleet tree hosts the agent sessions themselves.