Builds the site and serves it locally with live reload.
Usage
mix cherry.serve [--source DIR] [--out DIR] [--port N] [--json]Drafts are included (this is your writing loop). Edits to content,
static files, themes, or cherry.exs rebuild automatically and reload
connected browsers; a broken edit keeps the last good output serving
and prints its diagnostics.
--port defaults to 4000. --port 0 binds an ephemeral free port —
handy for agents and CI, where a fixed port may already be taken; the
port actually bound is in the banner and the --json envelope.
The server listens on both IPv4 and IPv6 (falling back to IPv4-only
where IPv6 is unavailable), so localhost never stalls on hosts that
resolve it to ::1 first. --verbose logs every request: method,
path, status, and how long the response took.
When no file-watcher backend is available (on Linux this means
inotify-tools is not installed), the site still serves — just without
live reload. The banner says so and the envelope carries
live_reload: false.