Reconcile module docs and release materials

This commit is contained in:
2026-10-11 02:06:06 +00:00
parent 18e81a5579
commit d2b5b0f3a8
45 changed files with 2380 additions and 362 deletions

View File

@@ -1,19 +1,33 @@
# CommandKit
CommandKit is a Go library project for consistent CLI inspection, command syntax,
and shared command infrastructure across related applications.
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 current Go library provides an instance-owned command registry, typed flag
and operand bindings, Cobra-backed routing, invocation outcomes, generated help,
application or CommandKit version reporting, configuration scope discovery,
ConfigKit-backed validation, native effective YAML display, source inventory,
and path explanation reports. Applications can register a PromptKit engine
configuration scope independently of PromptKit definition commands, and can
install optional prompt and profile inspection commands.
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 and invocation.
The [consumer guide](docs/consumers/guide.md) links to two maintained examples:
[simple](examples/simple/README.md) and
[composed](examples/composed/README.md).
## Modules
| Module | Package | Provides |
| --- | --- | --- |
| `gitea.maximumdirect.net/eric/CommandKit` | `commandkit` | Typed commands, bindings, execution, outcomes, help, and version. |
| `gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig` | `ckconfig` | ConfigKit-backed `config` scopes and inspection commands. |
| `gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt` | `ckprompt` | PromptKit engine configuration and optional named prompt/profile inspection. |
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/main.go)
- [ConfigKit example](integrations/ckconfig/examples/simple/README.md)
- [Composed ConfigKit and PromptKit example](integrations/ckprompt/examples/composed/README.md)
## Documentation
@@ -24,13 +38,8 @@ The [consumer guide](docs/consumers/guide.md) links to two maintained examples:
- [Maintainer release procedure](docs/release.md)
- [Architecture policy](docs/policy/architecture.md)
- [Policy provenance](docs/policy/meta.md)
## Future work and history
- [Optional integration module roadmap](docs/roadmap/modules.md)
- [Finalized registration API design](docs/roadmap/registration-api.md)
- [Deferred capabilities and proposals](docs/roadmap/deferred.md)
- [Completed planning and implementation records in Git history](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/6bc37e7ba64ca0920b4d0cc77039a18d4006b24e/docs/roadmap)
- [Registration API design record](docs/roadmap/registration-api.md)
CommandKit is licensed under the [LGPL v3.0 or later](COPYRIGHT).