Prepare the initial CommandKit release note
This commit is contained in:
61
docs/releases/v0.1.0.md
Normal file
61
docs/releases/v0.1.0.md
Normal file
@@ -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)
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user