microsoft/apm
Agent Package Manager
APM – エージェントパッケージマネージャー
概要
- AI駆動型コーディングエージェント(Copilot、Claude、Geminiなど)向けのオープンソース依存関係マネージャーです。
npmやpipのように動作しますが、マニフェスト(apm.yml)にはエージェントプリミティブ(スキル、プロンプト、プラグイン、MCPサーバー、エージェントパッケージ全体)をリストします。
中核となる考え方
- マニフェストによる移植性 – 1つの
apm.yml(およびロックファイル)でエージェントのコンテキストを完全に記述します。apm installを実行すると、どのマシンでもまったく同じセットアップが再現されます。 - デフォルトで安全 – パッケージは隠しUnicodeがスキャンされ、コンテンツハッシュが
apm.lock.yamlに保存され、apm auditコマンドでドリフトや侵害されたアセットを検出できます。 - ポリシーによるガバナンス – オプションの
apm-policy.ymlを使用すると、組織はソース、スコープ、プリミティブをホワイトリスト化でき、CI適用のためのGitHubルールセットと統合できます。
主な機能
- 推移的依存関係の解決 – パッケージは他のパッケージに依存でき、ロックファイルがツリー全体を固定します。
- プラグイン作成 – 適切な依存関係追跡を使用してCopilot/Claude/Cursorプラグインをビルドし、標準の
plugin.jsonをエクスポートします。 - マーケットプレイスサポート – 厳選されたレジストリから単一のコマンドでバンドルをインストールします。
- パッケージ化 –
apm packは、配布用のzipまたはスタンドアロンプラグインを作成します。 - CI/CD統合 – Microsoftが保守するGitHub Action(
microsoft/apm-action)が監査とロックファイルチェックを自動的に実行します。 - SBOMエクスポート – ロックファイルから直接CycloneDXまたはSPDXインベントリを生成します。
- MCP(Model Context Protocol)サーバー処理 – マニフェストでリモートコンテキストサーバーを宣言し、インストール時に明示的な信頼を強制します。
はじめに
# macOS(Homebrew)
brew install apm
# Linux/macOS(スクリプト)
curl -sSL https://aka.ms/apm-unix | sh
# Windows(PowerShell)
irm https://aka.ms/apm-windows | iex
その他のオプション:pip install apm-cli、WinGet、またはScoop。
典型的なワークフロー
# apm.yml – リポジトリに配置
name: my‑project
version: 1.0.0
dependencies:
apm:
- anthropics/skills/skills/frontend-design # スキルコレクション
- github/awesome-copilot/plugins/context-engineering
- microsoft/apm-sample-package#v1.0.0
mcp:
- name: io.github.github/github-mcp-server
transport: http
# リポジトリをクローンした後
apm install # エージェントコンテキストを解決、検証、書き込み
apm compile -t copilot # .github/copilot‑instructions.md を生成
apm audit # ドリフトやセキュリティ問題をチェック
誰が使うか
- 再現可能なスキルセットとプロンプトを必要とするAIコーディングアシスタントを構築するチーム。
- LLMエージェントが実行できる内容についてセキュリティとポリシーを強制したい企業。
- 正式なパッケージ形式と依存関係グラフを必要とするプラグイン開発者。
- デプロイ前にエージェント構成を検証する必要があるCIパイプライン。
プロジェクトの健全性
- Microsoftのコントリビューター(Daniel Meppiel、Sergio Sisternes)によって積極的に保守されています。
- ドキュメントサイト、クイックスタートガイド、ロードマップが提供されています。
- リリースはmacOS、Linux、Windows用のネイティブバイナリとして公開され、パッケージマネージャー(Homebrew、pip、WinGet、Scoop)も利用できます。
- コミュニティチャネル:Discussions、GitHub Action、ロードマッププロジェクト。
すべての情報はリポジトリのREADMEから直接取得されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト