akm-cli 0.9.31 → 0.10.261002-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +420 -0
- package/STABILITY.md +99 -57
- package/dist/api-node.mjs +20 -0
- package/dist/api.d.ts +23 -0
- package/dist/api.js +45 -0
- package/dist/assets/hints/cli-hints-full.md +15 -29
- package/dist/assets/hints/cli-hints-short.md +2 -2
- package/dist/assets/improve-strategies/default.json +3 -3
- package/dist/assets/prompts/consolidate-pair.md +9 -7
- package/dist/assets/stash-skeleton/README.md +1 -1
- package/dist/assets/tasks/improve/akm-improve-consolidate.yml +1 -1
- package/dist/cli/shared.js +31 -48
- package/dist/cli/unknown-flags.js +6 -43
- package/dist/cli.js +8 -34
- package/dist/commands/agent/contribute-cli.js +1 -1
- package/dist/commands/completions.js +1 -2
- package/dist/commands/config-cli.js +5 -28
- package/dist/commands/env/env-cli.js +5 -5
- package/dist/commands/env/secret-cli.js +2 -2
- package/dist/commands/feedback-cli.js +75 -49
- package/dist/commands/health/checks.js +41 -16
- package/dist/commands/health/plugin-staleness.js +52 -22
- package/dist/commands/improve/autonomy-gate.js +5 -3
- package/dist/commands/improve/consolidate/chunking.js +3 -10
- package/dist/commands/improve/consolidate/continuity-check.js +4 -4
- package/dist/commands/improve/consolidate/pair-pass.js +29 -10
- package/dist/commands/improve/consolidate.js +10 -65
- package/dist/commands/improve/distill/lesson-update.js +91 -0
- package/dist/commands/improve/distill-guards.js +1 -43
- package/dist/commands/improve/distill.js +148 -21
- package/dist/commands/improve/eligibility.js +14 -1
- package/dist/commands/improve/extract-cli.js +1 -1
- package/dist/commands/improve/extract-prompt.js +17 -7
- package/dist/commands/improve/extract.js +5 -7
- package/dist/commands/improve/improve-cli.js +92 -106
- package/dist/commands/improve/improve-strategies.js +8 -12
- package/dist/commands/improve/improve.js +134 -52
- package/dist/commands/improve/loop-stages.js +18 -5
- package/dist/commands/improve/planner.js +0 -1
- package/dist/commands/improve/preparation.js +40 -99
- package/dist/commands/improve/proactive-maintenance.js +2 -2
- package/dist/commands/improve/reflect-noise.js +3 -55
- package/dist/commands/improve/reflect.js +29 -34
- package/dist/commands/improve/retrieval-queries.js +37 -0
- package/dist/commands/improve/retrieval-scope.js +2 -2
- package/dist/commands/improve/salience.js +2 -9
- package/dist/commands/improve/session-asset.js +4 -1
- package/dist/commands/improve/stage.js +23 -12
- package/dist/commands/lint/index.js +5 -20
- package/dist/commands/observability-cli.js +3 -9
- package/dist/commands/proposal/drain.js +43 -6
- package/dist/commands/proposal/proposal-cli.js +11 -31
- package/dist/commands/proposal/repository.js +20 -14
- package/dist/commands/proposal/validators/proposal-quality-validators.js +0 -3
- package/dist/commands/read/knowledge.js +3 -3
- package/dist/commands/read/remember-cli.js +0 -13
- package/dist/commands/read/search-cli.js +29 -97
- package/dist/commands/read/search.js +0 -11
- package/dist/commands/read/show.js +0 -19
- package/dist/commands/sources/plugin-upgrade.js +164 -101
- package/dist/commands/sources/sources-cli.js +1 -15
- package/dist/commands/sources/stash-cli.js +6 -14
- package/dist/commands/tasks/tasks-cli.js +4 -115
- package/dist/commands/workflow/plan.js +11 -33
- package/dist/commands/workflow-cli.js +2 -7
- package/dist/core/adapter/adapter-ids.js +1 -2
- package/dist/core/adapter/adapters/agent-skills-adapter.js +0 -4
- package/dist/core/adapter/adapters/akm-adapter.js +9 -48
- package/dist/core/adapter/adapters/akm-lint.js +10 -26
- package/dist/core/adapter/adapters/akm-metadata.js +2 -72
- package/dist/core/adapter/adapters/akm-task-adapter.js +0 -5
- package/dist/core/adapter/adapters/akm-workflow-adapter.js +9 -28
- package/dist/core/adapter/adapters/dotenv-adapter.js +1 -20
- package/dist/core/adapter/adapters/generic-files-adapter.js +0 -10
- package/dist/core/adapter/adapters/llm-wiki-adapter.js +0 -4
- package/dist/core/adapter/adapters/tool-dir-shared.js +0 -24
- package/dist/core/adapter/adapters/website-snapshot-adapter.js +4 -4
- package/dist/core/adapter/recognize-match.js +3 -4
- package/dist/core/common.js +18 -2
- package/dist/core/config/config-schema.js +12 -15
- package/dist/core/config/config-types.js +6 -15
- package/dist/core/config/config-walker.js +6 -23
- package/dist/core/config/config.js +17 -80
- package/dist/core/config/engine-semantics.js +7 -3
- package/dist/core/config/schema/engines.js +7 -7
- package/dist/core/config/schema/improve-processes.js +10 -63
- package/dist/core/config/schema/improve.js +2 -21
- package/dist/core/config/schema/index-config.js +6 -39
- package/dist/core/env-secret-ref.js +2 -45
- package/dist/core/errors.js +1 -2
- package/dist/core/extra-params.js +2 -86
- package/dist/core/file-lock.js +2 -6
- package/dist/core/improve-result.js +13 -1
- package/dist/core/mutation-target.js +2 -2
- package/dist/core/paths.js +4 -0
- package/dist/core/recognition-util.js +4 -5
- package/dist/core/run-lock.js +1 -1
- package/dist/core/subprocess.js +49 -0
- package/dist/core/warn.js +21 -4
- package/dist/core/write-source.js +3 -3
- package/dist/execution/target-ref.js +1 -2
- package/dist/indexer/indexer.js +15 -6
- package/dist/indexer/passes/memory-inference.js +15 -6
- package/dist/indexer/search/db-search.js +49 -36
- package/dist/indexer/search/fts-query.js +0 -19
- package/dist/indexer/search/ranking.js +29 -1
- package/dist/indexer/usage/usage-events.js +21 -16
- package/dist/integrations/agent/engine-resolution.js +5 -2
- package/dist/integrations/agent/index.js +1 -1
- package/dist/integrations/agent/profiles.js +41 -98
- package/dist/integrations/agent/request-lowering.js +3 -3
- package/dist/integrations/harnesses/aider/index.js +5 -0
- package/dist/integrations/harnesses/amazonq/index.js +1 -0
- package/dist/integrations/harnesses/claude/config-import.js +2 -3
- package/dist/integrations/harnesses/claude/index.js +5 -0
- package/dist/integrations/harnesses/codex/index.js +1 -0
- package/dist/integrations/harnesses/copilot/index.js +1 -0
- package/dist/integrations/harnesses/gemini/index.js +1 -0
- package/dist/integrations/harnesses/index.js +18 -39
- package/dist/integrations/harnesses/opencode/agent-builder.js +60 -35
- package/dist/integrations/harnesses/opencode/config-import.js +121 -52
- package/dist/integrations/harnesses/opencode/index.js +22 -0
- package/dist/integrations/harnesses/opencode/plugin-layout.js +68 -0
- package/dist/integrations/harnesses/opencode/session-log-types.js +12 -0
- package/dist/integrations/harnesses/opencode/session-log-v1.js +72 -0
- package/dist/integrations/harnesses/opencode/session-log-v2.js +140 -0
- package/dist/integrations/harnesses/opencode/session-log.js +104 -115
- package/dist/integrations/harnesses/opencode/version.js +98 -0
- package/dist/integrations/harnesses/opencode-sdk/{harness.js → index.js} +5 -17
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +105 -206
- package/dist/integrations/harnesses/opencode-sdk/v1-adapter.js +199 -0
- package/dist/integrations/harnesses/opencode-sdk/v2-adapter.js +254 -0
- package/dist/integrations/harnesses/opencode-sdk/wire.js +66 -0
- package/dist/integrations/harnesses/openhands/index.js +1 -0
- package/dist/integrations/harnesses/pi/index.js +1 -0
- package/dist/integrations/harnesses/shared.js +2 -0
- package/dist/integrations/harnesses/types.js +2 -0
- package/dist/llm/client.js +41 -11
- package/dist/output/cli-hints.js +1 -1
- package/dist/output/context.js +10 -19
- package/dist/output/format-exempt.js +5 -8
- package/dist/output/shapes/helpers.js +1 -22
- package/dist/output/shapes/passthrough.js +0 -1
- package/dist/output/shapes.js +3 -31
- package/dist/output/stdout.js +5 -1
- package/dist/output/text/command-format.js +6 -1
- package/dist/output/text/workflow-format.js +4 -22
- package/dist/scripts/akm-migrate-node.js +15745 -16711
- package/dist/scripts/akm-migrate.js +16318 -17280
- package/dist/setup/detect.js +10 -4
- package/dist/setup/harness-config-import.js +5 -14
- package/dist/setup/setup.js +1 -1
- package/dist/setup/steps/tasks.js +12 -13
- package/dist/sources/providers/git-stash.js +113 -16
- package/dist/storage/repositories/index-utility-repository.js +2 -32
- package/dist/storage/repositories/index-vec-repository.js +4 -0
- package/dist/storage/repositories/task-history-repository.js +0 -5
- package/dist/storage/repositories/workflow-runs-repository.js +5 -15
- package/dist/tasks/embedded.js +2 -1
- package/dist/tasks/run/run-command-task.js +9 -1
- package/dist/tasks/run/run-workflow-task.js +4 -3
- package/dist/tasks/run/task-history.js +0 -2
- package/dist/tasks/run/task-log.js +38 -1
- package/dist/tasks/schedule-gates.js +39 -0
- package/dist/tasks/scheduler-binding.js +0 -16
- package/dist/tasks/scheduler-sync.js +3 -97
- package/dist/tasks/source/bounded-document.js +1 -1
- package/dist/tasks/source/task-source-v4.js +2 -12
- package/dist/tasks/task-run-reserved-flags.js +2 -31
- package/dist/workflows/authoring/authoring.js +6 -6
- package/dist/workflows/compile.js +8 -65
- package/dist/workflows/exec/child-workflow.js +22 -3
- package/dist/workflows/exec/native-executor.js +12 -147
- package/dist/workflows/exec/run-workflow.js +31 -103
- package/dist/workflows/exec/step-work.js +9 -178
- package/dist/workflows/exec/unit-dispatch.js +0 -10
- package/dist/workflows/freeze/environment.js +3 -44
- package/dist/workflows/freeze/freeze.js +8 -41
- package/dist/workflows/freeze/targets/child-workflow.js +27 -63
- package/dist/workflows/freeze/targets/command.js +2 -16
- package/dist/workflows/freeze/targets/shell.js +0 -2
- package/dist/workflows/freeze/task-bindings.js +2 -28
- package/dist/workflows/ir/params.js +12 -2
- package/dist/workflows/parser.js +82 -232
- package/dist/workflows/plan.js +1 -1
- package/dist/workflows/renderer.js +10 -19
- package/dist/workflows/runtime/run-plan.js +11 -53
- package/dist/workflows/runtime/runs.js +4 -27
- package/dist/workflows/source-files.js +12 -16
- package/dist/workflows/source-semantics.js +1 -93
- package/docs/README.md +1 -1
- package/docs/agents/README.md +3 -3
- package/docs/agents/agent-install.md +1 -1
- package/docs/architecture/0.10-process-rules.md +827 -0
- package/docs/architecture/adapters.md +17 -31
- package/docs/architecture/architecture.md +4 -5
- package/docs/architecture/improvement.md +115 -76
- package/docs/architecture/internals/improve-workflow.md +22 -16
- package/docs/architecture/internals/indexing.md +1 -1
- package/docs/architecture/internals/search.md +1 -2
- package/docs/architecture/internals/storage-locations.md +6 -6
- package/docs/architecture/persisted-data-compat.md +13 -4
- package/docs/architecture/specs/0.9.0-decisions.md +6 -2
- package/docs/architecture/specs/improve-collapse-churn-detector-design.md +2 -2
- package/docs/architecture/specs/workflow-format-unification.md +1 -6
- package/docs/architecture/testing/manual-testing-checklist.md +21 -30
- package/docs/architecture/testing/task-workflow-manual-tests.md +106 -203
- package/docs/architecture/testing/testing-workflow.md +1 -1
- package/docs/architecture/workflow-engine.md +5 -56
- package/docs/guides/author-workflows.md +39 -69
- package/docs/guides/bundles.md +3 -1
- package/docs/guides/capture-knowledge.md +1 -1
- package/docs/guides/claude-code-vs-akm-workflows.md +1 -2
- package/docs/guides/discover-and-load.md +4 -4
- package/docs/guides/getting-started.md +1 -1
- package/docs/guides/improve-the-library.md +10 -9
- package/docs/guides/recipes/headless-install.md +2 -2
- package/docs/guides/run-workflows.md +1 -1
- package/docs/guides/scheduling.md +9 -1
- package/docs/guides/use-with-any-agent.md +49 -4
- package/docs/integration/bundling-akm.md +7 -6
- package/docs/maintainers/curate-workmap.md +1 -2
- package/docs/maintainers/release-checklist.md +33 -1
- package/docs/migration/README.md +2 -0
- package/docs/migration/release-notes/0.10.0.md +201 -0
- package/docs/migration/release-notes/README.md +1 -0
- package/docs/migration/v0.9-to-v0.10.md +507 -0
- package/docs/posts/akm-command-tour.md +3 -3
- package/docs/product-surface.md +1 -1
- package/docs/reference/README.md +1 -0
- package/docs/reference/api.md +65 -0
- package/docs/reference/asset-types.md +3 -5
- package/docs/reference/bundle-types.md +2 -4
- package/docs/reference/cli.md +160 -188
- package/docs/reference/configuration.md +101 -20
- package/docs/reference/data-and-telemetry.md +2 -2
- package/docs/reference/env-and-secrets.md +2 -2
- package/docs/reference/supported-formats.md +3 -4
- package/docs/reference/tasks.md +12 -19
- package/docs/reference/website-sources.md +1 -1
- package/docs/reference/workflow-schema.md +89 -317
- package/docs/reference/workflows.md +20 -48
- package/package.json +12 -2
- package/schemas/akm-config.json +2 -243
- package/schemas/akm-task.json +2 -3
- package/schemas/akm-workflow.json +47 -84
- package/dist/assets/improve-strategies/catchup.json +0 -41
- package/dist/assets/improve-strategies/proactive-maintenance.json +0 -24
- package/dist/assets/improve-strategies/quick.json +0 -17
- package/dist/assets/improve-strategies/reflect-distill.json +0 -29
- package/dist/assets/improve-strategies/thorough.json +0 -49
- package/dist/assets/prompts/retrieval-relevance-judge.md +0 -6
- package/dist/assets/tasks/improve/akm-improve-catchup.yml +0 -6
- package/dist/assets/tasks/improve/akm-improve-frequent.yml +0 -4
- package/dist/assets/tasks/improve/akm-improve-nightly.yml +0 -4
- package/dist/cli/retired-commands.js +0 -118
- package/dist/commands/improve/retrieval-gate.js +0 -132
- package/dist/commands/tasks/validate.js +0 -176
- package/dist/core/config/legacy-source-shape-shim.js +0 -117
- package/dist/indexer/feedback/utility-policy.js +0 -75
- package/dist/integrations/harnesses/ids.js +0 -28
- package/dist/tasks/source/task-source-v3-frozen.js +0 -424
- package/dist/tasks/source/task-to-v4.js +0 -863
- package/dist/workflows/exec/worktree.js +0 -372
- package/dist/workflows/freeze/child-output-references.js +0 -83
- package/dist/workflows/freeze/identity.js +0 -22
- package/dist/workflows/freeze/targets/script.js +0 -50
- package/dist/workflows/freeze/targets/task.js +0 -124
- package/dist/workflows/github-yaml.js +0 -506
- package/dist/workflows/runtime/run-outputs.js +0 -80
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# Workflows
|
|
2
2
|
|
|
3
|
-
A workflow is a multi-step procedure authored as
|
|
4
|
-
|
|
5
|
-
source format through source IR v1, freezes a durable plan, persists run and
|
|
3
|
+
A workflow is a multi-step procedure authored as AKM Markdown. `akm workflow run`
|
|
4
|
+
compiles the source through source IR v1, freezes a durable plan, persists run and
|
|
6
5
|
unit state, dispatches work, verifies declared gates, and can resume after an
|
|
7
6
|
interruption without replaying completed units.
|
|
8
7
|
|
|
9
|
-
> **`akm workflow run` is
|
|
10
|
-
> It is the canonical start/resume/execute command; there is
|
|
11
|
-
> external-driver protocol.
|
|
8
|
+
> **`akm workflow run` is Experimental (see `STABILITY.md`), ungated, and the only
|
|
9
|
+
> execution surface.** It is the canonical start/resume/execute command; there is
|
|
10
|
+
> no separate external-driver protocol.
|
|
12
11
|
|
|
13
12
|
Workflows are one of the execution surfaces AKM directly orchestrates: AKM
|
|
14
13
|
retrieves every supported capability type, but a workflow's declared steps —
|
|
@@ -29,10 +28,10 @@ split by what you're doing:
|
|
|
29
28
|
models, and engine-selection troubleshooting.
|
|
30
29
|
- **[Workflow Schema](../reference/workflow-schema.md)** — the exhaustive,
|
|
31
30
|
authoritative reference: every frontmatter key, the bare-reference grammar,
|
|
32
|
-
|
|
31
|
+
failure policy, gates, and budget ceilings, with exact syntax.
|
|
33
32
|
- **[Architecture: The Workflow Engine](https://github.com/itlackey/akm/blob/main/docs/architecture/workflow-engine.md)**
|
|
34
33
|
— how a frozen plan actually executes: persistence, the run lease, dispatch,
|
|
35
|
-
|
|
34
|
+
concurrency limits, and resume-without-replay.
|
|
36
35
|
|
|
37
36
|
For task- or schedule-driven workflow runs — an `akm task` bound to
|
|
38
37
|
`uses: workflows/<ref>` and reconciled with the OS scheduler — see
|
|
@@ -40,29 +39,23 @@ For task- or schedule-driven workflow runs — an `akm task` bound to
|
|
|
40
39
|
|
|
41
40
|
## Source formats and execution versions
|
|
42
41
|
|
|
43
|
-
Markdown `.md`
|
|
44
|
-
|
|
45
|
-
artifacts, and exec vocabulary. The YAML adapter accepts the documented local
|
|
46
|
-
`name`/`on`/`jobs` subset. `.yaml` is not a workflow source.
|
|
47
|
-
|
|
48
|
-
Both adapters produce strict source IR version 1. New starts resolve source
|
|
42
|
+
Markdown `.md` is the one workflow source format; it preserves AKM's full prose,
|
|
43
|
+
gates, maps, typed artifacts, and exec vocabulary. New starts resolve source
|
|
49
44
|
owners and executable targets, then freeze durable plan `irVersion` 5. A
|
|
50
45
|
stored plan is read back as it is: one frozen at another `irVersion` that
|
|
51
46
|
still decodes runs, and one this akm cannot decode is abandoned by
|
|
52
47
|
`akm workflow run` with a message naming how to start a new run. See
|
|
53
48
|
[Architecture: The Workflow Engine](https://github.com/itlackey/akm/blob/main/docs/architecture/workflow-engine.md#resume-skips-completed-units).
|
|
54
49
|
|
|
55
|
-
A step can
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
parent run is published. See
|
|
50
|
+
A step can run another workflow as a child (`unit: { workflow: workflows/<ref> }`,
|
|
51
|
+
**Experimental**) — frozen completely into the parent's plan before the parent
|
|
52
|
+
run is published. See
|
|
59
53
|
[Workflow Schema: Child workflows](../reference/workflow-schema.md#child-workflows)
|
|
60
|
-
for
|
|
54
|
+
for the form and its limits. Running a step that composes a child
|
|
61
55
|
workflow drives that child to completion (or as far as it gets) with the
|
|
62
56
|
same engine the parent uses, then maps the child's final status onto the
|
|
63
|
-
composing step: a completed child
|
|
64
|
-
|
|
65
|
-
parent continues; a failed child fails the step and the run; a blocked
|
|
57
|
+
composing step: a completed child's last step output becomes the step's own
|
|
58
|
+
output and the parent continues; a failed child fails the step and the run; a blocked
|
|
66
59
|
child blocks the composing step and the run, with recovery notes naming the
|
|
67
60
|
exact `akm workflow resume`/`akm workflow run` sequence. `akm workflow
|
|
68
61
|
status` on a run that composes children renders a `children:` tree showing
|
|
@@ -72,16 +65,6 @@ for the full status mapping and the blocked-child recovery flow, and
|
|
|
72
65
|
[Running Workflows: Child runs](https://github.com/itlackey/akm/blob/main/docs/guides/run-workflows.md#child-runs) for a
|
|
73
66
|
walkthrough.
|
|
74
67
|
|
|
75
|
-
## Workflow outputs
|
|
76
|
-
|
|
77
|
-
A workflow may declare a run-level export in its Markdown frontmatter —
|
|
78
|
-
`outputs: {<name>: {from: steps.<id>.output(.<segment>)*, schema?}}`, up to
|
|
79
|
-
64 entries — resolved once, from persisted step evidence, at run
|
|
80
|
-
completion. A run with no `outputs:` declaration exports `{runId, status}`
|
|
81
|
-
instead; a composing parent step promotes a completed child's `outputs:`
|
|
82
|
-
(or that same `{runId, status}` fallback) as its own step output — see
|
|
83
|
-
[Workflow Schema: Workflow outputs](../reference/workflow-schema.md#workflow-outputs).
|
|
84
|
-
|
|
85
68
|
## Inspecting a workflow without running it
|
|
86
69
|
|
|
87
70
|
`akm workflow plan <ref>` compiles, resolves, and freezes a workflow exactly
|
|
@@ -93,23 +76,12 @@ actually do — including which child workflows it would compose — before
|
|
|
93
76
|
committing to a run. See
|
|
94
77
|
[CLI reference: workflow plan](cli.md#workflow-plan).
|
|
95
78
|
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-
The 0.9.2 GitHub-shaped adapter is a local interoperability seam, not GitHub
|
|
99
|
-
Actions. Full GitHub expressions and contexts, local/Docker/remote actions,
|
|
100
|
-
service events, and arbitrary hosted runners remain outside 0.9.2.
|
|
101
|
-
**Multi-job YAML is rejected outright** — `jobs:` must contain exactly one
|
|
102
|
-
job; a document with zero, two, or more jobs fails to compile at all (it is
|
|
103
|
-
not "indexed but not executed" — it never becomes a valid workflow). Split a
|
|
104
|
-
multi-job source into single-job workflows and compose them with a
|
|
105
|
-
child-workflow step instead. AKM neither fetches remote actions nor creates
|
|
106
|
-
event watchers or polling daemons.
|
|
107
|
-
|
|
108
|
-
These full GitHub semantics, actions, service events, and runner behaviors are
|
|
109
|
-
explicit 0.9.3-or-later work.
|
|
79
|
+
## Removed in 0.10
|
|
110
80
|
|
|
111
|
-
|
|
112
|
-
|
|
81
|
+
The GitHub-shaped YAML workflow format (`.yml` with `name`/`on`/`jobs`), `route`
|
|
82
|
+
steps, `unit.isolation: worktree`, and top-level `outputs:` were removed in 0.10;
|
|
83
|
+
see the CHANGELOG. A task that runs a workflow (`uses: workflows/<name>`, or a
|
|
84
|
+
`run:` that calls `akm workflow run`) is unaffected.
|
|
113
85
|
|
|
114
86
|
## See also
|
|
115
87
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akm-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.261002-beta",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "akm (Agent Knowledge Manager) — a portable, local-first capability library for AI agents. Discover, load, share, and improve reusable skills, scripts, workflows, and knowledge across any shell-capable coding agent, including Claude Code, OpenCode, and Cursor.",
|
|
6
6
|
"keywords": [
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
"commands",
|
|
19
19
|
"claude-code",
|
|
20
20
|
"opencode",
|
|
21
|
-
"mcp",
|
|
22
21
|
"ai-coding-assistant",
|
|
23
22
|
"agent-skills",
|
|
24
23
|
"skill-management",
|
|
@@ -36,6 +35,7 @@
|
|
|
36
35
|
"license": "MPL-2.0",
|
|
37
36
|
"pinNotes": {
|
|
38
37
|
"@opencode-ai/sdk@1.2.20": "Exact pin. The SDK surface we use (createOpencodeClient + session.create/prompt/delete in src/integrations/harnesses/opencode-sdk/sdk-runner.ts) is stable across 1.x, but the SDK has shipped 5+ minor versions of unrelated provider/registry churn. akm-cli is a global CLI install so the pin is isolated from user-project deps. Re-test sdk-runner before bumping. Note this package is an HTTP client only — it declares no dependencies and its own createOpencodeServer spawns `opencode serve` — so it does NOT make the opencode binary available; that install is separate and is what every SDK-path probe checks for.",
|
|
38
|
+
"@opencode/client@2.0.26": "Exact pin. The OpenCode 2 wire client (OpenCode.make + session.create/prompt/wait/interrupt, event.subscribe, permission.reply) used by src/integrations/harnesses/opencode-sdk/v2-adapter.ts, the default adapter. It is an HTTP client for a private `opencode serve` child akm spawns; it does not install the opencode binary and must never pull in `opencode-ai` or `@opencode/cli`. Re-run the gated real-binary test (AKM_OPENCODE_V2_BIN) before bumping.",
|
|
39
39
|
"better-sqlite3@12.11.1": "Exact pin (#790). This is the SQLite driver akm loads on Node (src/storage/database.ts); Bun never touches it. The pin is about PREBUILT BINARIES, not API surface. better-sqlite3 ships one prebuild per Node ABI as a GitHub release asset and its install script is `prebuild-install || node-gyp rebuild` — so any (version, Node ABI) pair with no prebuild silently COMPILES FROM SOURCE against the headers of whatever Node is on the machine that day. The 11.x line predates Node 24 and declares no `engines` at all: its newest release (11.10.0, 2025-05-08) publishes ABI 108/115/127/131 (Node 18/20/22/23) and nothing for ABI 137 (Node 24). Node 24.19.0 then changed the public `node_object_wrap.h` so `node::ObjectWrap`'s ctor/dtor register and unregister an environment cleanup hook; a from-source 11.x build against those headers aborts at teardown in `Statement::~Statement()` with `RemoveEnvironmentCleanupHook ... Assertion (env) != nullptr`, intermittently, depending on GC timing. 12.11.1 publishes ABI 127/137/141/147 (Node 22/24/25/26) and declares `engines: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x`, so every Node akm supports installs a prebuilt binary and never compiles. Before bumping: confirm the target version publishes a prebuild for EVERY Node major in `engines` (probe https://github.com/WiseLibs/better-sqlite3/releases/download/vX.Y.Z/better-sqlite3-vX.Y.Z-node-vABI-linux-x64.tar.gz), not just that the version is newer. 13.x is the eventual destination — it moved to node-addon-api/N-API with prebuilds bundled in the npm tarball and no install script, which retires this failure mode entirely — but it is a fresh major rewrite of the binding, so it wants its own soak, not a patch release. The CI node-smoke job installs this exact string by reading it back out of this file (.github/workflows/ci.yml), so the two cannot drift.",
|
|
40
40
|
"@huggingface/transformers@4.2.0": "Exact semantic-search dependency pin. Re-run the real-model semantic gate before changing it."
|
|
41
41
|
},
|
|
@@ -59,6 +59,15 @@
|
|
|
59
59
|
"docs/plans/0.9.2-agent-command-workflow-plan.md",
|
|
60
60
|
"schemas"
|
|
61
61
|
],
|
|
62
|
+
"exports": {
|
|
63
|
+
"./api": {
|
|
64
|
+
"types": "./dist/api.d.ts",
|
|
65
|
+
"bun": "./dist/api.js",
|
|
66
|
+
"default": "./dist/api-node.mjs"
|
|
67
|
+
},
|
|
68
|
+
"./package.json": "./package.json",
|
|
69
|
+
"./dist/*": "./dist/*"
|
|
70
|
+
},
|
|
62
71
|
"bin": {
|
|
63
72
|
"akm": "dist/akm",
|
|
64
73
|
"akm-migrate": "dist/akm-migrate"
|
|
@@ -111,6 +120,7 @@
|
|
|
111
120
|
"@clack/prompts": "^1.3.0",
|
|
112
121
|
"@huggingface/transformers": "4.2.0",
|
|
113
122
|
"@opencode-ai/sdk": "1.2.20",
|
|
123
|
+
"@opencode/client": "2.0.26",
|
|
114
124
|
"citty": "^0.2.2",
|
|
115
125
|
"dotenv": "^17.4.2",
|
|
116
126
|
"fast-xml-parser": "^5.10.1",
|
package/schemas/akm-config.json
CHANGED
|
@@ -808,15 +808,6 @@
|
|
|
808
808
|
},
|
|
809
809
|
"additionalProperties": true
|
|
810
810
|
},
|
|
811
|
-
"lowValueFilter": {
|
|
812
|
-
"type": "object",
|
|
813
|
-
"properties": {
|
|
814
|
-
"enabled": {
|
|
815
|
-
"type": "boolean"
|
|
816
|
-
}
|
|
817
|
-
},
|
|
818
|
-
"additionalProperties": true
|
|
819
|
-
},
|
|
820
811
|
"defectFilter": {
|
|
821
812
|
"type": "object",
|
|
822
813
|
"properties": {
|
|
@@ -911,10 +902,6 @@
|
|
|
911
902
|
"minLength": 1
|
|
912
903
|
}
|
|
913
904
|
},
|
|
914
|
-
"limit": {
|
|
915
|
-
"type": "integer",
|
|
916
|
-
"exclusiveMinimum": 0
|
|
917
|
-
},
|
|
918
905
|
"qualityGate": {
|
|
919
906
|
"type": "object",
|
|
920
907
|
"properties": {
|
|
@@ -990,15 +977,6 @@
|
|
|
990
977
|
}
|
|
991
978
|
},
|
|
992
979
|
"additionalProperties": true
|
|
993
|
-
},
|
|
994
|
-
"fidelityCheck": {
|
|
995
|
-
"type": "object",
|
|
996
|
-
"properties": {
|
|
997
|
-
"enabled": {
|
|
998
|
-
"type": "boolean"
|
|
999
|
-
}
|
|
1000
|
-
},
|
|
1001
|
-
"additionalProperties": true
|
|
1002
980
|
}
|
|
1003
981
|
},
|
|
1004
982
|
"additionalProperties": true
|
|
@@ -1071,32 +1049,10 @@
|
|
|
1071
1049
|
"type": "integer",
|
|
1072
1050
|
"exclusiveMinimum": 0
|
|
1073
1051
|
},
|
|
1074
|
-
"minPoolSize": {
|
|
1075
|
-
"type": "integer",
|
|
1076
|
-
"minimum": 0
|
|
1077
|
-
},
|
|
1078
1052
|
"maxChunkSize": {
|
|
1079
1053
|
"type": "integer",
|
|
1080
1054
|
"minimum": 1,
|
|
1081
1055
|
"maximum": 50
|
|
1082
|
-
},
|
|
1083
|
-
"p90ChunkSecondsDefault": {
|
|
1084
|
-
"type": "number",
|
|
1085
|
-
"exclusiveMinimum": 0
|
|
1086
|
-
},
|
|
1087
|
-
"antiCollapse": {
|
|
1088
|
-
"type": "object",
|
|
1089
|
-
"properties": {
|
|
1090
|
-
"enabled": {
|
|
1091
|
-
"type": "boolean"
|
|
1092
|
-
},
|
|
1093
|
-
"randomClusterFraction": {
|
|
1094
|
-
"type": "number",
|
|
1095
|
-
"minimum": 0,
|
|
1096
|
-
"maximum": 1
|
|
1097
|
-
}
|
|
1098
|
-
},
|
|
1099
|
-
"additionalProperties": true
|
|
1100
1056
|
}
|
|
1101
1057
|
},
|
|
1102
1058
|
"additionalProperties": true
|
|
@@ -1161,19 +1117,6 @@
|
|
|
1161
1117
|
"minPendingCount": {
|
|
1162
1118
|
"type": "integer",
|
|
1163
1119
|
"minimum": 0
|
|
1164
|
-
},
|
|
1165
|
-
"cls": {
|
|
1166
|
-
"type": "object",
|
|
1167
|
-
"properties": {
|
|
1168
|
-
"enabled": {
|
|
1169
|
-
"type": "boolean"
|
|
1170
|
-
},
|
|
1171
|
-
"adjacentCount": {
|
|
1172
|
-
"type": "integer",
|
|
1173
|
-
"minimum": 1
|
|
1174
|
-
}
|
|
1175
|
-
},
|
|
1176
|
-
"additionalProperties": true
|
|
1177
1120
|
}
|
|
1178
1121
|
},
|
|
1179
1122
|
"additionalProperties": true
|
|
@@ -1540,10 +1483,6 @@
|
|
|
1540
1483
|
"maxPerRun": {
|
|
1541
1484
|
"type": "integer",
|
|
1542
1485
|
"exclusiveMinimum": 0
|
|
1543
|
-
},
|
|
1544
|
-
"limit": {
|
|
1545
|
-
"type": "integer",
|
|
1546
|
-
"exclusiveMinimum": 0
|
|
1547
1486
|
}
|
|
1548
1487
|
},
|
|
1549
1488
|
"additionalProperties": true
|
|
@@ -1585,16 +1524,7 @@
|
|
|
1585
1524
|
},
|
|
1586
1525
|
"salience": {
|
|
1587
1526
|
"type": "object",
|
|
1588
|
-
"properties": {
|
|
1589
|
-
"outcomeWeightEnabled": {
|
|
1590
|
-
"type": "boolean"
|
|
1591
|
-
},
|
|
1592
|
-
"salienceThreshold": {
|
|
1593
|
-
"type": "number",
|
|
1594
|
-
"minimum": 0,
|
|
1595
|
-
"maximum": 1
|
|
1596
|
-
}
|
|
1597
|
-
},
|
|
1527
|
+
"properties": {},
|
|
1598
1528
|
"additionalProperties": true
|
|
1599
1529
|
},
|
|
1600
1530
|
"stateGc": {
|
|
@@ -2484,15 +2414,6 @@
|
|
|
2484
2414
|
},
|
|
2485
2415
|
"additionalProperties": true
|
|
2486
2416
|
},
|
|
2487
|
-
"lowValueFilter": {
|
|
2488
|
-
"type": "object",
|
|
2489
|
-
"properties": {
|
|
2490
|
-
"enabled": {
|
|
2491
|
-
"type": "boolean"
|
|
2492
|
-
}
|
|
2493
|
-
},
|
|
2494
|
-
"additionalProperties": true
|
|
2495
|
-
},
|
|
2496
2417
|
"defectFilter": {
|
|
2497
2418
|
"type": "object",
|
|
2498
2419
|
"properties": {
|
|
@@ -2587,10 +2508,6 @@
|
|
|
2587
2508
|
"minLength": 1
|
|
2588
2509
|
}
|
|
2589
2510
|
},
|
|
2590
|
-
"limit": {
|
|
2591
|
-
"type": "integer",
|
|
2592
|
-
"exclusiveMinimum": 0
|
|
2593
|
-
},
|
|
2594
2511
|
"qualityGate": {
|
|
2595
2512
|
"type": "object",
|
|
2596
2513
|
"properties": {
|
|
@@ -2666,15 +2583,6 @@
|
|
|
2666
2583
|
}
|
|
2667
2584
|
},
|
|
2668
2585
|
"additionalProperties": true
|
|
2669
|
-
},
|
|
2670
|
-
"fidelityCheck": {
|
|
2671
|
-
"type": "object",
|
|
2672
|
-
"properties": {
|
|
2673
|
-
"enabled": {
|
|
2674
|
-
"type": "boolean"
|
|
2675
|
-
}
|
|
2676
|
-
},
|
|
2677
|
-
"additionalProperties": true
|
|
2678
2586
|
}
|
|
2679
2587
|
},
|
|
2680
2588
|
"additionalProperties": true
|
|
@@ -2747,32 +2655,10 @@
|
|
|
2747
2655
|
"type": "integer",
|
|
2748
2656
|
"exclusiveMinimum": 0
|
|
2749
2657
|
},
|
|
2750
|
-
"minPoolSize": {
|
|
2751
|
-
"type": "integer",
|
|
2752
|
-
"minimum": 0
|
|
2753
|
-
},
|
|
2754
2658
|
"maxChunkSize": {
|
|
2755
2659
|
"type": "integer",
|
|
2756
2660
|
"minimum": 1,
|
|
2757
2661
|
"maximum": 50
|
|
2758
|
-
},
|
|
2759
|
-
"p90ChunkSecondsDefault": {
|
|
2760
|
-
"type": "number",
|
|
2761
|
-
"exclusiveMinimum": 0
|
|
2762
|
-
},
|
|
2763
|
-
"antiCollapse": {
|
|
2764
|
-
"type": "object",
|
|
2765
|
-
"properties": {
|
|
2766
|
-
"enabled": {
|
|
2767
|
-
"type": "boolean"
|
|
2768
|
-
},
|
|
2769
|
-
"randomClusterFraction": {
|
|
2770
|
-
"type": "number",
|
|
2771
|
-
"minimum": 0,
|
|
2772
|
-
"maximum": 1
|
|
2773
|
-
}
|
|
2774
|
-
},
|
|
2775
|
-
"additionalProperties": true
|
|
2776
2662
|
}
|
|
2777
2663
|
},
|
|
2778
2664
|
"additionalProperties": true
|
|
@@ -2837,19 +2723,6 @@
|
|
|
2837
2723
|
"minPendingCount": {
|
|
2838
2724
|
"type": "integer",
|
|
2839
2725
|
"minimum": 0
|
|
2840
|
-
},
|
|
2841
|
-
"cls": {
|
|
2842
|
-
"type": "object",
|
|
2843
|
-
"properties": {
|
|
2844
|
-
"enabled": {
|
|
2845
|
-
"type": "boolean"
|
|
2846
|
-
},
|
|
2847
|
-
"adjacentCount": {
|
|
2848
|
-
"type": "integer",
|
|
2849
|
-
"minimum": 1
|
|
2850
|
-
}
|
|
2851
|
-
},
|
|
2852
|
-
"additionalProperties": true
|
|
2853
2726
|
}
|
|
2854
2727
|
},
|
|
2855
2728
|
"additionalProperties": true
|
|
@@ -3216,10 +3089,6 @@
|
|
|
3216
3089
|
"maxPerRun": {
|
|
3217
3090
|
"type": "integer",
|
|
3218
3091
|
"exclusiveMinimum": 0
|
|
3219
|
-
},
|
|
3220
|
-
"limit": {
|
|
3221
|
-
"type": "integer",
|
|
3222
|
-
"exclusiveMinimum": 0
|
|
3223
3092
|
}
|
|
3224
3093
|
},
|
|
3225
3094
|
"additionalProperties": true
|
|
@@ -3261,16 +3130,7 @@
|
|
|
3261
3130
|
},
|
|
3262
3131
|
"salience": {
|
|
3263
3132
|
"type": "object",
|
|
3264
|
-
"properties": {
|
|
3265
|
-
"outcomeWeightEnabled": {
|
|
3266
|
-
"type": "boolean"
|
|
3267
|
-
},
|
|
3268
|
-
"salienceThreshold": {
|
|
3269
|
-
"type": "number",
|
|
3270
|
-
"minimum": 0,
|
|
3271
|
-
"maximum": 1
|
|
3272
|
-
}
|
|
3273
|
-
},
|
|
3133
|
+
"properties": {},
|
|
3274
3134
|
"additionalProperties": true
|
|
3275
3135
|
},
|
|
3276
3136
|
"stateGc": {
|
|
@@ -3623,15 +3483,6 @@
|
|
|
3623
3483
|
},
|
|
3624
3484
|
"additionalProperties": true
|
|
3625
3485
|
},
|
|
3626
|
-
"lowValueFilter": {
|
|
3627
|
-
"type": "object",
|
|
3628
|
-
"properties": {
|
|
3629
|
-
"enabled": {
|
|
3630
|
-
"type": "boolean"
|
|
3631
|
-
}
|
|
3632
|
-
},
|
|
3633
|
-
"additionalProperties": true
|
|
3634
|
-
},
|
|
3635
3486
|
"defectFilter": {
|
|
3636
3487
|
"type": "object",
|
|
3637
3488
|
"properties": {
|
|
@@ -3675,42 +3526,11 @@
|
|
|
3675
3526
|
},
|
|
3676
3527
|
"additionalProperties": true
|
|
3677
3528
|
},
|
|
3678
|
-
"fidelityCheck": {
|
|
3679
|
-
"type": "object",
|
|
3680
|
-
"properties": {
|
|
3681
|
-
"enabled": {
|
|
3682
|
-
"type": "boolean"
|
|
3683
|
-
}
|
|
3684
|
-
},
|
|
3685
|
-
"additionalProperties": true
|
|
3686
|
-
},
|
|
3687
|
-
"minPoolSize": {
|
|
3688
|
-
"type": "integer",
|
|
3689
|
-
"minimum": 0
|
|
3690
|
-
},
|
|
3691
3529
|
"maxChunkSize": {
|
|
3692
3530
|
"type": "integer",
|
|
3693
3531
|
"minimum": 1,
|
|
3694
3532
|
"maximum": 50
|
|
3695
3533
|
},
|
|
3696
|
-
"p90ChunkSecondsDefault": {
|
|
3697
|
-
"type": "number",
|
|
3698
|
-
"exclusiveMinimum": 0
|
|
3699
|
-
},
|
|
3700
|
-
"antiCollapse": {
|
|
3701
|
-
"type": "object",
|
|
3702
|
-
"properties": {
|
|
3703
|
-
"enabled": {
|
|
3704
|
-
"type": "boolean"
|
|
3705
|
-
},
|
|
3706
|
-
"randomClusterFraction": {
|
|
3707
|
-
"type": "number",
|
|
3708
|
-
"minimum": 0,
|
|
3709
|
-
"maximum": 1
|
|
3710
|
-
}
|
|
3711
|
-
},
|
|
3712
|
-
"additionalProperties": true
|
|
3713
|
-
},
|
|
3714
3534
|
"minPendingCount": {
|
|
3715
3535
|
"type": "integer",
|
|
3716
3536
|
"minimum": 0
|
|
@@ -4040,15 +3860,6 @@
|
|
|
4040
3860
|
},
|
|
4041
3861
|
"additionalProperties": true
|
|
4042
3862
|
},
|
|
4043
|
-
"lowValueFilter": {
|
|
4044
|
-
"type": "object",
|
|
4045
|
-
"properties": {
|
|
4046
|
-
"enabled": {
|
|
4047
|
-
"type": "boolean"
|
|
4048
|
-
}
|
|
4049
|
-
},
|
|
4050
|
-
"additionalProperties": true
|
|
4051
|
-
},
|
|
4052
3863
|
"defectFilter": {
|
|
4053
3864
|
"type": "object",
|
|
4054
3865
|
"properties": {
|
|
@@ -4143,10 +3954,6 @@
|
|
|
4143
3954
|
"minLength": 1
|
|
4144
3955
|
}
|
|
4145
3956
|
},
|
|
4146
|
-
"limit": {
|
|
4147
|
-
"type": "integer",
|
|
4148
|
-
"exclusiveMinimum": 0
|
|
4149
|
-
},
|
|
4150
3957
|
"qualityGate": {
|
|
4151
3958
|
"type": "object",
|
|
4152
3959
|
"properties": {
|
|
@@ -4222,15 +4029,6 @@
|
|
|
4222
4029
|
}
|
|
4223
4030
|
},
|
|
4224
4031
|
"additionalProperties": true
|
|
4225
|
-
},
|
|
4226
|
-
"fidelityCheck": {
|
|
4227
|
-
"type": "object",
|
|
4228
|
-
"properties": {
|
|
4229
|
-
"enabled": {
|
|
4230
|
-
"type": "boolean"
|
|
4231
|
-
}
|
|
4232
|
-
},
|
|
4233
|
-
"additionalProperties": true
|
|
4234
4032
|
}
|
|
4235
4033
|
},
|
|
4236
4034
|
"additionalProperties": true
|
|
@@ -4303,32 +4101,10 @@
|
|
|
4303
4101
|
"type": "integer",
|
|
4304
4102
|
"exclusiveMinimum": 0
|
|
4305
4103
|
},
|
|
4306
|
-
"minPoolSize": {
|
|
4307
|
-
"type": "integer",
|
|
4308
|
-
"minimum": 0
|
|
4309
|
-
},
|
|
4310
4104
|
"maxChunkSize": {
|
|
4311
4105
|
"type": "integer",
|
|
4312
4106
|
"minimum": 1,
|
|
4313
4107
|
"maximum": 50
|
|
4314
|
-
},
|
|
4315
|
-
"p90ChunkSecondsDefault": {
|
|
4316
|
-
"type": "number",
|
|
4317
|
-
"exclusiveMinimum": 0
|
|
4318
|
-
},
|
|
4319
|
-
"antiCollapse": {
|
|
4320
|
-
"type": "object",
|
|
4321
|
-
"properties": {
|
|
4322
|
-
"enabled": {
|
|
4323
|
-
"type": "boolean"
|
|
4324
|
-
},
|
|
4325
|
-
"randomClusterFraction": {
|
|
4326
|
-
"type": "number",
|
|
4327
|
-
"minimum": 0,
|
|
4328
|
-
"maximum": 1
|
|
4329
|
-
}
|
|
4330
|
-
},
|
|
4331
|
-
"additionalProperties": true
|
|
4332
4108
|
}
|
|
4333
4109
|
},
|
|
4334
4110
|
"additionalProperties": true
|
|
@@ -4393,19 +4169,6 @@
|
|
|
4393
4169
|
"minPendingCount": {
|
|
4394
4170
|
"type": "integer",
|
|
4395
4171
|
"minimum": 0
|
|
4396
|
-
},
|
|
4397
|
-
"cls": {
|
|
4398
|
-
"type": "object",
|
|
4399
|
-
"properties": {
|
|
4400
|
-
"enabled": {
|
|
4401
|
-
"type": "boolean"
|
|
4402
|
-
},
|
|
4403
|
-
"adjacentCount": {
|
|
4404
|
-
"type": "integer",
|
|
4405
|
-
"minimum": 1
|
|
4406
|
-
}
|
|
4407
|
-
},
|
|
4408
|
-
"additionalProperties": true
|
|
4409
4172
|
}
|
|
4410
4173
|
},
|
|
4411
4174
|
"additionalProperties": true
|
|
@@ -4772,10 +4535,6 @@
|
|
|
4772
4535
|
"maxPerRun": {
|
|
4773
4536
|
"type": "integer",
|
|
4774
4537
|
"exclusiveMinimum": 0
|
|
4775
|
-
},
|
|
4776
|
-
"limit": {
|
|
4777
|
-
"type": "integer",
|
|
4778
|
-
"exclusiveMinimum": 0
|
|
4779
4538
|
}
|
|
4780
4539
|
},
|
|
4781
4540
|
"additionalProperties": true
|
package/schemas/akm-task.json
CHANGED
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
"additionalProperties": { "$ref": "#/definitions/jsonValue" }
|
|
197
197
|
},
|
|
198
198
|
"taskInputName": {
|
|
199
|
-
"description": "One `inputs:` declaration key. Matches the identifier pattern AND excludes every name `akm task run` reserves for its own flags (src/tasks/task-run-reserved-flags.ts's TASK_RUN_RESERVED_FLAG_NAMES — the union of TASK_RUN_VALUE_FLAGS
|
|
199
|
+
"description": "One `inputs:` declaration key. Matches the identifier pattern AND excludes every name `akm task run` reserves for its own flags (src/tasks/task-run-reserved-flags.ts's TASK_RUN_RESERVED_FLAG_NAMES — the union of TASK_RUN_VALUE_FLAGS and TASK_RUN_BOOLEAN_FLAGS) — declaring an input under one of these names is rejected at parse time (TASK_SOURCE_INVALID, parseInputDeclarations) because the CLI would always treat the flag as its own, never as this input's. `no-quiet`/`no-verbose` are citty's negations of the `quiet`/`verbose` booleans and are listed for completeness even though the identifier pattern already excludes any hyphenated name.",
|
|
200
200
|
"type": "string",
|
|
201
201
|
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
202
202
|
"not": {
|
|
@@ -211,8 +211,7 @@
|
|
|
211
211
|
"verbose",
|
|
212
212
|
"help",
|
|
213
213
|
"no-quiet",
|
|
214
|
-
"no-verbose"
|
|
215
|
-
"target"
|
|
214
|
+
"no-verbose"
|
|
216
215
|
]
|
|
217
216
|
}
|
|
218
217
|
},
|