Migrate ckconfig to the vanity module path
This commit is contained in:
@@ -19,13 +19,12 @@ 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. |
|
| `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. The integrations currently
|
Importing an integration does not install commands. The ckconfig v0.2.0
|
||||||
use the old core module identity and cannot be composed with the new core path.
|
candidate uses core v0.3.0; ckprompt still uses the old core identity and cannot
|
||||||
The planned matched releases are `go.maximumdirect.net/ckconfig v0.2.0` and
|
be composed with the new core path until its planned v0.2.0 release. See the
|
||||||
`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
|
||||||
|
|||||||
@@ -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. |
|
| `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. |
|
||||||
|
|
||||||
The integration paths in the table are their current source identities; they
|
The ckconfig v0.2.0 candidate uses core v0.3.0. The ckprompt source still uses
|
||||||
use the old core path and do not compose with `go.maximumdirect.net/commandkit`.
|
the old core and ckconfig identities; its planned matched v0.2.0 release will
|
||||||
For the new core v0.3.0 identity, the planned matched releases are
|
use the new paths. Update application imports and dependency versions together.
|
||||||
`go.maximumdirect.net/ckconfig v0.2.0` and `go.maximumdirect.net/ckprompt v0.2.0`.
|
Old and new core paths have distinct Go type identities. Install core with
|
||||||
Update application imports and dependency versions together when those releases
|
`go get go.maximumdirect.net/commandkit@v0.3.0` and the matching integration
|
||||||
are available. Old and new core paths have distinct Go type identities.
|
with `go get go.maximumdirect.net/ckconfig@v0.2.0` once it is published.
|
||||||
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
|
||||||
|
|||||||
@@ -100,8 +100,8 @@ 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 the vanity-path
|
||||||
migration, integrations still import the old core identity and cannot compose
|
migration, ckprompt still imports the old core and ckconfig identities and
|
||||||
with the migrated root until their own module migrations are complete. After
|
cannot compose with the migrated modules until its own migration is complete. After
|
||||||
the matched migrations, during development use a
|
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:
|
||||||
|
|||||||
@@ -6,9 +6,10 @@ 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 and ckconfig modules declare `go.maximumdirect.net/commandkit` and
|
||||||
modules retain their old module and core import identities until their planned
|
`go.maximumdirect.net/ckconfig`. Ckprompt retains the old module and import
|
||||||
matched releases; Go treats those identities as distinct.
|
identities until its planned matched release; Go treats those identities as
|
||||||
|
distinct.
|
||||||
|
|
||||||
## Root `commandkit`
|
## Root `commandkit`
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# CommandKit vanity migration and dependency alignment plan
|
# CommandKit vanity migration and dependency alignment plan
|
||||||
|
|
||||||
Status: Stages 1–2 complete; Stages 3–7 are not started.
|
Status: Stages 1–3 complete; Stages 4–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
|
||||||
@@ -176,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
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ 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 ckconfig candidate uses the new core identity; ckprompt will use it in its
|
||||||
vanity-path releases will use the new core identity. For a
|
planned matched release. 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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
35
integrations/ckconfig/docs/releases/v0.2.0.md
Normal file
35
integrations/ckconfig/docs/releases/v0.2.0.md
Normal 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)
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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=
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user