kanon -- declarative dependency manager for git-hosted assets

Usage: kanon <command> [options]

Discovery & management:
  search           Discover catalog entries (grouped by source)
  add              Add catalog entries to .kanon
  remove           Remove sources from .kanon
  list             List declared vs installed sources and their status
  outdated         Report installable upgrades
  why              Explain why a transitive dep is in the tree

Lifecycle:
  install          Install/sync everything in .kanon
  clean            Remove installed artifacts (use --orphans to also prune unreferenced)
  validate         Validate XML manifests (subcommands: xml, marketplace, metadata)
  doctor           Diagnose .kanon / .kanon.lock health

Manifest repo (catalog author):
  catalog audit    Audit a manifest repo against the standards contract
  repo             Catalog-author repo subcommands (see kanon repo --help)

Shell integration:
  completion       Generate shell completion script

Global options (always available):
  --version                      Print kanon version and exit.
  --help                         Show this and exit.
  --quiet / --verbose            Logging verbosity (mutually exclusive).
  --no-color                     Disable ANSI color (also respects NO_COLOR env var).
  --no-update-check              Skip the PyPI update-available check (or set KANON_SKIP_UPDATE_CHECK=1).
  --home / --store-dir <path>    Shared kanon home root (store + caches). Precedence: flag > KANON_HOME env > ~/.kanon-home.
  --telemetry-debug              Print the usage-telemetry JSON that would be sent to stderr (still non-blocking).
  --telemetry-endpoint <url>     Override the telemetry collector endpoint (or set KANON_TELEMETRY_ENDPOINT).

Catalog source (required by commands that resolve a manifest repo; see each subcommand's --help):
  --catalog-source <url>@<ref>   Override the KANON_CATALOG_SOURCES env var. No default;
                                 one of --catalog-source or a single KANON_CATALOG_SOURCES
                                 entry is required for search/add/outdated/why/catalog audit.
                                 install is hermetic and does not accept a catalog source.
