Skip to content

Add JSON output for service status #35

Description

@delaudio

Parent epic: #31

Problem

Status is currently rendered as a human-oriented table, which is not a stable API for editor integrations.

Scope

Add an opt-in structured mode:

hum <project> <template> status --json

Each service record should expose safe structured state already modeled by Hum, including process, port, health, presentation state, identifiers, timestamps, and diagnostic detail where available.

Acceptance criteria

  • status --json uses the common versioned envelope.
  • Every selected service has a stable name and explicit process, port, health, and presentation states.
  • Optional fields are represented consistently as null or omitted according to the documented schema.
  • No environment values or secret material are serialized.
  • Ordering is deterministic.
  • Stale and missing runtime entries are represented without losing diagnostics.
  • Exit behavior for degraded services is documented and fixture-tested.
  • Existing table output remains unchanged when --json is absent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions