akm-cli 0.7.4 → 0.8.0-rc.10
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 +224 -1
- package/README.md +22 -6
- package/SECURITY.md +93 -0
- package/dist/cli/config-migrate.js +144 -0
- package/dist/cli/config-validate.js +39 -0
- package/dist/cli/confirm.js +73 -0
- package/dist/cli/parse-args.js +133 -0
- package/dist/cli/shared.js +129 -0
- package/dist/cli.js +2631 -1440
- package/dist/commands/add-cli.js +279 -0
- package/dist/commands/agent-dispatch.js +110 -0
- package/dist/commands/agent-support.js +68 -0
- package/dist/commands/completions.js +3 -0
- package/dist/commands/config-cli.js +130 -534
- package/dist/commands/consolidate.js +2122 -0
- package/dist/commands/curate.js +45 -3
- package/dist/commands/db-cli.js +23 -0
- package/dist/commands/distill-promotion-policy.js +660 -0
- package/dist/commands/distill.js +1081 -73
- package/dist/commands/env.js +213 -0
- package/dist/commands/eval-cases.js +43 -0
- package/dist/commands/events.js +15 -24
- package/dist/commands/extract-cli.js +127 -0
- package/dist/commands/extract-prompt.js +204 -0
- package/dist/commands/extract.js +477 -0
- package/dist/commands/feedback-cli.js +331 -0
- package/dist/commands/graph.js +477 -0
- package/dist/commands/health.js +1302 -0
- package/dist/commands/help/help-accept.md +12 -0
- package/dist/commands/help/help-improve.md +69 -0
- package/dist/commands/help/help-proposals.md +18 -0
- package/dist/commands/help/help-propose.md +17 -0
- package/dist/commands/help/help-reject.md +11 -0
- package/dist/commands/history.js +54 -46
- package/dist/commands/improve-auto-accept.js +97 -0
- package/dist/commands/improve-cli.js +217 -0
- package/dist/commands/improve-profiles.js +166 -0
- package/dist/commands/improve-result-file.js +167 -0
- package/dist/commands/improve.js +2373 -0
- package/dist/commands/info.js +5 -2
- package/dist/commands/init.js +50 -2
- package/dist/commands/installed-stashes.js +102 -139
- package/dist/commands/knowledge.js +136 -0
- package/dist/commands/lint/agent-linter.js +49 -0
- package/dist/commands/lint/base-linter.js +479 -0
- package/dist/commands/lint/command-linter.js +49 -0
- package/dist/commands/lint/default-linter.js +16 -0
- package/dist/commands/lint/env-key-rules.js +154 -0
- package/dist/commands/lint/index.js +196 -0
- package/dist/commands/lint/knowledge-linter.js +16 -0
- package/dist/commands/lint/markdown-insertion.js +343 -0
- package/dist/commands/lint/memory-linter.js +61 -0
- package/dist/commands/lint/registry.js +36 -0
- package/dist/commands/lint/skill-linter.js +45 -0
- package/dist/commands/lint/task-linter.js +50 -0
- package/dist/commands/lint/types.js +4 -0
- package/dist/commands/lint/workflow-linter.js +56 -0
- package/dist/commands/lint.js +4 -0
- package/dist/commands/migration-help.js +3 -0
- package/dist/commands/proposal.js +67 -12
- package/dist/commands/propose.js +120 -45
- package/dist/commands/reflect.js +1104 -60
- package/dist/commands/registry-cli.js +150 -0
- package/dist/commands/registry-search.js +5 -2
- package/dist/commands/remember-cli.js +257 -0
- package/dist/commands/remember.js +70 -7
- package/dist/commands/schema-repair.js +203 -0
- package/dist/commands/search.js +115 -14
- package/dist/commands/secret.js +173 -0
- package/dist/commands/self-update.js +3 -0
- package/dist/commands/show.js +158 -60
- package/dist/commands/source-add.js +17 -45
- package/dist/commands/source-clone.js +3 -0
- package/dist/commands/source-manage.js +14 -19
- package/dist/commands/tasks.js +437 -0
- package/dist/commands/url-checker.js +42 -0
- package/dist/core/action-contributors.js +28 -0
- package/dist/core/asset-ref.js +17 -2
- package/dist/core/asset-registry.js +12 -17
- package/dist/core/asset-serialize.js +88 -0
- package/dist/core/asset-spec.js +67 -1
- package/dist/core/common.js +182 -0
- package/dist/core/concurrent.js +25 -0
- package/dist/core/config-io.js +347 -0
- package/dist/core/config-migration.js +622 -0
- package/dist/core/config-schema.js +534 -0
- package/dist/core/config-sources.js +108 -0
- package/dist/core/config-types.js +4 -0
- package/dist/core/config-walker.js +337 -0
- package/dist/core/config.js +364 -968
- package/dist/core/errors.js +42 -20
- package/dist/core/events.js +105 -135
- package/dist/core/file-lock.js +104 -0
- package/dist/core/frontmatter.js +75 -8
- package/dist/core/lesson-lint.js +3 -0
- package/dist/core/markdown.js +20 -0
- package/dist/core/memory-belief.js +62 -0
- package/dist/core/memory-contradiction-detect.js +274 -0
- package/dist/core/memory-improve.js +806 -0
- package/dist/core/parse.js +158 -0
- package/dist/core/paths.js +280 -14
- package/dist/core/proposal-quality-validators.js +380 -0
- package/dist/core/proposal-validators.js +69 -0
- package/dist/core/proposals.js +512 -42
- package/dist/core/state-db.js +1068 -0
- package/dist/core/text-truncation.js +107 -0
- package/dist/core/time.js +54 -0
- package/dist/core/tty.js +59 -0
- package/dist/core/warn.js +64 -1
- package/dist/core/write-source.js +3 -0
- package/dist/indexer/db-backup.js +391 -0
- package/dist/indexer/db-search.js +198 -489
- package/dist/indexer/db.js +990 -108
- package/dist/indexer/ensure-index.js +136 -0
- package/dist/indexer/file-context.js +3 -0
- package/dist/indexer/graph-boost.js +376 -101
- package/dist/indexer/graph-db.js +391 -0
- package/dist/indexer/graph-dedup.js +95 -0
- package/dist/indexer/graph-extraction.js +550 -114
- package/dist/indexer/index-context.js +4 -0
- package/dist/indexer/indexer.js +547 -309
- package/dist/indexer/llm-cache.js +52 -0
- package/dist/indexer/manifest.js +3 -0
- package/dist/indexer/matchers.js +167 -160
- package/dist/indexer/memory-inference.js +152 -74
- package/dist/indexer/metadata-contributors.js +29 -0
- package/dist/indexer/metadata.js +275 -196
- package/dist/indexer/path-resolver.js +92 -0
- package/dist/indexer/project-context.js +192 -0
- package/dist/indexer/ranking-contributors.js +331 -0
- package/dist/indexer/ranking.js +81 -0
- package/dist/indexer/search-fields.js +5 -9
- package/dist/indexer/search-hit-enrichers.js +111 -0
- package/dist/indexer/search-source.js +44 -10
- package/dist/indexer/semantic-status.js +6 -17
- package/dist/indexer/staleness-detect.js +447 -0
- package/dist/indexer/usage-events.js +12 -9
- package/dist/indexer/walker.js +28 -0
- package/dist/integrations/agent/builders.js +135 -0
- package/dist/integrations/agent/config.js +122 -230
- package/dist/integrations/agent/detect.js +3 -0
- package/dist/integrations/agent/index.js +7 -13
- package/dist/integrations/agent/model-aliases.js +55 -0
- package/dist/integrations/agent/profiles.js +70 -5
- package/dist/integrations/agent/prompts.js +250 -36
- package/dist/integrations/agent/runner.js +151 -0
- package/dist/integrations/agent/sdk-runner.js +126 -0
- package/dist/integrations/agent/spawn.js +183 -35
- package/dist/integrations/github.js +3 -0
- package/dist/integrations/lockfile.js +32 -69
- package/dist/integrations/session-logs/index.js +69 -0
- package/dist/integrations/session-logs/inline-refs.js +35 -0
- package/dist/integrations/session-logs/pre-filter.js +152 -0
- package/dist/integrations/session-logs/providers/claude-code.js +282 -0
- package/dist/integrations/session-logs/providers/opencode.js +258 -0
- package/dist/integrations/session-logs/types.js +4 -0
- package/dist/llm/call-ai.js +62 -0
- package/dist/llm/client.js +79 -88
- package/dist/llm/embedder.js +20 -29
- package/dist/llm/embedders/cache.js +3 -7
- package/dist/llm/embedders/local.js +42 -1
- package/dist/llm/embedders/remote.js +20 -8
- package/dist/llm/embedders/types.js +3 -7
- package/dist/llm/feature-gate.js +95 -48
- package/dist/llm/graph-extract.js +676 -72
- package/dist/llm/index-passes.js +44 -29
- package/dist/llm/memory-infer.js +80 -71
- package/dist/llm/metadata-enhance.js +42 -29
- package/dist/llm/prompts/extract-session.md +80 -0
- package/dist/llm/prompts/graph-extract-user-prompt.md +35 -0
- package/dist/output/cli-hints-full.md +292 -0
- package/dist/output/cli-hints-short.md +66 -0
- package/dist/output/cli-hints.js +7 -311
- package/dist/output/context.js +60 -8
- package/dist/output/renderers.js +306 -258
- package/dist/output/shapes/curate.js +56 -0
- package/dist/output/shapes/distill.js +10 -0
- package/dist/output/shapes/env-list.js +19 -0
- package/dist/output/shapes/events.js +11 -0
- package/dist/output/shapes/helpers.js +424 -0
- package/dist/output/shapes/history.js +7 -0
- package/dist/output/shapes/passthrough.js +102 -0
- package/dist/output/shapes/proposal-accept.js +7 -0
- package/dist/output/shapes/proposal-diff.js +7 -0
- package/dist/output/shapes/proposal-list.js +7 -0
- package/dist/output/shapes/proposal-producer.js +11 -0
- package/dist/output/shapes/proposal-reject.js +7 -0
- package/dist/output/shapes/proposal-show.js +7 -0
- package/dist/output/shapes/registry-search.js +6 -0
- package/dist/output/shapes/registry.js +30 -0
- package/dist/output/shapes/search.js +6 -0
- package/dist/output/shapes/secret-list.js +19 -0
- package/dist/output/shapes/show.js +6 -0
- package/dist/output/shapes/vault-list.js +19 -0
- package/dist/output/shapes.js +51 -511
- package/dist/output/text/add.js +6 -0
- package/dist/output/text/clone.js +6 -0
- package/dist/output/text/config.js +6 -0
- package/dist/output/text/curate.js +6 -0
- package/dist/output/text/distill.js +7 -0
- package/dist/output/text/enable-disable.js +7 -0
- package/dist/output/text/events.js +10 -0
- package/dist/output/text/feedback.js +6 -0
- package/dist/output/text/helpers.js +1039 -0
- package/dist/output/text/history.js +7 -0
- package/dist/output/text/import.js +6 -0
- package/dist/output/text/index.js +6 -0
- package/dist/output/text/info.js +6 -0
- package/dist/output/text/init.js +6 -0
- package/dist/output/text/list.js +6 -0
- package/dist/output/text/proposal-producer.js +8 -0
- package/dist/output/text/proposal.js +11 -0
- package/dist/output/text/registry-commands.js +11 -0
- package/dist/output/text/registry.js +30 -0
- package/dist/output/text/remember.js +6 -0
- package/dist/output/text/remove.js +6 -0
- package/dist/output/text/save.js +6 -0
- package/dist/output/text/search.js +6 -0
- package/dist/output/text/show.js +6 -0
- package/dist/output/text/update.js +6 -0
- package/dist/output/text/upgrade.js +6 -0
- package/dist/output/text/vault.js +16 -0
- package/dist/output/text/wiki.js +15 -0
- package/dist/output/text/workflow.js +14 -0
- package/dist/output/text.js +44 -1093
- package/dist/registry/build-index.js +3 -0
- package/dist/registry/create-provider-registry.js +3 -0
- package/dist/registry/factory.js +4 -1
- package/dist/registry/origin-resolve.js +3 -0
- package/dist/registry/providers/index.js +3 -0
- package/dist/registry/providers/skills-sh.js +71 -50
- package/dist/registry/providers/static-index.js +53 -48
- package/dist/registry/providers/types.js +3 -24
- package/dist/registry/resolve.js +11 -16
- package/dist/registry/types.js +3 -0
- package/dist/scripts/migrate-storage.js +17750 -0
- package/dist/scripts/migrations/import-fs-improve-runs-to-db.js +9031 -0
- package/dist/scripts/migrations/v16-to-v17.js +141 -0
- package/dist/setup/detect.js +3 -0
- package/dist/setup/ripgrep-install.js +3 -0
- package/dist/setup/ripgrep-resolve.js +3 -0
- package/dist/setup/setup.js +775 -37
- package/dist/setup/steps.js +3 -15
- package/dist/sources/include.js +3 -0
- package/dist/sources/provider-factory.js +5 -12
- package/dist/sources/provider.js +3 -20
- package/dist/sources/providers/filesystem.js +19 -23
- package/dist/sources/providers/git.js +179 -20
- package/dist/sources/providers/index.js +3 -0
- package/dist/sources/providers/install-types.js +3 -13
- package/dist/sources/providers/npm.js +3 -4
- package/dist/sources/providers/provider-utils.js +3 -0
- package/dist/sources/providers/sync-from-ref.js +3 -11
- package/dist/sources/providers/tar-utils.js +3 -0
- package/dist/sources/providers/website.js +18 -22
- package/dist/sources/resolve.js +3 -0
- package/dist/sources/types.js +3 -0
- package/dist/sources/website-ingest.js +7 -0
- package/dist/tasks/backends/cron.js +203 -0
- package/dist/tasks/backends/exec-utils.js +28 -0
- package/dist/tasks/backends/index.js +24 -0
- package/dist/tasks/backends/launchd-template.xml +19 -0
- package/dist/tasks/backends/launchd.js +187 -0
- package/dist/tasks/backends/schtasks-template.xml +29 -0
- package/dist/tasks/backends/schtasks.js +215 -0
- package/dist/tasks/parser.js +211 -0
- package/dist/tasks/resolveAkmBin.js +87 -0
- package/dist/tasks/runner.js +458 -0
- package/dist/tasks/schedule.js +227 -0
- package/dist/tasks/schema.js +15 -0
- package/dist/tasks/validator.js +62 -0
- package/dist/version.js +3 -0
- package/dist/wiki/index-template.md +12 -0
- package/dist/wiki/ingest-workflow-template.md +54 -0
- package/dist/wiki/log-template.md +8 -0
- package/dist/wiki/schema-template.md +61 -0
- package/dist/wiki/wiki-templates.js +15 -0
- package/dist/wiki/wiki.js +13 -61
- package/dist/workflows/authoring.js +8 -25
- package/dist/workflows/cli.js +3 -0
- package/dist/workflows/db.js +141 -2
- package/dist/workflows/document-cache.js +3 -10
- package/dist/workflows/parser.js +3 -0
- package/dist/workflows/renderer.js +11 -3
- package/dist/workflows/runs.js +91 -89
- package/dist/workflows/schema.js +3 -0
- package/dist/workflows/scope-key.js +79 -0
- package/dist/workflows/validator.js +4 -8
- package/dist/workflows/workflow-template.md +24 -0
- package/docs/README.md +10 -2
- package/docs/data-and-telemetry.md +225 -0
- package/docs/migration/release-notes/0.7.0.md +1 -1
- package/docs/migration/release-notes/0.7.4.md +1 -1
- package/docs/migration/release-notes/0.7.5.md +20 -0
- package/docs/migration/release-notes/0.8.0.md +48 -0
- package/docs/migration/v0.7-to-v0.8.md +1307 -0
- package/package.json +29 -11
- package/dist/commands/install-audit.js +0 -381
- package/dist/commands/vault.js +0 -333
- package/dist/templates/wiki-templates.js +0 -100
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# akm CLI — Full Reference
|
|
2
|
+
|
|
3
|
+
You have access to a searchable library of scripts, skills, commands, agents, knowledge documents, workflows, wikis, and memories via `akm`. Search your sources first before writing something from scratch.
|
|
4
|
+
|
|
5
|
+
## Search
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
akm search "<query>" # Search all sources
|
|
9
|
+
akm curate "<task>" # Curate the best matches for a task
|
|
10
|
+
akm search "<query>" --type workflow # Filter by asset type
|
|
11
|
+
akm search "<query>" --source both # Also search registries
|
|
12
|
+
akm search "<query>" --source registry # Search registries only
|
|
13
|
+
akm search "<query>" --limit 10 # Limit results
|
|
14
|
+
akm search "<query>" --detail full # Include scores, paths, timing
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Flag | Values | Default |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| `--type` | `skill`, `command`, `agent`, `knowledge`, `workflow`, `script`, `memory`, `env`, `secret`, `wiki`, `any` | `any` |
|
|
20
|
+
| `--source` | `stash`, `registry`, `both` | `stash` |
|
|
21
|
+
| `--limit` | number | `20` |
|
|
22
|
+
| `--format` | `json`, `jsonl`, `text`, `yaml` | `json` |
|
|
23
|
+
| `--detail` | `brief`, `normal`, `full` | `brief` |
|
|
24
|
+
| `--shape` | `human`, `agent`, `summary` (`summary` only on `show`) | `human` |
|
|
25
|
+
| `--for-agent` | boolean (deprecated — use `--shape agent`) | `false` |
|
|
26
|
+
|
|
27
|
+
## Curate
|
|
28
|
+
|
|
29
|
+
Combine search + follow-up hints into a dense summary for a task or prompt.
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
akm curate "plan a release" # Pick top matches across asset types
|
|
33
|
+
akm curate "deploy a Bun app" --limit 3 # Keep the summary shorter
|
|
34
|
+
akm curate "review architecture" --type workflow # Restrict to one asset type
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Show
|
|
38
|
+
|
|
39
|
+
Display an asset by ref. Knowledge assets support view modes as positional arguments.
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
akm show script:deploy.sh # Show script (returns run command)
|
|
43
|
+
akm show skill:code-review # Show skill (returns full content)
|
|
44
|
+
akm show command:release # Show command (returns template)
|
|
45
|
+
akm show agent:architect # Show agent (returns system prompt)
|
|
46
|
+
akm show workflow:ship-release # Show parsed workflow steps
|
|
47
|
+
akm show knowledge:guide toc # Table of contents
|
|
48
|
+
akm show knowledge:guide section "Auth" # Specific section
|
|
49
|
+
akm show knowledge:guide lines 10 30 # Line range
|
|
50
|
+
akm show knowledge:my-doc # Show content (local or remote)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
| Type | Key fields returned |
|
|
54
|
+
| --- | --- |
|
|
55
|
+
| script | `run`, `setup`, `cwd` |
|
|
56
|
+
| skill | `content` (full SKILL.md) |
|
|
57
|
+
| command | `template`, `description`, `parameters` |
|
|
58
|
+
| agent | `prompt`, `description`, `modelHint`, `toolPolicy` |
|
|
59
|
+
| knowledge | `content` (with view modes: `full`, `toc`, `frontmatter`, `section`, `lines`) |
|
|
60
|
+
| workflow | `workflowTitle`, `workflowParameters`, `steps` |
|
|
61
|
+
| memory | `content` (recalled context) |
|
|
62
|
+
| vault | `keys`, `comments` |
|
|
63
|
+
| wiki | `content` (same view modes as knowledge). For any wiki task, run `akm wiki list`. To ingest sources, `akm wiki ingest <name>` dispatches the configured agent (defaults.agent or `--profile`) to execute the ingest workflow. |
|
|
64
|
+
|
|
65
|
+
## Capture Knowledge While You Work
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
akm remember "Deployment needs VPN access" # Record a memory in your stash
|
|
69
|
+
akm remember --name release-retro < notes.md # Save multiline memory from stdin
|
|
70
|
+
akm remember "note" --target my-other-stash # Route write to a named writable stash source
|
|
71
|
+
akm import ./docs/auth-flow.md # Import a file as knowledge
|
|
72
|
+
akm import - --name scratch-notes < notes.md # Import stdin as a knowledge doc
|
|
73
|
+
akm import https://example.com/docs/auth # Fetch one URL and import it as knowledge
|
|
74
|
+
akm import ./doc.md --target my-other-stash # Route import to a named writable stash source
|
|
75
|
+
akm workflow create ship-release # Create a workflow asset in the stash
|
|
76
|
+
akm workflow validate workflows/foo.md # Validate a workflow file or ref; lists every error
|
|
77
|
+
akm workflow next workflow:ship-release # Start or resume the next workflow step
|
|
78
|
+
akm feedback skill:code-review --positive # Record that an asset helped
|
|
79
|
+
akm feedback agent:reviewer --negative # Record that an asset missed the mark
|
|
80
|
+
akm feedback memory:deployment-notes --positive # Works for memories too
|
|
81
|
+
akm feedback vault:prod --positive # Records vault feedback without surfacing values
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Use `akm feedback` whenever an asset materially helps or fails so future search
|
|
85
|
+
ranking can learn from actual usage.
|
|
86
|
+
|
|
87
|
+
## Wikis
|
|
88
|
+
|
|
89
|
+
Multi-wiki knowledge bases (Karpathy-style). A stash-owned wiki lives at
|
|
90
|
+
`<stashDir>/wikis/<name>/`; external directories or repos can also be registered
|
|
91
|
+
as first-class wikis. akm owns lifecycle + raw-slug + lint + index regeneration
|
|
92
|
+
for stash-owned wikis; page edits use your native Read/Write/Edit tools.
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
akm wiki list # List wikis (name, pages, raws, last-modified)
|
|
96
|
+
akm wiki create research # Scaffold a new wiki
|
|
97
|
+
akm wiki register ics-docs ~/code/ics-documentation # Register an external wiki
|
|
98
|
+
akm wiki show research # Path, description, counts, last 3 log entries
|
|
99
|
+
akm wiki pages research # Page refs + descriptions (excludes schema/index/log; includes raw/)
|
|
100
|
+
akm wiki search research "attention" # Scoped search (equivalent to --type wiki --wiki research)
|
|
101
|
+
akm wiki stash research ./paper.md # Copy source into raw/<slug>.md (never overwrites)
|
|
102
|
+
akm wiki stash research https://example.com/paper # Fetch one URL into raw/<slug>.md
|
|
103
|
+
akm wiki stash research ./paper.md --target my-stash # Route write to a named writable stash source
|
|
104
|
+
echo "..." | akm wiki stash research - # stdin form
|
|
105
|
+
akm wiki lint research # Structural checks: orphans, broken xrefs, uncited raws, stale index
|
|
106
|
+
akm wiki ingest research # Dispatch defaults.agent to run the ingest workflow on this wiki
|
|
107
|
+
akm wiki ingest research --profile claude --model sonnet # Override profile and model
|
|
108
|
+
akm wiki ingest research --timeout-ms 600000 # Override agent CLI timeout (default: profile setting)
|
|
109
|
+
akm wiki remove research -y # Delete pages/schema/index/log; preserves raw/ (--force is a deprecated alias for -y)
|
|
110
|
+
akm wiki remove research -y --with-sources # Full nuke, including raw/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**For any wiki task, start with `akm wiki list`. Then `akm wiki ingest <name>`
|
|
114
|
+
dispatches the configured agent (defaults.agent or `--profile`) to execute
|
|
115
|
+
the wiki's ingest workflow end-to-end — schema read, source dedup, search,
|
|
116
|
+
page create/update, log entry, lint, reindex.** Wiki pages are also addressable as
|
|
117
|
+
`wiki:<name>/<page-path>` and show up in stash-wide `akm search` as
|
|
118
|
+
`type: wiki`. Files under `raw/` and the wiki root infrastructure files
|
|
119
|
+
`schema.md`, `index.md`, and `log.md` are not indexed and do not appear in
|
|
120
|
+
search results. No `--llm` anywhere — akm never reasons about page content.
|
|
121
|
+
|
|
122
|
+
## Vaults
|
|
123
|
+
|
|
124
|
+
Encrypted-at-rest key/value stores for secrets. Each vault is a `.env`-format
|
|
125
|
+
file at `<stashDir>/vaults/<name>.env`.
|
|
126
|
+
|
|
127
|
+
```sh
|
|
128
|
+
akm vault create prod # Create a new vault
|
|
129
|
+
akm vault set prod DB_URL postgres://... # Set a key (or KEY=VALUE combined form)
|
|
130
|
+
akm vault set prod DB_URL=postgres://... # Combined KEY=VALUE form also works
|
|
131
|
+
akm vault unset prod DB_URL # Remove a key
|
|
132
|
+
akm vault list # List all vaults across all stashes with key names
|
|
133
|
+
akm vault path vault:prod # Print the vault file path for shell loading
|
|
134
|
+
akm vault run vault:prod -- env # Run one command with all vault vars injected
|
|
135
|
+
akm vault run vault:prod/DB_URL -- printenv DB_URL # Inject one key for one command
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Workflows
|
|
139
|
+
|
|
140
|
+
Step-based workflows stored as `<stashDir>/workflows/<name>.md`.
|
|
141
|
+
|
|
142
|
+
Ref-based workflow commands are scoped to the current project/worktree/directory,
|
|
143
|
+
so one active run does not block unrelated directories from starting the same
|
|
144
|
+
workflow. Direct run-id commands still target the exact run.
|
|
145
|
+
|
|
146
|
+
```sh
|
|
147
|
+
akm workflow template # Print a starter workflow template
|
|
148
|
+
akm workflow create ship-release # Scaffold a new workflow asset
|
|
149
|
+
akm workflow start workflow:ship-release # Start a new run in the current scope
|
|
150
|
+
akm workflow next workflow:ship-release # Advance to the next step (or auto-start) in the current scope
|
|
151
|
+
akm workflow complete <run-id> # Mark a step complete and advance
|
|
152
|
+
akm workflow status <run-id> # Show the exact run by id
|
|
153
|
+
akm workflow resume <run-id> # Resume a blocked or failed run
|
|
154
|
+
akm workflow list # List workflow runs in the current scope
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Clone
|
|
158
|
+
|
|
159
|
+
Copy an asset to the working stash or a custom destination for editing.
|
|
160
|
+
|
|
161
|
+
```sh
|
|
162
|
+
akm clone <ref> # Clone to working stash
|
|
163
|
+
akm clone <ref> --name new-name # Rename on clone
|
|
164
|
+
akm clone <ref> --dest ./project/.claude # Clone to custom location
|
|
165
|
+
akm clone <ref> --force # Overwrite existing
|
|
166
|
+
akm clone "npm:@scope/pkg//script:deploy.sh" # Clone from remote package
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
When `--dest` is provided, `akm init` is not required first.
|
|
170
|
+
|
|
171
|
+
## Sync
|
|
172
|
+
|
|
173
|
+
Commit local changes in a git-backed stash. Behaviour adapts automatically.
|
|
174
|
+
(`akm save` is the deprecated 0.7 spelling — it still works but warns; removed
|
|
175
|
+
in 0.9.0.)
|
|
176
|
+
|
|
177
|
+
- **Not a git repo** — no-op (silent skip)
|
|
178
|
+
- **Git repo, no remote** — stage and commit only (the default stash always falls here)
|
|
179
|
+
- **Git repo, has remote, not writable** — stage and commit only
|
|
180
|
+
- **Git repo, has remote, `writable: true`** — stage, commit, and push
|
|
181
|
+
- **Any writable repo with `--no-push`** — stage and commit only
|
|
182
|
+
|
|
183
|
+
```sh
|
|
184
|
+
akm sync # Sync primary stash (timestamp message)
|
|
185
|
+
akm sync -m "Add deploy skill" # Sync with explicit message
|
|
186
|
+
akm sync --no-push # Commit only; never push
|
|
187
|
+
akm sync my-skills # Sync a named writable git stash
|
|
188
|
+
akm sync my-skills -m "Update patterns" # Sync named stash with message
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The `--writable` flag on `akm add` opts a remote git stash into push-on-sync:
|
|
192
|
+
|
|
193
|
+
```sh
|
|
194
|
+
akm add git@github.com:org/skills.git --provider git --name my-skills --writable
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Add & Manage Sources
|
|
198
|
+
|
|
199
|
+
```sh
|
|
200
|
+
akm add <ref> # Add a source
|
|
201
|
+
akm add @scope/stash # From npm (managed)
|
|
202
|
+
akm add owner/repo # From GitHub (managed)
|
|
203
|
+
akm add ./path/to/local/stash # Local directory
|
|
204
|
+
akm add git@github.com:org/repo.git --provider git --name my-skills --writable
|
|
205
|
+
akm config enable skills.sh # Enable the skills.sh registry
|
|
206
|
+
akm config disable skills.sh # Disable the skills.sh registry
|
|
207
|
+
akm list # List all sources
|
|
208
|
+
akm list --kind managed # List managed sources only
|
|
209
|
+
akm remove <target> # Remove by id, ref, path, or name
|
|
210
|
+
akm update --all # Update all managed sources
|
|
211
|
+
akm update <target> --force # Force re-download
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Registries
|
|
215
|
+
|
|
216
|
+
```sh
|
|
217
|
+
akm registry list # List configured registries
|
|
218
|
+
akm registry add <url> # Add a registry
|
|
219
|
+
akm registry add <url> --name my-team # Add with label
|
|
220
|
+
akm registry add <url> --provider skills-sh # Specify provider type
|
|
221
|
+
akm registry remove <url-or-name> # Remove a registry
|
|
222
|
+
akm registry search "<query>" # Search all registries
|
|
223
|
+
akm registry search "<query>" --assets # Include asset-level results
|
|
224
|
+
akm registry build-index # Build the default cache-backed index.json
|
|
225
|
+
akm registry build-index --out dist/index.json # Build to a custom path
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Configuration
|
|
229
|
+
|
|
230
|
+
```sh
|
|
231
|
+
akm config list # Show current config
|
|
232
|
+
akm config get <key> # Read a value
|
|
233
|
+
akm config set <key> <value> # Set a value
|
|
234
|
+
akm config unset <key> # Remove a key
|
|
235
|
+
akm config path --all # Show all config paths
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Other Commands
|
|
239
|
+
|
|
240
|
+
```sh
|
|
241
|
+
akm init # Initialize working stash
|
|
242
|
+
akm index # Rebuild search index (metadata enrichment when configured)
|
|
243
|
+
akm index --full # Full reindex (metadata enrichment when configured)
|
|
244
|
+
akm list # List all sources
|
|
245
|
+
akm upgrade # Upgrade akm using its install method
|
|
246
|
+
akm upgrade --check # Check for updates
|
|
247
|
+
akm help migrate 0.6.0 # Print migration notes for a release (or: latest)
|
|
248
|
+
akm hints # Print this reference
|
|
249
|
+
akm completions # Print bash completion script
|
|
250
|
+
akm completions --install # Install completions
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Proposals & Improvement (0.8.0+)
|
|
254
|
+
|
|
255
|
+
```sh
|
|
256
|
+
akm improve <ref> # Propose improvement for an asset
|
|
257
|
+
akm proposal list # List pending proposals
|
|
258
|
+
akm proposal show <id> # Render the proposal body
|
|
259
|
+
akm proposal diff <ref-or-id> # Diff by ref, UUID, or 8-char prefix
|
|
260
|
+
akm proposal diff skill:akm-dream # Diff by asset ref
|
|
261
|
+
akm proposal accept 7c115132 # Accept by UUID prefix
|
|
262
|
+
akm proposal accept <id> --target team-stash # Accept to a named writable stash source
|
|
263
|
+
akm proposal reject skill:my-skill --reason "not ready" # Reject by asset ref
|
|
264
|
+
akm proposal reject <id> --reason "..." # Archive with a reason
|
|
265
|
+
akm proposal revert <id> # Restore the pre-promotion content
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
The flat verbs `akm proposals` / `akm show proposal` / `akm accept` /
|
|
269
|
+
`akm reject` / `akm diff` / `akm revert` still work as deprecated aliases
|
|
270
|
+
(warn on stderr; removed in 0.9.0).
|
|
271
|
+
|
|
272
|
+
Per-task `timeoutMs`: task markdown frontmatter may set `timeoutMs: null` to
|
|
273
|
+
disable the agent kill timer for long-running local-model tasks, or a number
|
|
274
|
+
(milliseconds) to override `config.agent.timeoutMs` for that task only.
|
|
275
|
+
|
|
276
|
+
## Output Control
|
|
277
|
+
|
|
278
|
+
All commands accept `--format`, `--detail`, and `--shape` flags:
|
|
279
|
+
|
|
280
|
+
- `--format json` (default) — structured JSON
|
|
281
|
+
- `--format jsonl` — one JSON object per line (streaming-friendly)
|
|
282
|
+
- `--format text` — human-readable plain text
|
|
283
|
+
- `--format yaml` — YAML output
|
|
284
|
+
- `--detail brief` (default) — compact output
|
|
285
|
+
- `--detail normal` — adds tags, refs, origins
|
|
286
|
+
- `--detail full` — includes scores, paths, timing, debug info
|
|
287
|
+
- `--shape human` (default) — standard projection
|
|
288
|
+
- `--shape agent` — agent-optimized output: strips non-actionable fields
|
|
289
|
+
- `--shape summary` — metadata only (no content/template/prompt), under 200 tokens; only valid on `akm show`
|
|
290
|
+
- `--for-agent` — deprecated alias for `--shape agent` (removed 0.9.0)
|
|
291
|
+
|
|
292
|
+
Run `akm -h` or `akm <command> -h` for per-command help.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# akm CLI
|
|
2
|
+
|
|
3
|
+
You have access to a searchable library of scripts, skills, commands, agents, knowledge documents, workflows, wikis, and memories via `akm`. Search your sources first before writing something from scratch.
|
|
4
|
+
|
|
5
|
+
## Agent Task Loop
|
|
6
|
+
|
|
7
|
+
For any task, follow this loop:
|
|
8
|
+
1. `akm curate "<task>"` — find the best matching asset
|
|
9
|
+
2. `akm show <ref>` — read the schema (field names and structure)
|
|
10
|
+
3. Edit the workspace file using schema field names + task-specific values from your README
|
|
11
|
+
4. `akm feedback <ref> --positive` — record success
|
|
12
|
+
|
|
13
|
+
For workflow tasks:
|
|
14
|
+
1. `akm workflow next workflow:<name>` — get current step instructions
|
|
15
|
+
2. Do the step work in your workspace
|
|
16
|
+
3. `akm workflow complete <run-id> --step <step-id>` — mark done, get next step
|
|
17
|
+
|
|
18
|
+
Workflow runs are scoped to your current project/worktree/directory. Ref-based
|
|
19
|
+
commands like `workflow next workflow:<name>`, `workflow status workflow:<name>`,
|
|
20
|
+
and `workflow list` operate within the current scope only.
|
|
21
|
+
|
|
22
|
+
## Quick Reference
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
akm search "<query>" # Search all sources
|
|
26
|
+
akm curate "<task>" # Curate the best matches for a task
|
|
27
|
+
akm search "<query>" --type workflow # Filter to workflow assets
|
|
28
|
+
akm search "<query>" --source both # Also search registries
|
|
29
|
+
akm show <ref> # View asset details
|
|
30
|
+
akm workflow next <ref> # Start or resume a workflow
|
|
31
|
+
akm remember "Deployment needs VPN access" # Record a memory in your stash
|
|
32
|
+
akm remember "note" --target my-stash # Route write to a named writable stash source
|
|
33
|
+
akm import ./notes/release-checklist.md # Import a knowledge doc into your stash
|
|
34
|
+
akm import ./doc.md --target my-stash # Route import to a named writable stash source
|
|
35
|
+
akm wiki list # List available wikis
|
|
36
|
+
akm wiki ingest <name> # Dispatch an agent to run the ingest workflow (uses defaults.agent or --profile)
|
|
37
|
+
akm wiki stash <name> ./paper.md --target my-stash # Route wiki stash write to a named source
|
|
38
|
+
akm proposal diff skill:akm-dream # Diff proposal by ref, UUID, or 8-char prefix
|
|
39
|
+
akm proposal accept 7c115132 # Accept by UUID prefix
|
|
40
|
+
akm proposal reject skill:my-skill --reason "..." # Reject by ref
|
|
41
|
+
akm feedback <ref> --positive|--negative # Record whether an asset helped
|
|
42
|
+
akm add <ref> # Add a source (npm, GitHub, git, local dir)
|
|
43
|
+
akm clone <ref> # Copy an asset to the working stash (optional --dest arg to clone to specific location)
|
|
44
|
+
akm sync # Commit (and push if writable remote) changes in the primary stash (--no-push to skip push)
|
|
45
|
+
akm registry search "<query>" # Search all registries
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Primary Asset Types
|
|
49
|
+
|
|
50
|
+
| Type | What `akm show` returns |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| script | A `run` command you can execute directly |
|
|
53
|
+
| skill | Instructions to follow (read the full content) |
|
|
54
|
+
| command | A prompt template with placeholders to fill in |
|
|
55
|
+
| agent | A system prompt with model and tool hints |
|
|
56
|
+
| knowledge | A reference doc (use `toc` or `section "..."` to navigate) |
|
|
57
|
+
| workflow | Parsed steps plus workflow-specific execution commands |
|
|
58
|
+
| memory | Recalled context (read the content for background information) |
|
|
59
|
+
| env | A `.env` file of related CONFIGURATION (many vars; sensitive or not — all protected); key names only. Inject with `akm env run <ref> -- <cmd>` (the agent-safe path — values stay on disk). `vault` is the deprecated alias. |
|
|
60
|
+
| secret | A single sensitive value for AUTHENTICATION (token, key, cert); name only. Use `akm secret path` / `akm secret run`. |
|
|
61
|
+
| wiki | A page in a multi-wiki knowledge base. For any wiki task, start with `akm wiki list`. To ingest sources, run `akm wiki ingest <name>` — it dispatches the configured agent profile to execute the ingest workflow against the wiki's `raw/` directory. Run `akm wiki -h` for the full surface. |
|
|
62
|
+
|
|
63
|
+
When an asset meaningfully helps or fails, record that with `akm feedback` so
|
|
64
|
+
future search ranking can learn from real usage.
|
|
65
|
+
|
|
66
|
+
Run `akm -h` for the full command reference.
|