The package manager for AI agents
Package the building blocks of agent systems once, version them cleanly, and make them portable across runtimes, frameworks, and ecosystems.
brew tap agentpm-dev/tap
brew install agentpmscoop bucket add agentpm https://github.com/agentpm-dev/scoop-bucket
scoop install agentpmagentpm install @ns/toolname@0.1.0agentpm install @ns/agentname@0.1.0agentpm run @ns/toolname --input '{"text":"hello world"}'const agent = await loadAgent('@ns/agentname@0.1.0');
const toolRef = agent.resolvedTools[0];
const tool = await load(`${toolRef.name}@${toolRef.version}`);agent = load_agent("@ns/agentname@0.1.0")
tool_ref = agent['resolved_tools'][0]
tool = load(f"{tool_ref['name']}@{tool_ref['version']}")Portable capabilities
Start with the concrete actions your agent needs to take. Tools are the executable building blocks you compose into larger systems.
agentpm install @ns/toolname@0.1.0import { load } from '@agentpm/sdk';
const tool = await load('@ns/toolname@0.1.0');from agentpm import load
tool = load("@ns/toolname@0.1.0")Fetch a Wikipedia URL and return title, text, and image URLs.
Uppercases text and (optionally) summarizes, extracts keywords, and estimates sentiment.
Post or update Slack messages using a compact action surface for agent notifications.
Extract text from PDFs, either from a URL or base64-encoded PDF data.
Translate text into a target language using LLM.
Apply deterministic transformation operations to JSON objects and arrays.
Composed orchestration
Once you have the right building blocks, package the orchestration itself. Agents capture prompts, examples, and tool graphs as a reusable unit.
agentpm install @ns/agentname@0.1.0import { loadAgent } from '@agentpm/sdk';
const agent = await loadAgent('@ns/agentname@0.1.0');from agentpm import load_agent
agent = load_agent("@ns/agentname@0.1.0")