-
Notifications
You must be signed in to change notification settings - Fork 234
[FEATURE] Support plugin root bin/ for marketplace_plugin packages #1544
Copy link
Copy link
Closed
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.area/marketplacemarketplace.json schema, federation, authoring suite, source parity.marketplace.json schema, federation, authoring suite, source parity.status/acceptedDirection approved, safe to start work.Direction approved, safe to start work.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/shepherdingActively being driven by an APM shepherd runActively being driven by an APM shepherd runstatus/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.area/marketplacemarketplace.json schema, federation, authoring suite, source parity.marketplace.json schema, federation, authoring suite, source parity.status/acceptedDirection approved, safe to start work.Direction approved, safe to start work.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/shepherdingActively being driven by an APM shepherd runActively being driven by an APM shepherd runstatus/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Done
Is your feature request related to a problem? Please describe.
Yes.
apm installdeploys skills frommarketplace_pluginpackages, but it does not deploy or expose the package rootbin/directory.This breaks skills that rely on helper executables shipped in
bin/.Example:
Observed:
Runtime failure:
Claude Code's plugin documentation defines
bin/as a plugin-root directory whose executables are added to the Bash tool'sPATHwhile the plugin is enabled:So a plugin that works when installed via
claude plugin installcan fail when installed viaapm install.Describe the solution you'd like
For
marketplace_pluginpackages, apm should preserve the Claude Code pluginbin/contract:bin/directory.bin/available on the Bash tool'sPATH.bin/path inapm.lock.yaml.The exact on-disk location can follow apm's deployment model, but executables under plugin-root
bin/should be invokable as bare commands from Bash tool calls.Describe alternatives you've considered
SKILL.md, but this makes deterministic helper logic harder to test and maintain.~/.local/bin, but that depends on apm cache/deployment internals.Additional context
apm.lock.yamlconfirms thatbin/is currently absent fromdeployed_files:This makes apm-managed
marketplace_pluginpackages less compatible with Claude Code's native plugin behavior.