CommandKit
CommandKit is a Go library for typed command declarations, shared CLI behavior,
and application-owned execution. The core commandkit module is usable by
itself. ConfigKit and PromptKit support lives in separately versioned optional
modules, so applications choose which upstream libraries they add.
The core captures reusable command declarations, validates installation batches
before changing an application's registry, converts typed inputs before
constructing them, and returns outcomes without exiting the process. Its
consumer guide covers declaration, invocation
and reporting. Each handler receives one invocation reporter for
substantive output, categorized messages, and terminal explanations; Execute
returns delivery observations with the outcome. The CLI reference
defines the shared visibility policy.
Modules
| Module | Package | Provides |
|---|---|---|
go.maximumdirect.net/commandkit |
commandkit |
Typed commands, bindings, execution reporting and outcomes, help, and version. |
go.maximumdirect.net/ckconfig |
ckconfig |
ConfigKit-backed config scopes, including configuration source evidence. |
go.maximumdirect.net/ckprompt |
ckprompt |
PromptKit engine configuration/comparison, five catalogs, named inspection, requirements discovery, concrete request validation, and native smoke tests. |
Importing an integration does not install commands. Core v0.4.0 is published; the published ckconfig and ckprompt v0.2.0 modules use core v0.3.0. The published ckconfig v0.3.0 uses ConfigKit v1.1.0 and does not compose with ckprompt v0.2.0; the published v0.2.0 pair remains matched. Current ckconfig source uses core v0.4.0. Current ckprompt source requires a newer ckconfig release and is developed in an aligned workspace. See the consumer guide for dependency details.
Examples
Documentation
- Contributor guide
- Command line reference
- Consumer guide
- Internal package overview
- Maintainer release procedure
- Architecture policy
- Policy provenance
- Future work and proposals
CommandKit is licensed under the LGPL v3.0 or later.
Open Source attribution notices are available.