Goal
Expose a stable, versioned machine-readable protocol for editor and GUI integrations without requiring consumers to parse human-oriented tables or terminal output.
Principles
- Keep existing human-readable output and interactive behavior unchanged.
- Make structured output explicit through
--json, --format json, or --format jsonl.
- Emit structured payloads on stdout and diagnostics on stderr.
- Include a protocol
schemaVersion in every payload.
- Define stable error codes and exit-code semantics.
- Never include resolved secret values or credential material.
- Preserve Hum's daemonless architecture.
- Keep product and project policy outside the Hum codebase.
Planned work
Recommended order: protocol envelope, discovery/status/doctor/logs in parallel, then documentation and release.
Exit criteria
- A consumer can discover registered projects, templates, and services using structured output.
- A consumer can obtain service status and diagnostic results using structured output.
- A consumer can follow logs as bounded JSON Lines events.
- Success and error payloads have documented, fixture-tested schemas.
- The protocol ships in a tagged Hum release with compatibility documentation.
Goal
Expose a stable, versioned machine-readable protocol for editor and GUI integrations without requiring consumers to parse human-oriented tables or terminal output.
Principles
--json,--format json, or--format jsonl.schemaVersionin every payload.Planned work
Recommended order: protocol envelope, discovery/status/doctor/logs in parallel, then documentation and release.
Exit criteria