4 Commits

65 changed files with 241 additions and 131 deletions

View File

@@ -19,13 +19,11 @@ defines the shared visibility policy.
| Module | Package | Provides | | Module | Package | Provides |
| --- | --- | --- | | --- | --- | --- |
| `go.maximumdirect.net/commandkit` | `commandkit` | Typed commands, bindings, execution reporting and outcomes, help, and version. | | `go.maximumdirect.net/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. | | `go.maximumdirect.net/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. | | `go.maximumdirect.net/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. The integrations currently Importing an integration does not install commands. The matched ckconfig and
use the old core module identity and cannot be composed with the new core path. ckprompt v0.2.0 modules use core v0.3.0. See the
The planned matched releases are `go.maximumdirect.net/ckconfig v0.2.0` and
`go.maximumdirect.net/ckprompt v0.2.0`, using core v0.3.0. See the
[consumer guide](docs/consumers/guide.md#module-selection) for migration details. [consumer guide](docs/consumers/guide.md#module-selection) for migration details.
## Examples ## Examples

View File

@@ -12,16 +12,15 @@ installed at the application root, not as group children.
| Import | Use when | | Import | Use when |
| --- | --- | | --- | --- |
| `go.maximumdirect.net/commandkit` | The application needs typed command declarations and common CLI behavior. | | `go.maximumdirect.net/commandkit` | The application needs typed command declarations and common CLI behavior. |
| `gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig` | The application wants ConfigKit-backed configuration scopes and reports. | | `go.maximumdirect.net/ckconfig` | The application wants ConfigKit-backed configuration scopes and reports. |
| `gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt` | The application wants PromptKit engine configuration/comparison, five catalogs, named inspection, requirements discovery, request validation, or native smoke testing. | | `go.maximumdirect.net/ckprompt` | The application wants PromptKit engine configuration/comparison, five catalogs, named inspection, requirements discovery, request validation, or native smoke testing. |
The integration paths in the table are their current source identities; they The matched releases are core v0.3.0, ckconfig v0.2.0, and ckprompt v0.2.0.
use the old core path and do not compose with `go.maximumdirect.net/commandkit`. Update application imports and dependency versions together; old and new core
For the new core v0.3.0 identity, the planned matched releases are paths have distinct Go type identities. Install core with
`go.maximumdirect.net/ckconfig v0.2.0` and `go.maximumdirect.net/ckprompt v0.2.0`. `go get go.maximumdirect.net/commandkit@v0.3.0` and either integration with
Update application imports and dependency versions together when those releases `go get go.maximumdirect.net/ckconfig@v0.2.0` or
are available. Old and new core paths have distinct Go type identities. `go get go.maximumdirect.net/ckprompt@v0.2.0`.
Install the new core with `go get go.maximumdirect.net/commandkit@v0.3.0`.
The two integrations are independent optional imports. `ckprompt` uses the The two integrations are independent optional imports. `ckprompt` uses the
public scope and error contracts from `ckconfig`; importing it does not add the public scope and error contracts from `ckconfig`; importing it does not add the

View File

@@ -99,10 +99,7 @@ Sibling-checkout references in retired planning records are historical review
evidence, not build dependencies. Implemented contracts belong in CommandKit evidence, not build dependencies. Implemented contracts belong in CommandKit
under their canonical owners. under their canonical owners.
The root module does not traverse nested modules. During the vanity-path The root module does not traverse nested modules. During development, use a
migration, integrations still import the old core identity and cannot compose
with the migrated root until their own module migrations are complete. After
the matched migrations, during development use a
local workspace for all three modules; it is ignored and must not be committed. local workspace for all three modules; it is ignored and must not be committed.
If a local `go.work` already exists, preserve it and add these module directories: If a local `go.work` already exists, preserve it and add these module directories:

View File

@@ -6,9 +6,9 @@ own the optional ConfigKit and PromptKit integrations. The
[architecture policy](../policy/architecture.md) owns normative boundaries; [architecture policy](../policy/architecture.md) owns normative boundaries;
this page inventories the implemented owners. this page inventories the implemented owners.
The core module now declares `go.maximumdirect.net/commandkit`. The integration The core, ckconfig, and ckprompt modules declare
modules retain their old module and core import identities until their planned `go.maximumdirect.net/commandkit`, `go.maximumdirect.net/ckconfig`, and
matched releases; Go treats those identities as distinct. `go.maximumdirect.net/ckprompt`, respectively.
## Root `commandkit` ## Root `commandkit`

View File

@@ -1,6 +1,6 @@
# CommandKit vanity migration and dependency alignment plan # CommandKit vanity migration and dependency alignment plan
Status: Stage 1 complete; Stages 2–7 are not started. Status: Stages 1–5 complete; Stages 6–7 are not started.
This plan is for the Luna coding agent implementing the This plan is for the Luna coding agent implementing the
[feature roadmap](integration-dependency-alignment.md). Follow the stages in [feature roadmap](integration-dependency-alignment.md). Follow the stages in
@@ -145,7 +145,10 @@ The full root suite belongs to Stage 2's normal publication workflow.
## Stage 2: Validate and publish core v0.3.0 ## Stage 2: Validate and publish core v0.3.0
**Status:** not started. **Completed.** Core `go.maximumdirect.net/commandkit v0.3.0` was published as
tag `v0.3.0` at candidate `e256eb1cc02a0c72c4e23c4967ed1caeaef17008`.
The ordinary Go 1.26.8 release workflow passed the complete root suite and
selected file checks before the successful source-tag push.
1. Review and commit the complete core candidate under the local commit policy. 1. Review and commit the complete core candidate under the local commit policy.
Confirm that unrelated/private files and ignored workspaces are excluded. Confirm that unrelated/private files and ignored workspaces are excluded.
@@ -173,7 +176,12 @@ sums is part of Stage 3, not a new completion gate for core publication.
## Stage 3: Migrate ckconfig and prepare its independent candidate ## Stage 3: Migrate ckconfig and prepare its independent candidate
**Status:** not started. **Completed.** Ckconfig declares `go.maximumdirect.net/ckconfig`, imports the
new core identity, and downloaded `go.maximumdirect.net/commandkit v0.3.0`
with authentic sums. The resolved graph retains ConfigKit v0.8.0 and selects
both the older ReleaseKit v0.4.1 and vanity ReleaseKit v0.9.0 tool modules;
module-local attribution and current guidance reflect those selections. The
v0.2.0 release note is prepared; independent suite validation follows.
1. In `integrations/ckconfig`, migrate the module declaration to 1. In `integrations/ckconfig`, migrate the module declaration to
`go.maximumdirect.net/ckconfig`. Update all owned imports, tests, and the `go.maximumdirect.net/ckconfig`. Update all owned imports, tests, and the
@@ -216,7 +224,11 @@ aligned current documentation/attribution.
## Stage 4: Validate and publish ckconfig v0.2.0 ## Stage 4: Validate and publish ckconfig v0.2.0
**Status:** not started. **Completed.** `go.maximumdirect.net/ckconfig v0.2.0` was published as
`integrations/ckconfig/v0.2.0` at candidate
`92a327db9752e7a898d14f56e86fbdee027b3126`. The ordinary Go 1.26.8 release
workflow passed the independent suite, maintained example, and selected file
checks before the successful source-tag push.
Review and commit the complete ckconfig candidate. From the repository root, Review and commit the complete ckconfig candidate. From the repository root,
use the same authoritative-branch protocol as Stage 2: use the same authoritative-branch protocol as Stage 2:
@@ -241,7 +253,12 @@ identity. Downloading it for ckprompt is the next module's preparation.
## Stage 5: Migrate ckprompt and prepare its independent candidate ## Stage 5: Migrate ckprompt and prepare its independent candidate
**Status:** not started. **Completed.** Ckprompt declares `go.maximumdirect.net/ckprompt`, uses the
new core and ckconfig imports, and downloaded their v0.3.0 and v0.2.0 releases
with authentic sums. ConfigKit v0.8.0 and PromptKit v0.16.0 remain selected;
attribution records both distinct ReleaseKit tool modules in the resolved
graph. The v0.2.0 note and current consumer guidance are prepared; independent
suite validation follows.
1. Migrate `integrations/ckprompt` to `go.maximumdirect.net/ckprompt`. Update its 1. Migrate `integrations/ckprompt` to `go.maximumdirect.net/ckprompt`. Update its
owned source/tests and composed example to import the new core, ckconfig, owned source/tests and composed example to import the new core, ckconfig,

View File

@@ -26,8 +26,7 @@ and try completing `core-example report d` or `core-example ws gr`.
Compatible integration factories also return `commandkit.Command` and can be Compatible integration factories also return `commandkit.Command` and can be
passed directly to `New` beside `commandkit.Alias` or flag-alias declarations. passed directly to `New` beside `commandkit.Alias` or flag-alias declarations.
The current integrations still use the old core identity; the planned matched The matched ckconfig and ckprompt releases use the new core identity. For a
vanity-path releases will use the new core identity. For a
command-only `[]commandkit.Command`, convert its elements into a command-only `[]commandkit.Command`, convert its elements into a
`[]commandkit.Declaration` before appending routing rules; Go cannot expand the `[]commandkit.Declaration` before appending routing rules; Go cannot expand the
command slice as `...commandkit.Declaration`. The command slice as `...commandkit.Declaration`. The

View File

@@ -7,9 +7,8 @@ itself.
## Module ## Module
The module path is The module path is `go.maximumdirect.net/ckconfig`. Version v0.2.0 uses
`gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig`. Its first `go.maximumdirect.net/commandkit v0.3.0` and
release is prepared as `v0.1.0`. It uses the core `commandkit` package and
ConfigKit; it does not import PromptKit. See the ConfigKit; it does not import PromptKit. See the
[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#configkit-scopes) [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#configkit-scopes)
for exact callback and lifetime contracts. for exact callback and lifetime contracts.

View File

@@ -10,8 +10,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
type adapterSettings struct { type adapterSettings struct {

View File

@@ -7,8 +7,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestComparisonCapabilitiesAreIndependentAndCaptured(t *testing.T) { func TestComparisonCapabilitiesAreIndependentAndCaptured(t *testing.T) {

View File

@@ -6,8 +6,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestComparisonSelectionInheritsFieldsIndependently(t *testing.T) { func TestComparisonSelectionInheritsFieldsIndependently(t *testing.T) {

View File

@@ -8,8 +8,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestComparisonPreparesEqualSelectionsWithSeparateTypedInputs(t *testing.T) { func TestComparisonPreparesEqualSelectionsWithSeparateTypedInputs(t *testing.T) {

View File

@@ -1,6 +1,6 @@
package ckconfig package ckconfig
import commandkit "gitea.maximumdirect.net/eric/CommandKit" import commandkit "go.maximumdirect.net/commandkit"
func completionChoices(values ...string) commandkit.CompletionHint { func completionChoices(values ...string) commandkit.CompletionHint {
choices := make([]commandkit.CompletionChoice, len(values)) choices := make([]commandkit.CompletionChoice, len(values))

View File

@@ -7,8 +7,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestCompletionUsesInstalledScopeCapabilitiesWithoutAcquisition(t *testing.T) { func TestCompletionUsesInstalledScopeCapabilitiesWithoutAcquisition(t *testing.T) {

View File

@@ -7,8 +7,8 @@ import (
"io" "io"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
// FromConfigKit adapts a typed ConfigKit loader to all five native // FromConfigKit adapts a typed ConfigKit loader to all five native

View File

@@ -4,8 +4,8 @@ import (
"context" "context"
"io" "io"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
// Selection carries the configuration and overlay choices supplied for a // Selection carries the configuration and overlay choices supplied for a

View File

@@ -9,8 +9,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestWithScopeErrorCopiesAndRetainsCauses(t *testing.T) { func TestWithScopeErrorCopiesAndRetainsCauses(t *testing.T) {

View File

@@ -4,7 +4,7 @@ import (
"errors" "errors"
"fmt" "fmt"
commandkit "gitea.maximumdirect.net/eric/CommandKit" commandkit "go.maximumdirect.net/commandkit"
) )
func runConfigDiff[I, S any](invocation commandkit.Invocation, plan *configOperationPlan[I, S], state S) commandkit.Outcome { func runConfigDiff[I, S any](invocation commandkit.Invocation, plan *configOperationPlan[I, S], state S) commandkit.Outcome {

View File

@@ -9,8 +9,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -1,4 +1,5 @@
// Package ckconfig provides CommandKit's optional ConfigKit integration. Its // Package ckconfig, provided by go.maximumdirect.net/ckconfig, provides
// CommandKit's optional ConfigKit integration. Its
// canonical Command declaration installs the standard config command family // canonical Command declaration installs the standard config command family
// through the core commandkit package. Applications can install CommandKit // through the core commandkit package. Applications can install CommandKit
// RoutingRule declarations alongside it through commandkit.New or // RoutingRule declarations alongside it through commandkit.New or

View File

@@ -153,16 +153,29 @@ License and notices: [MIT](licenses/MIT.txt) |
## ReleaseKit ## ReleaseKit
Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.4.2` (transitive Go tool requirement; not a runtime import). Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.4.1` (transitive Go tool requirement; not a runtime import).
Copyright (C) 2026 Eric Rakestraw Copyright (C) 2026 Eric Rakestraw
SPDX-License-Identifier: LGPL-3.0-or-later SPDX-License-Identifier: LGPL-3.0-or-later
License and notices: [LGPL v3.0](../../LICENSE) | License and notices: [LGPL v3.0](../../LICENSE) |
[LICENSE](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/7d033c5ca1c95aec7db9690293638a0a1ac887b8/LICENSE). [LICENSE](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469/LICENSE).
[Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/7d033c5ca1c95aec7db9690293638a0a1ac887b8). [Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469).
## ReleaseKit (vanity module)
Selected module: `go.maximumdirect.net/releasekit` at `v0.9.0` (transitive Go tool requirement; not a runtime import).
Copyright (C) 2026 Eric Rakestraw
SPDX-License-Identifier: LGPL-3.0-or-later
License and notices: [LGPL v3.0](../../LICENSE) |
[LICENSE](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/2180aa868ec2caa95fc8279fd59d5f0ebac41bd4/LICENSE).
[Source](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/2180aa868ec2caa95fc8279fd59d5f0ebac41bd4).
## Goldmark ## Goldmark

View File

@@ -0,0 +1,35 @@
# CommandKit ckconfig v0.2.0
## Summary
CommandKit ckconfig v0.2.0 moves the integration to
`go.maximumdirect.net/ckconfig` and uses `go.maximumdirect.net/commandkit v0.3.0`
with ConfigKit v0.8.0. It adopts core's invocation reporting and completion
contracts while retaining ConfigKit-owned inspection and comparison behavior.
## Migration
Replace imports of `gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig`
with `go.maximumdirect.net/ckconfig`, and update core imports to
`go.maximumdirect.net/commandkit`. Select ckconfig v0.2.0 and core v0.3.0
as a matched set. Old and new core paths have distinct Go type identities.
Applications also using PromptKit should move to the forthcoming matched
`go.maximumdirect.net/ckprompt v0.2.0` release.
Handlers use `Invocation.Reporter()` for output and categorized messages;
terminal failures carry an explanation and optional cause. The integration
submits provider diagnostics through the invocation reporter, respecting shared
reporting flags. Update callers that used `Invocation.Streams`,
`Outcome.Diagnostics`, or the old error-first failure API as described in the
[core migration guide](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/v0.3.0/docs/consumers/guide.md#invocation-reporting).
The standard config commands also provide completion hints for applicable
selectors and file paths when the application installs core's completion command.
Go 1.26.0 remains the consumer minimum. Importing ckconfig does not install
commands; pass its declarations to `commandkit.New` or `App.Register`.
See the [module README](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.2.0/integrations/ckconfig/README.md)
and [consumer guide](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.2.0/docs/consumers/guide.md#configkit-scopes).
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.2.0/integrations/ckconfig/COPYRIGHT) |
[LICENSE](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.2.0/integrations/ckconfig/LICENSE) |
[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.2.0/integrations/ckconfig/docs/oss/attribution.md)

View File

@@ -1,5 +1,8 @@
# Simple consumer # Simple consumer
This example imports `go.maximumdirect.net/ckconfig` and
`go.maximumdirect.net/commandkit`; use ckconfig v0.2.0 with core v0.3.0.
Run the maintained example with: Run the maintained example with:
```sh ```sh

View File

@@ -7,9 +7,9 @@ import (
"os" "os"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
type appConfiguration struct { type appConfiguration struct {

View File

@@ -7,8 +7,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit" "go.maximumdirect.net/ckconfig"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig" commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -5,8 +5,8 @@ import (
"fmt" "fmt"
"io" "io"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
type explanationReport struct { type explanationReport struct {

View File

@@ -9,8 +9,8 @@ import (
"sort" "sort"
"strings" "strings"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
type scopeMetadata struct { type scopeMetadata struct {

View File

@@ -9,8 +9,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestScopeDiscoveryIsOrderedAndDoesNotUseSuiteFactories(t *testing.T) { func TestScopeDiscoveryIsOrderedAndDoesNotUseSuiteFactories(t *testing.T) {

View File

@@ -1,9 +1,8 @@
module gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig module go.maximumdirect.net/ckconfig
go 1.26.0 go 1.26.0
require ( require (
gitea.maximumdirect.net/eric/CommandKit v0.2.0
gitea.maximumdirect.net/eric/ConfigKit v0.8.0 gitea.maximumdirect.net/eric/ConfigKit v0.8.0
go.yaml.in/yaml/v4 v4.0.0-rc.6 go.yaml.in/yaml/v4 v4.0.0-rc.6
) )
@@ -12,4 +11,5 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.9 // indirect github.com/spf13/pflag v1.0.9 // indirect
go.maximumdirect.net/commandkit v0.3.0
) )

View File

@@ -1,5 +1,3 @@
gitea.maximumdirect.net/eric/CommandKit v0.2.0 h1:UNBjSq6XDZHdPqvZLOL3N5R1E1ol0jnfldgradU7eqw=
gitea.maximumdirect.net/eric/CommandKit v0.2.0/go.mod h1:47DQ6Mo/yZqUVn5PAFRmPck91Zhf1jfaHDMoEZvUzsQ=
gitea.maximumdirect.net/eric/ConfigKit v0.8.0 h1:xCIhYnOHjw7rFvB+vIremPKGeROOxKTomnUEUipuQno= gitea.maximumdirect.net/eric/ConfigKit v0.8.0 h1:xCIhYnOHjw7rFvB+vIremPKGeROOxKTomnUEUipuQno=
gitea.maximumdirect.net/eric/ConfigKit v0.8.0/go.mod h1:C82sbyKHYMV1OwaD2GJanFrwTfcZfjlW2JsGze5b0kA= gitea.maximumdirect.net/eric/ConfigKit v0.8.0/go.mod h1:C82sbyKHYMV1OwaD2GJanFrwTfcZfjlW2JsGze5b0kA=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
@@ -10,6 +8,8 @@ github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
go.maximumdirect.net/commandkit v0.3.0 h1:RCmg2GS8uzlLSJCIqarpn1uFDec0W3ylNNRRPT6kUFE=
go.maximumdirect.net/commandkit v0.3.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc=
go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4= go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4=
go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@@ -4,8 +4,8 @@ import (
"fmt" "fmt"
"strings" "strings"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
) )
type configCommandInput[I, S any] struct { type configCommandInput[I, S any] struct {

View File

@@ -4,7 +4,7 @@ import (
"fmt" "fmt"
"io" "io"
commandkit "gitea.maximumdirect.net/eric/CommandKit" commandkit "go.maximumdirect.net/commandkit"
) )
func runConfigOperation[I, S any](invocation commandkit.Invocation, operation Operation, input *configCommandInput[I, S]) commandkit.Outcome { func runConfigOperation[I, S any](invocation commandkit.Invocation, operation Operation, input *configCommandInput[I, S]) commandkit.Outcome {

View File

@@ -6,7 +6,7 @@ import (
"io" "io"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit" commandkit "go.maximumdirect.net/commandkit"
) )
func TestBufferedReportCancellationBeforeDelivery(t *testing.T) { func TestBufferedReportCancellationBeforeDelivery(t *testing.T) {

View File

@@ -7,7 +7,7 @@ import (
"strconv" "strconv"
"unicode" "unicode"
commandkit "gitea.maximumdirect.net/eric/CommandKit" commandkit "go.maximumdirect.net/commandkit"
) )
type effectiveDocument struct { type effectiveDocument struct {

View File

@@ -6,8 +6,8 @@ import (
"io" "io"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -8,8 +8,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -6,7 +6,7 @@ import (
"io" "io"
"strings" "strings"
commandkit "gitea.maximumdirect.net/eric/CommandKit" commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -7,10 +7,9 @@ Importing it does not install either command family.
## Module ## Module
The module path is The module path is `go.maximumdirect.net/ckprompt`. Version v0.2.0 uses
`gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`. Its first `go.maximumdirect.net/commandkit v0.3.0`, `go.maximumdirect.net/ckconfig v0.2.0`,
release is prepared as `v0.1.0`. It uses `commandkit`, `ckconfig`, and and PromptKit v0.16.0. See the
PromptKit. See the
[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#promptkit-configuration-and-definitions) [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#promptkit-configuration-and-definitions)
for callback, input, state, and acquisition contracts. for callback, input, state, and acquisition contracts.

View File

@@ -7,10 +7,10 @@ import (
"io" "io"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
// PromptRequest selects one named prompt for inspection. // PromptRequest selects one named prompt for inspection.

View File

@@ -11,10 +11,10 @@ import (
"testing" "testing"
"testing/fstest" "testing/fstest"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
const adapterPrompt = `prompts: const adapterPrompt = `prompts:

View File

@@ -9,9 +9,9 @@ import (
"strconv" "strconv"
"strings" "strings"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -10,9 +10,9 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -9,11 +9,11 @@ import (
"testing" "testing"
"testing/fstest" "testing/fstest"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
"go.maximumdirect.net/ckprompt"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -1,6 +1,6 @@
package ckprompt package ckprompt
import commandkit "gitea.maximumdirect.net/eric/CommandKit" import commandkit "go.maximumdirect.net/commandkit"
func completionChoices(values ...string) commandkit.CompletionHint { func completionChoices(values ...string) commandkit.CompletionHint {
choices := make([]commandkit.CompletionChoice, len(values)) choices := make([]commandkit.CompletionChoice, len(values))

View File

@@ -8,11 +8,11 @@ import (
"testing" "testing"
"testing/fstest" "testing/fstest"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
"go.maximumdirect.net/ckprompt"
commandkit "go.maximumdirect.net/commandkit"
) )
type compositionInput struct{ Campaign commandkit.Supplied[string] } type compositionInput struct{ Campaign commandkit.Supplied[string] }

View File

@@ -1,4 +1,5 @@
// Package ckprompt provides optional PromptKit configuration comparison, // Package ckprompt, provided by go.maximumdirect.net/ckprompt, provides optional
// PromptKit configuration comparison,
// prompt catalogs, named inspections, requirements discovery and validation, // prompt catalogs, named inspections, requirements discovery and validation,
// and native smoke testing for CommandKit. Its command factories return // and native smoke testing for CommandKit. Its command factories return
// canonical commandkit.Command declarations. Applications can install // canonical commandkit.Command declarations. Applications can install

View File

@@ -28,16 +28,29 @@ License and notices: [LGPL v3.0](../../LICENSE) |
## ReleaseKit ## ReleaseKit
Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.4.2` (transitive Go tool requirement; not a runtime import). Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.4.1` (transitive Go tool requirement; not a runtime import).
Copyright (C) 2026 Eric Rakestraw Copyright (C) 2026 Eric Rakestraw
SPDX-License-Identifier: LGPL-3.0-or-later SPDX-License-Identifier: LGPL-3.0-or-later
License and notices: [LGPL v3.0](../../LICENSE) | License and notices: [LGPL v3.0](../../LICENSE) |
[LICENSE](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/7d033c5ca1c95aec7db9690293638a0a1ac887b8/LICENSE). [LICENSE](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469/LICENSE).
[Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/7d033c5ca1c95aec7db9690293638a0a1ac887b8). [Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469).
## ReleaseKit (vanity module)
Selected module: `go.maximumdirect.net/releasekit` at `v0.9.0` (transitive Go tool requirement; not a runtime import).
Copyright (C) 2026 Eric Rakestraw
SPDX-License-Identifier: LGPL-3.0-or-later
License and notices: [LGPL v3.0](../../LICENSE) |
[LICENSE](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/2180aa868ec2caa95fc8279fd59d5f0ebac41bd4/LICENSE).
[Source](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/2180aa868ec2caa95fc8279fd59d5f0ebac41bd4).
## JSON Schema ## JSON Schema

View File

@@ -0,0 +1,36 @@
# CommandKit ckprompt v0.2.0
## Summary
CommandKit ckprompt v0.2.0 moves the PromptKit integration to
`go.maximumdirect.net/ckprompt`. It uses core
`go.maximumdirect.net/commandkit v0.3.0`,
`go.maximumdirect.net/ckconfig v0.2.0`, PromptKit v0.16.0, and ConfigKit v0.8.0.
The integration adopts core's invocation reporting and completion contracts
while preserving PromptKit's inspection, validation, and smoke semantics.
## Migration
Replace imports of `gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`
with `go.maximumdirect.net/ckprompt`; update core and ckconfig imports to
`go.maximumdirect.net/commandkit` and `go.maximumdirect.net/ckconfig`. Select
core v0.3.0 and both integration modules at v0.2.0 as a matched set. Old and
new core paths identify different Go packages and their types cannot be mixed.
Handlers use `Invocation.Reporter()` for output and categorized messages;
terminal failures carry an explanation and optional cause. The integration
submits provider diagnostics through the reporter, respecting shared reporting
flags. Replace uses of `Invocation.Streams`, `Outcome.Diagnostics`, and the
old error-first failure API as described in the
[core migration guide](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/v0.3.0/docs/consumers/guide.md#invocation-reporting).
PromptKit commands provide completion hints when the application installs the
core completion command. Command and flag aliases remain application owned.
Go 1.26.0 remains the consumer minimum. Importing ckprompt installs no commands;
compose configuration scopes and the PromptKit command family explicitly. See
the [module README](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.2.0/integrations/ckprompt/README.md)
and [consumer guide](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.2.0/docs/consumers/guide.md#promptkit-configuration-and-definitions).
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.2.0/integrations/ckprompt/COPYRIGHT) |
[LICENSE](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.2.0/integrations/ckprompt/LICENSE) |
[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.2.0/integrations/ckprompt/docs/oss/attribution.md)

View File

@@ -1,5 +1,9 @@
# Composed consumer # Composed consumer
This example uses `go.maximumdirect.net/commandkit v0.3.0`,
`go.maximumdirect.net/ckconfig v0.2.0`, and
`go.maximumdirect.net/ckprompt v0.2.0`.
This example composes application configuration, PromptKit configuration, This example composes application configuration, PromptKit configuration,
PromptKit comparison and catalogs, definition and requirements inspection, and PromptKit comparison and catalogs, definition and requirements inspection, and
one application-owned command: one application-owned command:
@@ -121,11 +125,7 @@ the selected campaign but leaves artifact bindings to the operator. The
`requirements show` commands remain discovery reports: partial discovery can `requirements show` commands remain discovery reports: partial discovery can
succeed even when a concrete request would fail validation. succeed even when a concrete request would fail validation.
The alias examples use the local CommandKit source because the composed Run `GOWORK=off go test ./...` from this example directory to check it against
module's published core dependency, v0.2.0, predates alias declarations. From the module's declared dependencies. A local workspace can instead select the
the repository root, add the three local modules to `go.work` as described in three current sources, as described in the
the [developer guide](../../../../docs/development.md#documentation-validation), [developer guide](../../../../docs/development.md#documentation-validation).
then run `go test ./...` from this example directory. This checks the example
against the current local core and integration sources; it does not claim that
published v0.2.0 supports aliases. The next core dependency adoption is handled
after the core release is prepared.

View File

@@ -8,11 +8,11 @@ import (
"os" "os"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
"go.maximumdirect.net/ckprompt"
commandkit "go.maximumdirect.net/commandkit"
) )
type campaign struct { type campaign struct {

View File

@@ -9,11 +9,11 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
"go.maximumdirect.net/ckprompt"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -1,10 +1,8 @@
module gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt module go.maximumdirect.net/ckprompt
go 1.26.0 go 1.26.0
require ( require (
gitea.maximumdirect.net/eric/CommandKit v0.2.0
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig v0.1.0
gitea.maximumdirect.net/eric/ConfigKit v0.8.0 gitea.maximumdirect.net/eric/ConfigKit v0.8.0
gitea.maximumdirect.net/eric/promptkit v0.16.0 gitea.maximumdirect.net/eric/promptkit v0.16.0
go.yaml.in/yaml/v4 v4.0.0-rc.6 go.yaml.in/yaml/v4 v4.0.0-rc.6
@@ -15,5 +13,7 @@ require (
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.9 // indirect github.com/spf13/pflag v1.0.9 // indirect
go.maximumdirect.net/ckconfig v0.2.0
go.maximumdirect.net/commandkit v0.3.0
golang.org/x/text v0.14.0 // indirect golang.org/x/text v0.14.0 // indirect
) )

View File

@@ -1,7 +1,3 @@
gitea.maximumdirect.net/eric/CommandKit v0.2.0 h1:UNBjSq6XDZHdPqvZLOL3N5R1E1ol0jnfldgradU7eqw=
gitea.maximumdirect.net/eric/CommandKit v0.2.0/go.mod h1:47DQ6Mo/yZqUVn5PAFRmPck91Zhf1jfaHDMoEZvUzsQ=
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig v0.1.0 h1:qqgaCKrraUL//1vcoU+KUlQ5PNX0EtRpqsUraSiUW/w=
gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig v0.1.0/go.mod h1:SFtsgbTVQd+BCGQVCFSAopl55pGYhP1sSF442KFpSYA=
gitea.maximumdirect.net/eric/ConfigKit v0.8.0 h1:xCIhYnOHjw7rFvB+vIremPKGeROOxKTomnUEUipuQno= gitea.maximumdirect.net/eric/ConfigKit v0.8.0 h1:xCIhYnOHjw7rFvB+vIremPKGeROOxKTomnUEUipuQno=
gitea.maximumdirect.net/eric/ConfigKit v0.8.0/go.mod h1:C82sbyKHYMV1OwaD2GJanFrwTfcZfjlW2JsGze5b0kA= gitea.maximumdirect.net/eric/ConfigKit v0.8.0/go.mod h1:C82sbyKHYMV1OwaD2GJanFrwTfcZfjlW2JsGze5b0kA=
gitea.maximumdirect.net/eric/promptkit v0.16.0 h1:g3dhN0QfzQriaVOBmGUZCw2iBM9Mli2AAU4CbMfzcuY= gitea.maximumdirect.net/eric/promptkit v0.16.0 h1:g3dhN0QfzQriaVOBmGUZCw2iBM9Mli2AAU4CbMfzcuY=
@@ -18,6 +14,10 @@ github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
go.maximumdirect.net/ckconfig v0.2.0 h1:gcv9Opp9RFgx1cupXq7Uf+P2UWh2FZGYwp+pFY7gmfg=
go.maximumdirect.net/ckconfig v0.2.0/go.mod h1:FR25dNBQCB3rPkmmrccct19SIlbW9mHra6DHx98h10c=
go.maximumdirect.net/commandkit v0.3.0 h1:RCmg2GS8uzlLSJCIqarpn1uFDec0W3ylNNRRPT6kUFE=
go.maximumdirect.net/commandkit v0.3.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc=
go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4= go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4=
go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=

View File

@@ -8,9 +8,9 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestBundledNativeFailuresReachTerminalExplanation(t *testing.T) { func TestBundledNativeFailuresReachTerminalExplanation(t *testing.T) {

View File

@@ -5,8 +5,8 @@ import (
"errors" "errors"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
commandkit "go.maximumdirect.net/commandkit"
) )
type cancelDuringYAML struct{ cancel context.CancelFunc } type cancelDuringYAML struct{ cancel context.CancelFunc }

View File

@@ -9,9 +9,9 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -5,9 +5,9 @@ import (
"errors" "errors"
"fmt" "fmt"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
// SmokeRequest pairs the configuration selection with the seed request for one // SmokeRequest pairs the configuration selection with the seed request for one

View File

@@ -8,9 +8,9 @@ import (
"reflect" "reflect"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -6,9 +6,9 @@ import (
"io" "io"
"strconv" "strconv"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
type smokeCommandInput[I any] struct { type smokeCommandInput[I any] struct {

View File

@@ -8,9 +8,9 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -9,9 +9,9 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
func TestSmokeTestCommandRetainsSingletonValuesAndResetsInvocations(t *testing.T) { func TestSmokeTestCommandRetainsSingletonValuesAndResetsInvocations(t *testing.T) {

View File

@@ -8,8 +8,8 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )

View File

@@ -1,8 +1,8 @@
package ckprompt package ckprompt
import ( import (
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
) )
// ValidationRequest carries the configuration selection and seed PromptKit // ValidationRequest carries the configuration selection and seed PromptKit

View File

@@ -7,10 +7,10 @@ import (
"testing" "testing"
"testing/fstest" "testing/fstest"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
) )
type validationFailOnGenerate struct{ calls int } type validationFailOnGenerate struct{ calls int }

View File

@@ -4,8 +4,8 @@ import (
"errors" "errors"
"fmt" "fmt"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
commandkit "go.maximumdirect.net/commandkit"
) )
type validationCommandInput[I any] struct { type validationCommandInput[I any] struct {

View File

@@ -9,10 +9,10 @@ import (
"strings" "strings"
"testing" "testing"
commandkit "gitea.maximumdirect.net/eric/CommandKit"
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"go.maximumdirect.net/ckconfig"
commandkit "go.maximumdirect.net/commandkit"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )