dogbed
# The CLI

Four commands, one contract: errors go to stderr, stdout stays empty, exit 1 — a failed render never emits a half-rendered document.

Commands

Render options

Exit contract

Any of --title, --css, --head, --lang switches output from a bare fragment to a full document. With none, the fragment is byte-identical to a bare oliver render:

$ dogbed render share/verdict.knap -d share/verdict.json
<h1>dogbed 0.1.0 — first verdict</h1>
<p><strong>approve</strong> — the pipeline sings</p>
<h2>Blockers</h2>
<h2>Nits</h2>
<ol>
<li>ship it</li>
</ol>
$ echo '{"bad":1' | dogbed render verdict.knap -d -
dogbed: invalid JSON in data (-): SyntaxError
$ echo $?
1
rendered by oliver rendered by dogbed — k4o templates it, oliver renders it