CommandKit ckconfig
ckconfig is the optional ConfigKit integration for CommandKit. It adapts
ConfigKit loaders and scopes into reusable commandkit.Command declarations;
installing the integration is explicit and does not modify an application by
itself.
Module
The module path is
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig. Its first
release is prepared as v0.1.0. It uses the core commandkit package and
ConfigKit; it does not import PromptKit. See the
consumer guide
for exact callback and lifetime contracts.
Example
For one application configuration scope, install the convenience declaration:
app, err := commandkit.New(identity, ckconfig.AppCommand(loadAppConfig))
Use ckconfig.Command(ckconfig.Suite[Input, State]{...}) to define named
scopes, selectors, input checks, and state shared by the selected acquisitions
or comparison in a config invocation. ckconfig.FromConfigKit adapts a typed
ConfigKit loader. The config command family exposes scope discovery and the
validate, show, sources, explain, and diff operations supported by the declared
scopes. Source reports include native destination, placement, unresolved
destination, and source version-check evidence. Comparison returns ConfigKit's
native records to the YAML report path; the
CLI reference
owns its operator details.
The maintained simple example shows a complete consumer. The CommandKit CLI reference describes its operator-facing behavior.
License and attribution
This module is licensed under the GNU Lesser General Public License v3.0 or later. The accompanying LICENSE contains the full LGPL v3 and GPL v3 texts. See third-party attribution for incorporated and dependency notices.