What should happen
Prototype APM as the packaging layer behind the existing /magpie-setup entry point. Keep /magpie-setup as the guided wrapper, but let it call apm install for fetch, lock, deploy, and namespacing instead of the bespoke snapshot-and-symlink machinery.
In scope (APM would subsume)
- Snapshot fetch and the two lock files
- Multi-target deploy and
magpie- namespacing
- Family opt-in (maps onto
--skill / sub-packages; splitting into separate packages is not required)
- Drift detection
Why
setup reimplements most of a package manager by hand: a committed pin (.apache-magpie.lock), a per-machine lock, a gitignored snapshot (.apache-magpie/), multi-target deploy through a canonical .agents/skills/ plus relay symlinks, magpie- namespacing, version pinning, and drift detection. [microsoft/apm](https://github.com/microsoft/apm) already provides all of that: apm.yml + content-hashed apm.lock.yaml, native deploy to eight agents (Claude, Copilot, Cursor, Codex, Gemini, Windsurf, Kiro, OpenCode), git-ref/tag pinning, and per-skill selection (apm install … --skill <name>). Carrying our own resolver may be a cost we do not need.
Which layer
Other / unsure
Boundary conditions (optional)
No response
Out of scope (optional)
- Secure-agent setup (sandbox, clean-env wrapper, pinned tools)
post-checkout hook and worktree propagation
- Agentic overrides: the protocol is plain text in each
SKILL.md, and override files live in the adopter's own .apache-magpie-overrides/, which apm install never touches
References (optional)
What should happen
Prototype APM as the packaging layer behind the existing
/magpie-setupentry point. Keep/magpie-setupas the guided wrapper, but let it callapm installfor fetch, lock, deploy, and namespacing instead of the bespoke snapshot-and-symlink machinery.In scope (APM would subsume)
magpie-namespacing--skill/ sub-packages; splitting into separate packages is not required)Why
setupreimplements most of a package manager by hand: a committed pin (.apache-magpie.lock), a per-machine lock, a gitignored snapshot (.apache-magpie/), multi-target deploy through a canonical.agents/skills/plus relay symlinks,magpie-namespacing, version pinning, and drift detection. [microsoft/apm](https://github.com/microsoft/apm) already provides all of that:apm.yml+ content-hashedapm.lock.yaml, native deploy to eight agents (Claude, Copilot, Cursor, Codex, Gemini, Windsurf, Kiro, OpenCode), git-ref/tag pinning, and per-skill selection (apm install … --skill <name>). Carrying our own resolver may be a cost we do not need.Which layer
Other / unsure
Boundary conditions (optional)
No response
Out of scope (optional)
post-checkouthook and worktree propagationSKILL.md, and override files live in the adopter's own.apache-magpie-overrides/, whichapm installnever touchesReferences (optional)