CLI Commands
Complete reference for every sow command, plus the global conventions they all share.
This section is the lookup half of the documentation. It answers “what exactly does this
flag do”, “what fields may appear in sow.yml”, “what does exit code 5 mean”, and “which
file lands where” — precisely, without a narrative around it. If you are trying to learn
how SOW works, start with Getting Started or Features
instead; those pages explain the model, and link back here for the details.
Everything on these pages is derived from the shipping binary. Command output is
transcribed from real runs of sow 0.2.0-dev, and configuration rules match the strict
parser, not an aspirational schema.
rm, show, and where accept.sow.cli/v1 envelope, the meaning of each top-level field, and the result shape of
every command that produces data.Command examples are written without a $ prompt so you can copy a whole block. When a
transcript shows both input and output, the command line comes first and the output
follows directly, exactly as the binary printed it. Where output was shortened to keep a
page readable, it says so.
Placeholders in syntax blocks are uppercase (NAME, DIR, PACKAGE); literal text is
lowercase. Square brackets mark optional arguments, ... marks a repeatable one, and a
vertical bar separates alternatives — the same convention sow help uses.
Complete reference for every sow command, plus the global conventions they all share.
Every field of the workspace configuration file, with validation rules and a complete worked example.
The five ways to name a package on the command line, and how ambiguity is resolved.
Every path SOW creates, the pool grouping rule, name constraints, and what must never be served.
The seven exit codes, what each means, and a command that reproduces it.
The sow.cli/v1 envelope, its fields, and the result shape of every command.
Which clients consume SOW repositories, which platforms run the binary, and the constraints you must respect.