Skip to content

Add machine-readable project, template, and service discovery #32

Description

@delaudio

Parent epic: #31

Problem

An integration cannot build a project/template picker without reading Hum's private registry format or parsing configuration files itself.

Scope

Add supported structured commands for:

  • listing registered projects;
  • inspecting one registered project;
  • enumerating its templates and services;
  • exposing safe presentation metadata such as configured port, URL, runtime kind, and dependency names.

Suggested command shapes:

hum project list --json
hum project inspect <name> --json

The final CLI shape may differ, but discovery must not require a template name that has not yet been discovered.

Acceptance criteria

  • Registered projects can be listed in one JSON response.
  • A project can be inspected without reading the registry or YAML externally.
  • Templates and their root services are included.
  • Services include only non-secret metadata suitable for display.
  • Missing or invalid registrations use the common structured error envelope.
  • Relative config paths are resolved consistently with normal Hum commands.
  • Contract fixtures cover empty registries, valid projects, invalid configs, and unknown projects.
  • Human-readable project management behavior remains compatible.

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