2.5 KiB
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
reporting, and migration. 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 |
|---|---|---|
gitea.maximumdirect.net/eric/CommandKit |
commandkit |
Typed commands, bindings, execution reporting and outcomes, help, and version. |
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig |
ckconfig |
ConfigKit-backed config scopes, including configuration source evidence. |
gitea.maximumdirect.net/eric/CommandKit/integrations/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. Pass its declaration to
commandkit.New or App.Register to install it. The integrations depend on the
core and their selected upstream libraries; the core does not depend on either
integration.
Examples
Documentation
- Contributor guide
- Command line reference
- Consumer guide
- Internal package overview
- Maintainer release procedure
- Architecture policy
- Policy provenance
- Deferred capabilities and proposals
CommandKit is licensed under the LGPL v3.0 or later.
Open Source attribution notices are available.