{"data":{"slug":"microsoft-apm","name":"apm","tagline":"Agent Package Manager","github_url":"https://github.com/microsoft/apm","owner":"microsoft","repo":"apm","owner_avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=4","primary_language":"Python","stars":3385,"forks":301,"topics":["ai-agents","claude-code","codex-cli","context-engineering","github-copilot","package-manager","prompt-engineering"],"archived":false,"github_pushed_at":"2026-07-25T17:28:17+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/microsoft-apm","markdown_url":"https://www.graphcanon.com/tools/microsoft-apm.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/microsoft-apm","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=microsoft-apm","description":"Agent Package Manager","homepage_url":"https://microsoft.github.io/apm/","license":"MIT","open_issues":164,"watchers":9,"ai_summary":"The Agent Package Manager is a tool for managing AI agent packages and dependencies.","readme_excerpt":"# APM – Agent Package Manager\n\n**An open-source, community-driven dependency manager for AI agents.**\n\nThink `package.json`, `requirements.txt`, or `Cargo.toml` — but for AI agent configuration.\n\nGitHub Copilot · Claude Code · Cursor · OpenCode · Codex · Gemini · Windsurf · Kiro\n\n**[Documentation](https://microsoft.github.io/apm/)** · **[Quick Start](https://microsoft.github.io/apm/getting-started/quick-start/)** · **[CLI Reference](https://microsoft.github.io/apm/reference/cli-commands/)** · **[Roadmap](https://github.com/orgs/microsoft/projects/2304)**\n\n---\n\n> **Portable by manifest. Secure by default. Governed by policy.**\n> One file describes every agent's context; one command reproduces it everywhere; one policy controls what an org will allow.\n\n## Why APM\n\nAI coding agents need context to be useful — standards, prompts, skills, plugins — but today every developer sets this up manually. Nothing is portable nor reproducible. There's no manifest for it.\n\n**APM fixes this.** Declare your project's agentic dependencies once in `apm.yml`, and every developer who clones your repo gets a fully configured agent setup in seconds — with transitive dependency resolution, just like npm or pip. It's also the first tool that lets you **author plugins** with a real dependency manager and export standard `plugin.json` packages.\n\n```yaml\n# apm.yml — ships with your project\nname: your-project\nversion: 1.0.0\ndependencies:\n  apm:\n    # Skills from any repository\n    - anthropics/skills/skills/frontend-design\n    # Plugins\n    - github/awesome-copilot/plugins/context-engineering\n    # Specific agent primitives from any repository\n    - github/awesome-copilot/agents/api-architect.agent.md\n    # A full APM package with instructions, skills, prompts, hooks...\n    - microsoft/apm-sample-package#v1.0.0\n  mcp:\n    # MCP servers -- installed into every detected client\n    - name: io.github.github/github-mcp-server\n      transport: http   # MCP transport name, not URL scheme -- connects over HTTPS\n```\n\n```bash\ngit clone <org/repo> && cd <repo>\napm install    # every agent is configured\n```\n\n**Coming from `npx skills add`?** Drop-in:\n\n```bash\napm install vercel-labs/agent-skills                            # whole bundle, like npx skills add\napm install vercel-labs/agent-skills --skill deploy-to-vercel   # one skill, persisted to apm.yml\n```\n\nSame install gesture. You also get a [manifest, lockfile, and reproducibility](https://microsoft.github.io/apm/reference/package-types/#skill-collection-skillsnameskillmd).\n\n**Zero-config Copilot:**\n\n```bash\napm compile -t copilot   # writes .github/copilot-instructions.md\n```\n\nOne command, no configuration -- VS Code and GitHub Copilot read the file automatically. APM dogfoods this target on its own repository.\n\n## The three promises\n\n### 1. Portable by manifest\n\nOne `apm.yml` describes every primitive your agents need — instructions, skills, prompts, agents, hooks, plugins, MCP servers — and `apm install` reproduces the exact same setup across every client on every machine. `apm.lock.yaml` pins the resolved tree the way `package-lock.json` does for npm.\n\n- **[One manifest for everything](https://microsoft.github.io/apm/reference/primitive-types/)** — declared once, deployed across Copilot, Claude, Cursor, OpenCode, Codex, Gemini, Windsurf, Kiro\n- **[Install from anywhere](https://microsoft.github.io/apm/guides/dependencies/)** — GitHub, GitLab, Bitbucket, Azure DevOps, GitHub Enterprise, Gitea, Gogs, any git host\n- **[Transitive dependencies](https://microsoft.github.io/apm/guides/dependencies/)** — packages can depend on packages; APM resolves the full tree\n- **[Author plugins](https://microsoft.github.io/apm/guides/plugins/)** — build Copilot, Claude, and Cursor plugins with dependency management, then export standard `plugin.json`\n- **[Marketplaces](https://microsoft.github.io/apm/guides/marketplaces/)** — install plugins from curated registries in one command, deployed across all targets and locked\n- **[Pack","github_created_at":"2025-09-18T13:45:22+00:00","created_at":"2026-07-11T11:58:01.50346+00:00","updated_at":"2026-07-28T06:00:36.372242+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"claude-code","name":"claude-code"},{"slug":"codex-cli","name":"codex-cli"},{"slug":"context-engineering","name":"context-engineering"},{"slug":"github-copilot","name":"github-copilot"},{"slug":"package-manager","name":"package-manager"},{"slug":"prompt-engineering","name":"prompt-engineering"}],"trust":{"provenance":{"is_fork":false,"github_id":1059472549,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-28T06:00:35.581Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":25,"days_since_push":2,"last_release_at":"2026-07-18T21:57:33Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:58:02.896Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-28T06:00:36.028Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-07-28T06:00:36.028Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-28T06:00:36.028Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-28T06:00:36.028Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["You focus on AI agent development with specific package needs","Your projects benefit from Python-based dependency management"],"when_not_to_use":["You prefer generic software or non-AI-specific package managers","Requirements include support for languages other than Python"],"source":"enrich:decision_facts","observed_at":"2026-07-16T23:20:44.002Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Agent Package Manager is specialized for managing AI agent packages and their dependencies using Python under MIT license."}]}}