CLI reference¶
The bosh command-line tool exposes five subcommands. All of them
accept either a local path or an http(s):// URL for the descriptor
argument; GitHub blob URLs are auto-rewritten to their raw form.
| Command | Purpose |
|---|---|
bosh validate |
Check a descriptor against the schema, semantic rules, and lint advisories. |
bosh example |
Generate a sample invocation for a descriptor. |
bosh exec simulate |
Resolve a descriptor + invocation into the command-line that would run, without running it. |
bosh exec launch |
Resolve and actually run the tool under a local, docker, or singularity runtime. |
bosh test |
Run the test cases embedded in the descriptor's tests field. |
bosh pprint |
Render a descriptor as a structured tree view. |
bosh schema-export |
Emit the JSON Schema for one or both schema versions. |
bosh invocation |
Emit the invocation JSON Schema for a specific descriptor. |
bosh version |
Print the installed version. |
Exit codes¶
| Code | Meaning |
|---|---|
0 |
Success (the underlying command's exit code, for exec launch). |
1 |
Validation or descriptor load error. |
2 |
Runtime error (e.g. docker not installed, image not pullable). |
| n | For exec launch, the exit code of the tool itself. |
Python API¶
Every CLI command delegates to a Python function under the boutiques.*
namespace — see the API reference (once published).
The CLI is deliberately thin: anything you can do at the command line
you can do in three lines of Python.