-
Notifications
You must be signed in to change notification settings - Fork 233
[FEATURE] Support Local Directory Deployment via local-dir / runtime Target for Agent-to-Agent Dependency Management #1703
Copy link
Copy link
Open
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.priority/lowAccepted but not time-sensitiveAccepted but not time-sensitivestatus/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.priority/lowAccepted but not time-sensitiveAccepted but not time-sensitivestatus/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Todo
Problem Statement / Background
Currently, APM (Agent Package Manager) is primarily designed with a "Developer Tooling" mindset. The
manifest(apm.yml) defines dependencies (prompts, skills, MCP servers), and adapters (likeclaude.py,cursor.py) distribute these assets into the user's global configuration directories or local IDE hidden folders (e.g.,.claude/). In this paradigm, the consumer of the APM package is always an AI developer tool or IDE extension.However, when developers are building an Enterprise AI Agent System or Agent Harness (e.g., server-side workflows), they often face a "Shared Library" problem. They want to decouple and reuse standard corporate skills or third-party tools maintained by other teams.
Currently, to bundle these shared skills into the runtime package of the Agent itself, developers have to manually copy files or clone git submodules into their project's
skills/ortools/directory, which breaks the very dependency management value that APM provides.Proposed Solution
We propose introducing a
runtime(orlocal-path) deployment target inapm.yml.This switches the consumer of the APM package from Dev Tooling to Application Runtime Assets. When running
apm install, APM should be able to resolve these shared skills and copy/symlink them directly into a specified directory inside the current active project codebase, so they can be bundled and distributed together with the custom Agent application.Detailed Design / Usage Example
1. Manifest Specification (
apm.yml)We can extend the
targetsschema to accept a local directory mapping, or introduce a dedicatedruntimeblock:2. Adapter Layer Evolution
Similar to how
src/apm_cli/adapters/client/claude.pymaps files to.claude/tasks/, a newruntimeorlocaladapter can be introduced.output_dir(resolved relative to theapm.ymlroot) and unpacks the target.json/.py/.tsskill definitions directly into that folder.Alternative Approaches Considered
apm-policy.yml).apm pack+ custom bash scripts to move files, but standardizing this inside APM prevents everyone from reinventing the wheel for agent-to-agent dependency resolution.Additional Context
This feature would bridge the gap between "AI-assisted coding" and "AI Agent Application Development", positioning APM as the definitive package manager not just for developers' local machines, but for autonomous production agent systems.