apache / apache/magpie

Consider delegating the packaging layer to microsoft/apm

Open
#518 3 comments 0 reactions 0 assignees View on GitHub
capability:platform enhancement family:setup
Dominant language
Python
Stars
92
Forks
92
Avg merge
1d 12h
Merged PRs (30d)
104

Description

### 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)](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 `). 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)

* https://github.com/microsoft/apm

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing /magpie-setup entry point and reviewing the referenced microsoft/apm interface, including apm.yml, apm.lock.yaml, and apm install --skill. Prototype the packaging handoff while preserving the guided wrapper and the listed out-of-scope behavior; done means the in-scope fetch, locking, deployment, namespacing, family selection, and drift behavior are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.