v0.1.4
madari v0.1.4
Adds first-class JSON output to the diagnostic and read commands, so scripts and agents can consume madari without parsing human-readable text. Default output is unchanged.
What changed
--jsononlist,status,doctor, andsync <client> --dry-run. Each emits exactly one JSON document on stdout and nothing else; human-readable error summaries (e.g.doctor found 1 error(s)) go to stderr.- Versioned schema envelope. Every payload carries
schema_version(currently1) andcommand. Field additions stay backward-compatible; renames or removals bump the version. List-valued fields are always arrays, nevernull. sync --jsonrequires--dry-run. The apply-mode output contract is intentionally left undefined for now.- Exit codes are unchanged across text and JSON modes and are now documented alongside every schema in
docs/cli-reference.md.
Closes #21 for the diagnostic/read surface.
Compatibility
No breaking changes. Default (text) output for every command is identical to v0.1.3, and the v0.1.3 managed-state behavior is unchanged. JSON is strictly opt-in via --json.
Not in this release
--jsonfor the lifecycle commands (install,add,remove,enable,disable,clients,import/export); they can adopt the same envelope later.- No secret-env placement policy or drift detection yet (planned for v0.1.5).
- No rings yet (planned for v0.2.0).
Assets
Prebuilt binaries for linux/darwin/windows on amd64/arm64. Verify with:
shasum -a 256 -c SHA256SUMS --ignore-missing