diff --git a/docs/releases/v0.1.0.md b/docs/releases/v0.1.0.md new file mode 100644 index 0000000..14c4e5f --- /dev/null +++ b/docs/releases/v0.1.0.md @@ -0,0 +1,61 @@ +# CommandKit v0.1.0 + +## 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](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/docs/cli.md) +for command contracts and the [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/docs/consumers/guide.md) +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: + +```sh +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](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/docs/policy/release.md). + +[COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/COPYRIGHT) | +[LICENSE](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/LICENSE) | +[ATTRIBUTION](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.1.0/docs/oss/attribution.md) diff --git a/docs/roadmap/deferred.md b/docs/roadmap/deferred.md index 0b1f875..72ab221 100644 --- a/docs/roadmap/deferred.md +++ b/docs/roadmap/deferred.md @@ -79,7 +79,7 @@ target. Reconsider them only with concrete motivation and review of ownership, invocation state, native reports, and the affected contracts. Retained measurement records are historical evidence, not performance guarantees or release gates. -## Consumer adoption and release preparation +## Consumer adoption Consumer migrations remain separate from library delivery. Applications can replace duplicated standard handlers and routing, then update their CLI docs @@ -87,8 +87,3 @@ and subprocess consumers for intentional changes while retaining domain commands No migration order or claim about individual applications' adoption is recorded here; the [consumer guide](../consumers/guide.md) and maintained examples provide integration guidance. - -The next CommandKit release note must explain the Go 1.26.0 minimum and the -consumer action required by the ReleaseKit v0.3.0 upgrade. Version selection, -matching notes, and publication follow the [maintainer procedure](../release.md). -This cleanup does not select a release version or publish a release.