Record proposed CLI decisions and clarify CommandKit boundaries
This commit is contained in:
@@ -33,9 +33,11 @@ Reuse their routing, option parsing, help, context, and stream mechanisms and ad
|
||||
adaptation where selected CommandKit semantics require it.
|
||||
|
||||
CommandKit retains its own public registration API, typed inputs, standard
|
||||
families, and observable contracts. Applications do not construct Cobra commands
|
||||
or use pflag getters in handlers. [ADR 0003](0003-public-facade.md) isolates the
|
||||
backend behind an internal adapter and root-owned public contracts.
|
||||
families, and observable contracts. Its public registration and handler APIs
|
||||
use CommandKit-owned definitions and typed inputs. Cobra commands and pflag
|
||||
getters stay within CommandKit's internal adapter. Independent consumer framework
|
||||
use remains application-owned. [ADR 0003](0003-public-facade.md) records the
|
||||
adapter and root-owned public contracts.
|
||||
|
||||
Applications retain process lifecycle and domain execution. ConfigKit and
|
||||
PromptKit retain configuration and inspection semantics. Framework selection
|
||||
@@ -43,7 +45,9 @@ does not transfer those responsibilities to Cobra or CommandKit.
|
||||
|
||||
Build fresh backend command/flag state and input storage per invocation. A fresh
|
||||
command tree constructed from registered definitions is the initial approach.
|
||||
Tree construction must not load configuration or create application runtime.
|
||||
CommandKit's tree construction uses registered metadata and leaves acquisition
|
||||
callbacks uninvoked. Application startup and callback effects retain their own
|
||||
lifecycle.
|
||||
|
||||
Implement one concrete backend. There is no initial public backend selector or
|
||||
pluggable framework. A future replacement can change internal implementation
|
||||
@@ -81,10 +85,9 @@ incorporated. Meaningful integration evidence must exercise the real adapter
|
||||
against selected contracts. A dependency update or replacement can change CLI
|
||||
behavior even with unchanged Go signatures and is subject to compatibility policy.
|
||||
|
||||
The [architecture policy](../policy/architecture.md) owns normative boundaries;
|
||||
the [backend roadmap](../roadmap/03-backend.md) owns implementation tasks and status.
|
||||
The [architecture policy](../policy/architecture.md) owns normative boundaries.
|
||||
[ADR 0001](0001-command-dispatch-and-inputs.md) records the dispatcher and input
|
||||
model. Remaining command and grammar proposals belong to the CLI roadmap.
|
||||
model.
|
||||
|
||||
Reviewed primary references from the selection:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user