Regenerate plugins/*/skills/ from plugins/*/.apm/ after the previous four commits, via scripts/sync-plugin-content.sh --all. The mirror is generated output (ADR-0017) that check-plugin-content-sync's pre-push hook diffs against .apm/; nothing here is hand-edited. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
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.0"
|
|
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.
|