2026-10-07 18:25:40 +00:00
# CommandKit backend planning record
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
Status: initial Cobra/pflag backend implemented.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
Original planning: 2026-10-06. Reconciled: 2026-10-07.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
## Authority and current owners
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
[ADR 0002 ](../adr/0002-cobra-backend.md ) records the backend selection and rationale;
[ADR 0003 ](../adr/0003-public-facade.md ) records its isolation behind the public
facade. The [architecture policy ](../policy/architecture.md ) owns boundaries.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
Cobra/pflag dependencies, the internal adapter, routing/parsing, generated help,
and invocation integration are implemented. Selected dependency versions belong
in [go.mod ](../../go.mod ); license and notice entries belong in
[attribution ](../oss/attribution.md ). The former dependency-selection and
adapter-construction tasks are complete.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
Current mechanics belong in the [internal overview ](../internal/overview.md ),
with adapter contracts and implementation in
[internal/cobra ](../../internal/cobra/parse.go ). The root owns registration,
typed input preparation, invocation coordination, standard handlers, and reports.
The [CLI reference ](../cli.md ) owns observable syntax and presentation.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
## Completed adaptation and evidence
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
The initial implementation translated registered metadata through a neutral
bridge, rebuilt backend state for each invocation, and adapted backend routing,
local flags, operands, presence, help, and syntax failures to selected semantics.
2026-10-08 16:49:01 +00:00
The [completed initial implementation record ](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/3871d837489b9955998b362587a52b47282dc021/docs/roadmap/implementation.md )
records these stages and their checks.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
The earlier discussion of rejecting repeated singletons was superseded by the
accepted last-occurrence rule in [ADR 0006 ](../adr/0006-command-grammar.md ).
Detailed conversion, repetition, and terminator behavior belongs in
[registered command syntax ](../cli.md#registered-command-syntax ).
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
The delivered integrations expose native ConfigKit/PromptKit reports through the
root, as recorded in the [feature target ](initial.md ). Backend selection creates
no parallel configuration engine or public backend-specific provider contract.
Completed parsing/help, provider integration, attribution, and evidence tasks
have been retired from this roadmap.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
## Future maintenance and adoption
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
A later backend replacement remains a maintenance possibility governed by the
accepted public/CLI boundary and [release policy ](../policy/release.md ). A second
backend or generalized selection framework is outside the initial delivery.
2026-10-06 16:32:59 +00:00
2026-10-07 18:25:40 +00:00
Application migrations and updates to their documentation/subprocess consumers
remain separate work. They can use the [consumer guide ](../consumers/guide.md )
and maintained examples; this record does not claim migration completion.
Other deferred capabilities remain in the
[feature roadmap ](initial.md#explicit-deferrals ).