Use a plugin
Declare a project, apply a plugin, pin versions with the lockfile, and detect drift.
You're here because you want to apply someone else's plugin to a project. This is the consumer ramp.
Where to start
| Your situation | Start here |
|---|---|
| First time, just want to try it | Quickstart (5 min) |
| What a project is, and which files to commit | Projects |
Need an apm.yml | ht config init |
Apply by name, from the manifest, or compile local .apm/ | Apply |
Cloned a repo that already has apm.yml | Install (ht install) |
Resolve dependencies.mcp registry identities | MCP Registry identities (ht install --mcp / ht mcp) |
Preview resolved harnesses, or compile from apm.yml | Compile and targets (ht compile / ht targets) |
Git dependencies.apm (owner/repo, URL, path/ref), transitive walk, and lock replay | Apply git dependencies |
Hidden Unicode, lock SHA-256, apm-policy.yml, or a CI gate | Audit |
Parked hooks / bin/ / self-defined MCP, or ht approve | Executable trust |
| Adding a catalog plugin to an existing repo | Catalog |
You need the lockfile, --update, or plugin why | Lockfile |
You need a CycloneDX / SPDX inventory from apm.lock.yaml | Export a lockfile SBOM |
ht status --check reports drift after a git pull | Drift |
| You hit auth errors on a private org catalog | Cloud auth |
The consumer flow
The commands you'll use almost every day:
ht init # one-time per machine
ht plugin list --search foundation --remote-only
ht apply engineering-foundation # add / materialize a plugin
ht status . # inspect lock + snapshot driftCreate a starter manifest when you want apply-from-repo. Default teammate onboarding in a repo that already has apm.yml is ht install (the same loop as ht apply with no selector):
ht config init
ht install # resolve from apm.ymlThat's the loop. Search, apply, commit apm.lock.yaml (and apm.yml if you have one) plus harness files, restore with ht install on a fresh clone.
Recommended reading order
- Projects —
apm.yml,apm.lock.yaml,environmentsmapping. ht config init— write the starter manifest.- Apply — selector, no-selector from
apm.yml, or local.apm/primitives. - Install —
ht install, the same no-selector loop; default teammate onboarding. - MCP Registry identities —
dependencies.mcpregistry strings,ht install --mcp,ht mcp search|list|show|install. - Compile and targets —
ht compile(named apply-from-manifest) andht targets(resolved harness preview). - Apply git dependencies — git
dependencies.apm, transitive walk, lock replay. - Audit —
ht audit, Unicode on apply, lock SHA-256,apm-policy.yml. - Executable trust — opt-in
executables:gate,ht approve/ht deny, lockexec_status. - Lockfile — pins,
--update,plugin why. - Export a lockfile SBOM —
ht lock export, CycloneDX / SPDX inventory. - Drift —
status --check, snapshots, revert. - Stop here unless you hit catalog search or Cloud auth above.
Author-curious?
If you want to publish a plugin others can apply, switch to the author ramp. The plugins you build there apply with the same ht apply command everyone here is running.
Cloud for teams?
Org catalogs, immutable versions, and ht auth login live on the Cloud ramp. Consumer commands are unchanged when you point at a private org — you'll authenticate first, then search and apply as usual.