• v0.1.0 9ee6ca43ef

    # CommandKit v0.1.0

    eric released this 2026-10-09 04:09:07 +00:00

    Summary

    CommandKit's initial release provides a Go library for consistent CLI inspection,
    command syntax, and shared command infrastructure. Applications register their
    own domain commands alongside CommandKit's standard inspection families.
    This release is a source-only Go module.

    Features

    • An instance-owned command registry with composable groups, typed flag and
      operand bindings, and explicit presence tracking for empty, false, and zero
      values. Each invocation has fresh parsing state.
    • A root public commandkit facade with Cobra-backed routing and parsing behind
      an internal adapter. Applications supply context and streams and retain their
      startup, acquisition, domain behavior, and process-exit decisions.
    • Metadata-driven help and version reporting. Version output defaults to the
      application identity and can explicitly select the embedded CommandKit identity.
    • Configuration scope discovery, validation, native effective YAML display,
      source inventory, and path explanation through application-supplied providers
      and ConfigKit adapters. Aggregate effective display emits a YAML document per
      selected scope with scope labels.
    • Independent registration of PromptKit engine configuration inspection and
      optional named prompt/profile inspection, with text and YAML definition reports.
    • Invocation outcomes that preserve application domain classifications and
      supported error identity, with diagnostic and report-delivery failure reporting.
    • Reused command and scope metadata, indexed command lookup, invocation-local
      backend sessions, requested-format report rendering, and fewer YAML framing
      allocations.

    See the CLI reference
    for command contracts and the consumer guide
    for integration and maintained examples. Semantic configuration comparison and
    PromptKit catalog listing remain deferred.

    Requirements and adoption

    Go 1.26.0 or newer is required. During development, the declared minimum
    increased from Go 1.25.5 to 1.26.0 with the adoption of ReleaseKit v0.3.0.
    ReleaseKit is a maintainer tool dependency in the root module graph, so its Go
    requirement also applies to library consumers; production packages do not import
    ReleaseKit. Consumers using Go 1.25 must upgrade their toolchain before adopting
    v0.1.0. The selected maintainer release toolchain is Go 1.26.8, distinct from the
    consumer minimum.

    Select the released module version with:

    go get gitea.maximumdirect.net/eric/CommandKit@v0.1.0
    

    Applications migrating from their own CLI implementations should align standard
    command paths and syntax with CommandKit, then update operator documentation and
    subprocess callers for those intentional changes. Application-specific commands
    remain application-owned. Compatibility for subsequent releases follows the
    release policy.

    COPYRIGHT |
    LICENSE |
    ATTRIBUTION

    Downloads