Only 12 of 39 skills carried metadata.version, and adoption tracked which plugin a skill lived in rather than any stated rule: core, gitea and lint were consistent adopters, bin and kyberforge were consistent non-adopters, git was split with one outlier. There was no documented convention, and skill-author's own bump logic was already written as if presence were conditional. metadata.version is now required on every skill. The 19 skills here that never carried one (bin, kyberforge, gitea-files) are seeded at 1.0.0, not 0.1.0 -- that value stays reserved for a skill's actual creation point under skill-author's existing convention. The skill-frontmatter pre-commit hook now fails a SKILL.md missing the field, the same class of failure as a missing name/description. Full rationale in the new ADR. The git-plugin skills that also need this field follow in the next commit, bundled with issue #113's rtk normalization since both touch the same files. Refs: #127 ADR: 0022 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
2.9 KiB
2.9 KiB
name, description, metadata
| name | description | metadata | |||||||
|---|---|---|---|---|---|---|---|---|---|
| apm-install | Use when installing, pinning, or upgrading the apm (Agent Package Manager) CLI itself, or installing and managing an agent runtime apm drives. Not authoring, publishing, auditing, or dependency installation for an apm package -> `apm-workflow`. |
|
Gotchas
- apm never executes an agent itself — it only installs and manages the runtimes that do. Installing apm alone leaves the user with a package manager and no working agent CLI, so Step 2 is required whenever the user actually wants one; skip it only when they explicitly want the package manager alone.
apm runtime setup copilotneeds Node.js v22+ and npm v10+ already onPATH; apm will not install them for you.
Step 1 — Install the apm CLI
If apm --version already answers and the user is not pinning or upgrading, skip to Step 2.
Default:
curl -sSL https://aka.ms/apm-unix | sh
Escape hatches — combine as needed:
- Pin a version — append
@vX.Y.Zto the piped script's arguments:curl -sSL https://aka.ms/apm-unix | sh -s -- @v1.2.3. - Custom install directory — set
APM_INSTALL_DIRon the piped script's command:curl -sSL https://aka.ms/apm-unix | APM_INSTALL_DIR=$HOME/.local/bin sh. - Air-gapped mirror / GitHub Enterprise — an air-gapped host cannot reach
aka.msat all, so getinstall.shonto the box and run it from disk instead of piping. Point it at the mirror withAPM_RELEASE_BASE_URLand pinVERSION:APM_RELEASE_BASE_URL=https://mirror.corp/apm VERSION=v1.2.3 sh install.sh; addAPM_RELEASE_METADATA_URLinstead if you leaveVERSIONunset.GITHUB_URLis the GitHub Enterprise host, not a release mirror. All four are ordinary environment variables that also work through the pipe — running from disk is a network constraint, not a script one. - pip —
pip install apm-clirequires Python 3.10+. Not on an externally-managed (PEP 668) Python such as Debian or Ubuntu, where it hard-fails witherror: externally-managed-environment; use pipx below. The quick-install script has no Python prerequisite, so prefer it unless the environment is pip-first. - pipx —
pipx install apm-clion those PEP 668 environments. Same PyPI package, but pipx builds an isolated venv and exposesapmonPATH. - Manual — download the platform archive from the GitHub releases page, extract, and place the binary on
PATH.
Verify with apm --version.
Step 2 — Install or manage an agent runtime
Default:
apm runtime setup copilot
Other targets: apm runtime setup codex, apm runtime setup gemini, apm runtime setup llm.
apm runtime list— show installed runtimes.apm runtime status— show which runtimeapm runwill pick by default.apm runtime remove <name> -y— uninstall without an interactive prompt.