npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
Project description
agentbundle
The installer for agent-ready-repo. Think npm, but for the skills, subagents, and hooks your coding agent runs on. One pack, one command, every major agent — Claude Code, Codex, Cursor, Copilot, Gemini, and Kiro (both the CLI and the IDE).
Quick start
pip install agentbundle
Install into a repo — so everyone who clones it gets the pack. core is the flagship pack, the loop itself:
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
It lands in the repo's agent config — subagents and skills included — and you commit it like any other project file. This is the default scope: the pack belongs to the project and the whole team.
Install for yourself, everywhere — so a pack follows you across every project, with no per-repo setup:
agentbundle install --pack research git+https://github.com/eugenelim/agent-ready-repo --scope user
User-scope packs land in your home directory, not the repo — they're yours, not the team's, and they're there in every project you open.
A catalogue is a git URL or a local path, and the install auto-detects your agent (--adapter overrides).
More commands
# See what a catalogue offers
agentbundle list-packs git+https://github.com/eugenelim/agent-ready-repo
agentbundle list-profiles git+https://github.com/eugenelim/agent-ready-repo
# Install a whole curated profile — a single-scope set of packs — in one command
agentbundle install --profile inception git+https://github.com/eugenelim/agent-ready-repo
# Preview any install without writing a file
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo --dry-run
# Upgrade to the version the catalogue ships — shows installed → target, asks first
agentbundle upgrade --pack core git+https://github.com/eugenelim/agent-ready-repo
agentbundle upgrade --pack core git+https://github.com/eugenelim/agent-ready-repo --yes # skip the prompt (CI)
# Uninstall — previews remove (Tier-1) vs keep (your edits), asks first
agentbundle uninstall --pack core --dry-run
agentbundle uninstall --pack core --yes
A profile is a catalogue-curated, single-scope set of packs you install in one command — it declares its own scope, so --scope doesn't apply. Upgrade takes no version — the target is whatever the catalogue you point at declares; to pin a past version, point the catalogue at that git ref. Install a pack that's already there and agentbundle offers to upgrade it instead (--yes runs it straight away).
Mutating commands ask first. uninstall, the --force cleanup, and the upgrade offer all preview what they'll do and confirm before touching anything; --dry-run previews without writing, and --yes skips the prompt for non-interactive / CI use (where, without it, they refuse rather than hang).
Build your own catalogue
agentbundle isn't tied to the agent-ready-repo catalogue. Any repo that lays its packs out the same way can use it. A pack is a directory:
my-pack/
pack.toml # name, version, adapter-contract, install scope,
# plus rich metadata (license, maintainers, links,
# categories, keywords) and a README pointer
.claude-plugin/
plugin.json # Claude Code plugin manifest (hand-authored)
README.md # the pack's portable doc — projected with the pack
.apm/ # primitives — projected by the build pipeline
skills/<name>/
SKILL.md # the skill body; one folder per skill
references/ # progressive-disclosure docs, loaded on demand
assets/ # templates the skill copies into the repo
agents/<name>.md # subagents
hooks/<name>.py # lifecycle hooks
seeds/ # files scaffolded into the adopter repo
pack.toml is the single source of truth for a pack's metadata. Declare
license, [[pack.maintainers]], [pack.links], categories, and
keywords once; the build projects the cleanly-mappable subset — plus the
pack's README.md — into each distribution route's manifest (the plugin.json
/ marketplace.json entry), so the catalogue describes each pack richly rather
than with a single sentence. Extra fields stay in pack.toml; the projection
is deliberately lossy per tool.
Point a catalogue URI (a git URL or a local path) at the repo that holds your packs. Then validate a pack against the adapter contract, render it to preview the projection, and install it into a target repo. scaffold drops a pack's seeds into a fresh directory to start from. The build pipeline (agentbundle.build) is the same engine make build runs.
See the pack layout reference and authoring a skill.
Credentials
agentbundle doesn't resolve secrets. Credentialed skills use credbroker, a standalone resolver that keeps cleartext out of the model's reach.
Learn more
The full story — the loop, the reviewers, the pack catalogue — is in the agent-ready-repo README.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentbundle-0.7.0.tar.gz.
File metadata
- Download URL: agentbundle-0.7.0.tar.gz
- Upload date:
- Size: 362.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe4b26e0401089cbbfc5c029b2d2db4f3d67e5fe1f98608c7fb9232eeb77a381
|
|
| MD5 |
01648b912bb87cff059e225e5f3644b0
|
|
| BLAKE2b-256 |
874b0d222881e24aa6f062896fd4dc3cb5d2503e1fde798e6c3957acb9edeeb7
|
Provenance
The following attestation bundles were made for agentbundle-0.7.0.tar.gz:
Publisher:
release-agentbundle.yml on eugenelim/agent-ready-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentbundle-0.7.0.tar.gz -
Subject digest:
fe4b26e0401089cbbfc5c029b2d2db4f3d67e5fe1f98608c7fb9232eeb77a381 - Sigstore transparency entry: 1934439449
- Sigstore integration time:
-
Permalink:
eugenelim/agent-ready-repo@912a719b849a7557b2525adea4b760e9aa7530f0 -
Branch / Tag:
refs/tags/agentbundle-v0.7.0 - Owner: https://github.com/eugenelim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-agentbundle.yml@912a719b849a7557b2525adea4b760e9aa7530f0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentbundle-0.7.0-py3-none-any.whl.
File metadata
- Download URL: agentbundle-0.7.0-py3-none-any.whl
- Upload date:
- Size: 441.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
429e768ead60c9bda43e7ffe7593f81d29451811604ea811c52e76c12afda4ad
|
|
| MD5 |
46c529d157ed68dca31f9e3b8f8a5837
|
|
| BLAKE2b-256 |
704fda5c4e06812e03a48039dab0f93e9184a1698445c8be055a728176a34af1
|
Provenance
The following attestation bundles were made for agentbundle-0.7.0-py3-none-any.whl:
Publisher:
release-agentbundle.yml on eugenelim/agent-ready-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentbundle-0.7.0-py3-none-any.whl -
Subject digest:
429e768ead60c9bda43e7ffe7593f81d29451811604ea811c52e76c12afda4ad - Sigstore transparency entry: 1934439461
- Sigstore integration time:
-
Permalink:
eugenelim/agent-ready-repo@912a719b849a7557b2525adea4b760e9aa7530f0 -
Branch / Tag:
refs/tags/agentbundle-v0.7.0 - Owner: https://github.com/eugenelim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-agentbundle.yml@912a719b849a7557b2525adea4b760e9aa7530f0 -
Trigger Event:
push
-
Statement type: