Prepare the initial CommandKit release note

This commit is contained in:
2026-10-09 04:07:52 +00:00
parent 54750dd957
commit 9ee6ca43ef
2 changed files with 62 additions and 6 deletions

61
docs/releases/v0.1.0.md Normal file
View 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)

View File

@@ -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.