Skip to content

Author and publish APM packages

You’re here because you want to author an APM package others can install. This is the producer ramp.

Five steps, in order. Each links to the page that owns it:

#StepWhat success looks like
1Author primitivesSkills, prompts, instructions, agents, hooks, commands, MCP under .apm/
2Compile your packageapm compile writes deterministic per-target output you can git-diff
3Preview and validateapm preview and apm view confirm what consumers will receive
4Pack a bundleapm pack produces a .tar.gz you can ship offline or to a marketplace
5Publish to a marketplaceOthers install your package with apm install <owner>/<repo>

You don’t need a marketplace to start. Step 4 is enough for internal teams; the marketplace step is for public discovery.

Your situationStart here
First time — want a working package end-to-endYour first package
You have primitives in .apm/ and need to test them locallyCompile your package
You’re about to ship — want to verify what consumers will seePreview and validate
You need to ship a single file to a customer / air-gapped envPack a bundle
You want a public marketplace listingPublish to a marketplace
Your package links into other packages and you hit broken refsPackage-relative links

A producer package is just a directory with:

my-package/
apm.yml # manifest -- who you are, what you depend on
.apm/
skills/ # primitives consumers can install
prompts/
instructions/
agents/
hooks/
README.md # rendered on the marketplace listing

apm compile deterministically transforms .apm/ into per-target output. apm pack zips the result. apm publish (via a marketplace adapter) lists it. There is no separate “build pipeline” — the CLI is the build pipeline.

Every package you publish here installs through the consumer ramp’s apm install command. Test that loop yourself: install your own package in a scratch repo before declaring it shipped. The preview page walks you through the dry-run.