# 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](docs/consumers/guide.md) 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](docs/cli.md) 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 - [Core-only example](examples/core/README.md) - [ConfigKit example](integrations/ckconfig/examples/simple/README.md) - [Composed ConfigKit and PromptKit example](integrations/ckprompt/examples/composed/README.md) ## Documentation - [Contributor guide](docs/development.md) - [Command line reference](docs/cli.md) - [Consumer guide](docs/consumers/guide.md) - [Internal package overview](docs/internal/overview.md) - [Maintainer release procedure](docs/release.md) - [Architecture policy](docs/policy/architecture.md) - [Policy provenance](docs/policy/meta.md) - [Deferred capabilities and proposals](docs/roadmap/deferred.md) CommandKit is licensed under the [LGPL v3.0 or later](COPYRIGHT). [Open Source attribution notices](docs/oss/attribution.md) are available.