Reference

Command syntax, configuration schema, on-disk layout, exit codes, JSON output, and the tested compatibility matrix.

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.

Conventions used on these pages

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.


CLI Commands

Complete reference for every sow command, plus the global conventions they all share.

sow.yml Reference

Every field of the workspace configuration file, with validation rules and a complete worked example.

Package References

The five ways to name a package on the command line, and how ambiguity is resolved.

Repository Layout

Every path SOW creates, the pool grouping rule, name constraints, and what must never be served.

Exit Codes

The seven exit codes, what each means, and a command that reproduces it.

JSON Output

The sow.cli/v1 envelope, its fields, and the result shape of every command.

Compatibility

Which clients consume SOW repositories, which platforms run the binary, and the constraints you must respect.

Last modified: 2026-08-08: init commit (fe725aa)