Portable control plane for skills, plugins, MCP servers, and policy across coding agents — with drift detection and an optional personal overlay for what should stay private on your machine.
Requires PowerShell 7+ (pwsh) on Windows, macOS, or Linux. Node 18+ is optional for the CLI wrapper.
npm install -g . # optional
npx agenthub init # local overlay + profile from examples
npx agenthub validate
npx agenthub sync # read-only drift audit
# npx agenthub sync --applyOr:
pwsh -NoProfile -File .\scripts\AgentHub.ps1 init
pwsh -NoProfile -File .\scripts\AgentHub.ps1 validate
pwsh -NoProfile -File .\scripts\AgentHub.ps1 syncWalkthrough: docs/development/quickstart.md.
- One desired-state registry (
registry/) for capabilities, hosts, and MCPs. - Validate → audit → apply (
scripts/AgentHub.ps1/npx agenthub). - Host destinations as
{userHome}/{localData}/{roamingConfig}templates — docs/architecture/control-plane-modules.md. - Personal overlay (
overlays/personal.example/→overlays/personal/) for private capability ids. Core never imports those packages by default.AGENTHUB_OVERLAY=offloads the public graph only. - Portable policy in
policy-core.md. Machine roots in gitignoredagenthub.profile.json.
This is a host-neutral parity and policy plane — not only “sync files into every tool.”
packages/<name>/— canonical capability content.registry/capabilities.json— ownership and host exposure (visibility: privatestays behind the overlay).registry/mcps.json— shared MCPs via env/OAuth references, never credential values.registry/agents.json— host-native paths as portable templates..agents/plugins/marketplace.json— local plugin catalog;.claude-plugin/marketplace.jsonis the Claude-compatible projection.
Runtime output belongs under the OS local-data root (%LOCALAPPDATA%\AgentHub on Windows). Do not commit credentials, customer data, or generated media.
This repository may also carry a filled overlays/personal/ and compiled
global-agent-policy.md. Those are not part of a public-core export.
Public tree: github.com/shmindmaster/agenthub-core
Refresh a local export with:
pwsh -NoProfile -File .\scripts\Export-PublicCore.ps1 -Destination <empty-dir>
# or: npx agenthub export <empty-dir>The export does not push and does not change remote visibility.
pwsh -NoProfile -File .\scripts\Validate-AgentHub.ps1
pwsh -NoProfile -File .\scripts\Sync-AgentHub.ps1 -Audit -Validate
pwsh -NoProfile -File .\tests\Run-AllTests.ps1
pwsh -NoProfile -File .\scripts\Check-RepoStandard.ps1 -AllCurated knowledge: docs/. Contributing: CONTRIBUTING.md.