2.7 KiB
CommandKit v0.2.0
Summary
CommandKit v0.2.0 replaces the core registration API with reusable captured command declarations and moves ConfigKit and PromptKit support into independently versioned optional modules. This is a source-only release with incompatible API changes from v0.1.0.
Changes
- Capture typed command specifications with
NewCommand, then install the resultingCommanddeclarations throughcommandkit.NeworApp.Register. Installation validates a batch before changing the application's registry. - Reuse captured declarations across applications. Typed bindings preserve supplied values separately from defaults, and input construction occurs only when execution reaches the command.
- Keep ConfigKit and PromptKit dependencies outside the core module. Applications explicitly import integrations and install their returned declarations.
- Adopt ReleaseKit v0.4.2 for independently versioned module publication. It remains a maintainer tool dependency; production packages do not import it.
Compatibility and upgrade
The consumer minimum remains Go 1.26.0. The selected maintainer release toolchain remains Go 1.26.8.
Consumers upgrading from v0.1.0 must rewrite command declarations, typed
bindings, and installation wiring for the captured declaration API. There is no
compatibility layer for the earlier registration API. Move configuration
integration code to
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig, and PromptKit
integration code to
gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt.
The integrations' initial releases are each v0.1.0; their version numbers are independent of core and upstream dependency versions. They add native configuration comparison, richer source evidence, PromptKit requirements discovery and validation, five catalogs, and opt-in smoke testing. Their own release notes describe the features and operator changes:
See the consumer guide for migration examples and the CLI reference for standard command and report contracts.