check-skill-version-bump fails a push when a skill directory changed against its merge-base with main (tests/ excluded) without a strictly higher metadata.version than main. New, renamed and deleted skills are exempt; every plugin is covered. Recorded as a dated section in ADR-0022 and documented in gates.md. Patch-bumps the 17 skills that changed on this branch without a bump, so the branch passes its own gate. Simplification audit finding 33. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
54 lines
2.9 KiB
Markdown
54 lines
2.9 KiB
Markdown
---
|
|
name: apm-install
|
|
description: >
|
|
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`.
|
|
metadata:
|
|
version: "1.0.1"
|
|
category: apm
|
|
source_keys:
|
|
- context7-microsoft-apm
|
|
---
|
|
|
|
## 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 copilot` needs Node.js v22+ and npm v10+ already on `PATH`; 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:
|
|
|
|
```bash
|
|
curl -sSL https://aka.ms/apm-unix | sh
|
|
```
|
|
|
|
Escape hatches — combine as needed:
|
|
|
|
- **Pin a version** — append `@vX.Y.Z` to the piped script's arguments: `curl -sSL https://aka.ms/apm-unix | sh -s -- @v1.2.3`.
|
|
- **Custom install directory** — set `APM_INSTALL_DIR` on 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.ms` at all, so get `install.sh` onto the box and run it from disk instead of piping. Point it at the mirror with `APM_RELEASE_BASE_URL` and pin `VERSION`: `APM_RELEASE_BASE_URL=https://mirror.corp/apm VERSION=v1.2.3 sh install.sh`; add `APM_RELEASE_METADATA_URL` instead if you leave `VERSION` unset. `GITHUB_URL` is 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-cli` requires Python 3.10+. Not on an externally-managed (PEP 668) Python such as Debian or Ubuntu, where it hard-fails with `error: 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-cli` on those PEP 668 environments. Same PyPI package, but pipx builds an isolated venv and exposes `apm` on `PATH`.
|
|
- **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:
|
|
|
|
```bash
|
|
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 runtime `apm run` will pick by default.
|
|
- `apm runtime remove <name> -y` — uninstall without an interactive prompt.
|