Skip to content

apm plugin

Terminal window
apm plugin init [PROJECT_NAME] [-y] [--target TARGETS] [-v]
# Example
apm plugin init my-skill --yes

apm plugin init scaffolds a publishable plugin in the current directory: a plugin.json manifest plus an apm.yml carrying a devDependencies block. The result is a working tree you can commit, tag, and reference from a marketplace.

apm plugin is the noun-verb home for plugin-author workflows, mirroring apm marketplace for marketplace-author verbs. Today it ships a single verb — apm plugin init. Sibling verbs live under the same namespace as they ship.

The two common repo shapes for plugin authors — single-plugin (one plugin per repo) and aggregator (one repo that ships a marketplace plus the plugins it indexes) — are not gated by flags. They emerge from composing apm plugin init and apm marketplace init in the same working tree.

Scaffold a plugin authoring project. Writes plugin.json and an apm.yml with a devDependencies block in the current directory (or under PROJECT_NAME/ if provided).

Terminal window
apm plugin init
apm plugin init my-skill --yes
apm plugin init my-skill --target copilot,claude --yes
FlagDescription
PROJECT_NAMEOptional positional. If provided, scaffolds into a new subdirectory of that name; otherwise writes into the current directory.
--yes, -ySkip interactive prompts and use auto-detected defaults.
--targetComma-separated target list (e.g. copilot,claude,codex). Skips the target prompt and writes selections directly.
--verbose, -vShow detailed output.

If you’ve used apm init --plugin before, here’s the move: run apm plugin init instead. The generated files are byte-for-byte identical.

The legacy apm init --plugin flag still works and still produces the same output, but prints a deprecation warning on stderr:

[!] Deprecation: 'apm init --plugin' is deprecated. Use 'apm plugin init' instead.
Legacy flag will be removed in v0.16.

Migrate at your convenience before v0.16.

One repo, one plugin. Author publishes a git tag; consumers reference it as owner/repo@version.

Terminal window
mkdir my-skill && cd my-skill
apm plugin init --yes
git init && git add . && git commit -m "init"
git tag v0.1.0

One repo that ships a marketplace and the plugins it indexes side-by-side. Useful when you want one place to govern a small fleet of related plugins.

Terminal window
mkdir agents-hub && cd agents-hub
apm marketplace init --yes
apm plugin init review-bot --yes
apm plugin init lint-bot --yes

The top-level apm.yml carries the marketplace authoring config; each plugin lives in its own subdirectory with its own plugin.json and apm.yml.

  • apm marketplace — author and publish marketplaces that index your plugins.