agentbundle 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentbundle-0.3.1/PKG-INFO +81 -0
- agentbundle-0.3.1/README.md +63 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/catalogue.py +3 -2
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/config.py +1 -1
- agentbundle-0.3.1/agentbundle.egg-info/PKG-INFO +81 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/pyproject.toml +2 -2
- agentbundle-0.3.0/PKG-INFO +0 -37
- agentbundle-0.3.0/README.md +0 -19
- agentbundle-0.3.0/agentbundle.egg-info/PKG-INFO +0 -37
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/__main__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/pack.schema.json +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/main.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/self_host.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_claude_code.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_codex.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_copilot.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_cursor.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_gemini.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_kiro.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_build_ships_seeds.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_contract.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_contract_scope.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_contract_v07.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_contract_v08.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_end_to_end_build.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_lint_packs.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_pack_schema.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_pack_schema_install.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_pipeline.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_projections_merge_json.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_scope_rails.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_security.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_self_host_check.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_shared_libs_projection.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_shipped_packs_v07_declarations.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_shipped_packs_v08_declarations.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_user_libs_projection.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_validate.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/cli.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/install.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/commands/validate.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/render.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/safety.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/scope.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/user_config.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/version.py +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle.egg-info/SOURCES.txt +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.3.0 → agentbundle-0.3.1}/setup.cfg +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentbundle
|
|
3
|
+
Version: 0.3.1
|
|
4
|
+
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
|
+
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
|
+
License: Apache-2.0 OR MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/eugenelim/agent-ready-repo
|
|
8
|
+
Project-URL: Source, https://github.com/eugenelim/agent-ready-repo
|
|
9
|
+
Project-URL: Documentation, https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/install-agentbundle-from-clone.md
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# agentbundle
|
|
20
|
+
|
|
21
|
+
[](https://pypi.org/project/agentbundle/)
|
|
22
|
+
[](https://pypi.org/project/agentbundle/)
|
|
23
|
+
[](https://github.com/eugenelim/agent-ready-repo#license)
|
|
24
|
+
|
|
25
|
+
**The installer for [agent-ready-repo](https://github.com/eugenelim/agent-ready-repo).** Think npm, but for the skills, subagents, and hooks your coding agent runs on.
|
|
26
|
+
|
|
27
|
+
`agentbundle` installs packs of agent primitives into your repo or your home directory. It projects each primitive into the layout every agent expects. One pack. One command. Every major agent.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install agentbundle
|
|
31
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
That lands `core`, the flagship pack and the loop itself, in your repo. Claude Code, Codex, Cursor, Copilot, Gemini, and Kiro all read it.
|
|
35
|
+
|
|
36
|
+
## Common commands
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# See what's in a catalogue
|
|
40
|
+
agentbundle list-packs git+https://github.com/eugenelim/agent-ready-repo
|
|
41
|
+
|
|
42
|
+
# Install the flagship loop into this repo
|
|
43
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
44
|
+
|
|
45
|
+
# Install a pack at user scope, so it follows you across every project
|
|
46
|
+
agentbundle install --pack research git+https://github.com/eugenelim/agent-ready-repo --scope user
|
|
47
|
+
|
|
48
|
+
# Preview an install without writing a file
|
|
49
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo --dry-run
|
|
50
|
+
|
|
51
|
+
# Upgrade a pack; it reports the .upstream files you need to reconcile
|
|
52
|
+
agentbundle upgrade --pack core --to 0.4.0 git+https://github.com/eugenelim/agent-ready-repo
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
A catalogue is a git URL or a local path. Installs auto-detect your agent; pass `--adapter` to override.
|
|
56
|
+
|
|
57
|
+
## Build your own catalogue
|
|
58
|
+
|
|
59
|
+
`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:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
my-pack/
|
|
63
|
+
pack.toml # name, version, adapter-contract, install scope
|
|
64
|
+
.apm/
|
|
65
|
+
skills/<name>/SKILL.md # one folder per skill
|
|
66
|
+
agents/<name>.md # subagents
|
|
67
|
+
hooks/<name>.py # lifecycle hooks
|
|
68
|
+
seeds/ # files scaffolded into the adopter repo
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
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.
|
|
72
|
+
|
|
73
|
+
See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/author-a-skill.md).
|
|
74
|
+
|
|
75
|
+
## Credentials
|
|
76
|
+
|
|
77
|
+
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
|
|
78
|
+
|
|
79
|
+
## Learn more
|
|
80
|
+
|
|
81
|
+
The full story — the loop, the reviewers, the pack catalogue — is in the [agent-ready-repo README](https://github.com/eugenelim/agent-ready-repo#readme).
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# agentbundle
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/agentbundle/)
|
|
4
|
+
[](https://pypi.org/project/agentbundle/)
|
|
5
|
+
[](https://github.com/eugenelim/agent-ready-repo#license)
|
|
6
|
+
|
|
7
|
+
**The installer for [agent-ready-repo](https://github.com/eugenelim/agent-ready-repo).** Think npm, but for the skills, subagents, and hooks your coding agent runs on.
|
|
8
|
+
|
|
9
|
+
`agentbundle` installs packs of agent primitives into your repo or your home directory. It projects each primitive into the layout every agent expects. One pack. One command. Every major agent.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pip install agentbundle
|
|
13
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
That lands `core`, the flagship pack and the loop itself, in your repo. Claude Code, Codex, Cursor, Copilot, Gemini, and Kiro all read it.
|
|
17
|
+
|
|
18
|
+
## Common commands
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# See what's in a catalogue
|
|
22
|
+
agentbundle list-packs git+https://github.com/eugenelim/agent-ready-repo
|
|
23
|
+
|
|
24
|
+
# Install the flagship loop into this repo
|
|
25
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
26
|
+
|
|
27
|
+
# Install a pack at user scope, so it follows you across every project
|
|
28
|
+
agentbundle install --pack research git+https://github.com/eugenelim/agent-ready-repo --scope user
|
|
29
|
+
|
|
30
|
+
# Preview an install without writing a file
|
|
31
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo --dry-run
|
|
32
|
+
|
|
33
|
+
# Upgrade a pack; it reports the .upstream files you need to reconcile
|
|
34
|
+
agentbundle upgrade --pack core --to 0.4.0 git+https://github.com/eugenelim/agent-ready-repo
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
A catalogue is a git URL or a local path. Installs auto-detect your agent; pass `--adapter` to override.
|
|
38
|
+
|
|
39
|
+
## Build your own catalogue
|
|
40
|
+
|
|
41
|
+
`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:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
my-pack/
|
|
45
|
+
pack.toml # name, version, adapter-contract, install scope
|
|
46
|
+
.apm/
|
|
47
|
+
skills/<name>/SKILL.md # one folder per skill
|
|
48
|
+
agents/<name>.md # subagents
|
|
49
|
+
hooks/<name>.py # lifecycle hooks
|
|
50
|
+
seeds/ # files scaffolded into the adopter repo
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
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.
|
|
54
|
+
|
|
55
|
+
See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/author-a-skill.md).
|
|
56
|
+
|
|
57
|
+
## Credentials
|
|
58
|
+
|
|
59
|
+
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
|
|
60
|
+
|
|
61
|
+
## Learn more
|
|
62
|
+
|
|
63
|
+
The full story — the loop, the reviewers, the pack catalogue — is in the [agent-ready-repo README](https://github.com/eugenelim/agent-ready-repo#readme).
|
|
@@ -134,13 +134,14 @@ def _github_archive_url(owner: str, repo: str, ref: str) -> str:
|
|
|
134
134
|
|
|
135
135
|
def _fetch_and_extract(url: str, dest: Path) -> None:
|
|
136
136
|
try:
|
|
137
|
-
|
|
137
|
+
# B310: constant github.com archive base assembled from parsed owner/repo/ref.
|
|
138
|
+
with urllib.request.urlopen(url) as resp: # nosec B310
|
|
138
139
|
with tarfile.open(fileobj=resp, mode="r|gz") as tf:
|
|
139
140
|
# filter="data" rejects unsafe members (absolute paths, ..
|
|
140
141
|
# links, devices, setuid bits) — Python 3.12+ default but
|
|
141
142
|
# explicit for 3.11 compatibility and to silence the 3.14
|
|
142
143
|
# DeprecationWarning. Path-jail is belt; this is braces.
|
|
143
|
-
tf.extractall(path=dest, filter="data")
|
|
144
|
+
tf.extractall(path=dest, filter="data")
|
|
144
145
|
except urllib.error.URLError as exc:
|
|
145
146
|
raise CatalogueError(
|
|
146
147
|
f"Failed to fetch catalogue archive: {url} — {exc.reason}"
|
|
@@ -479,7 +479,7 @@ def finding_id_for(
|
|
|
479
479
|
contain ``/``.
|
|
480
480
|
"""
|
|
481
481
|
raw = f"{pack}:{kind}:{':'.join(sorted(source_paths))}:{':'.join(sorted(dest_paths))}"
|
|
482
|
-
digest = hashlib.sha1(raw.encode("utf-8")).hexdigest()[:8]
|
|
482
|
+
digest = hashlib.sha1(raw.encode("utf-8"), usedforsecurity=False).hexdigest()[:8]
|
|
483
483
|
return f"{pack}/{kind}:{digest}"
|
|
484
484
|
|
|
485
485
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentbundle
|
|
3
|
+
Version: 0.3.1
|
|
4
|
+
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
|
+
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
|
+
License: Apache-2.0 OR MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/eugenelim/agent-ready-repo
|
|
8
|
+
Project-URL: Source, https://github.com/eugenelim/agent-ready-repo
|
|
9
|
+
Project-URL: Documentation, https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/install-agentbundle-from-clone.md
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# agentbundle
|
|
20
|
+
|
|
21
|
+
[](https://pypi.org/project/agentbundle/)
|
|
22
|
+
[](https://pypi.org/project/agentbundle/)
|
|
23
|
+
[](https://github.com/eugenelim/agent-ready-repo#license)
|
|
24
|
+
|
|
25
|
+
**The installer for [agent-ready-repo](https://github.com/eugenelim/agent-ready-repo).** Think npm, but for the skills, subagents, and hooks your coding agent runs on.
|
|
26
|
+
|
|
27
|
+
`agentbundle` installs packs of agent primitives into your repo or your home directory. It projects each primitive into the layout every agent expects. One pack. One command. Every major agent.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install agentbundle
|
|
31
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
That lands `core`, the flagship pack and the loop itself, in your repo. Claude Code, Codex, Cursor, Copilot, Gemini, and Kiro all read it.
|
|
35
|
+
|
|
36
|
+
## Common commands
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# See what's in a catalogue
|
|
40
|
+
agentbundle list-packs git+https://github.com/eugenelim/agent-ready-repo
|
|
41
|
+
|
|
42
|
+
# Install the flagship loop into this repo
|
|
43
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo
|
|
44
|
+
|
|
45
|
+
# Install a pack at user scope, so it follows you across every project
|
|
46
|
+
agentbundle install --pack research git+https://github.com/eugenelim/agent-ready-repo --scope user
|
|
47
|
+
|
|
48
|
+
# Preview an install without writing a file
|
|
49
|
+
agentbundle install --pack core git+https://github.com/eugenelim/agent-ready-repo --dry-run
|
|
50
|
+
|
|
51
|
+
# Upgrade a pack; it reports the .upstream files you need to reconcile
|
|
52
|
+
agentbundle upgrade --pack core --to 0.4.0 git+https://github.com/eugenelim/agent-ready-repo
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
A catalogue is a git URL or a local path. Installs auto-detect your agent; pass `--adapter` to override.
|
|
56
|
+
|
|
57
|
+
## Build your own catalogue
|
|
58
|
+
|
|
59
|
+
`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:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
my-pack/
|
|
63
|
+
pack.toml # name, version, adapter-contract, install scope
|
|
64
|
+
.apm/
|
|
65
|
+
skills/<name>/SKILL.md # one folder per skill
|
|
66
|
+
agents/<name>.md # subagents
|
|
67
|
+
hooks/<name>.py # lifecycle hooks
|
|
68
|
+
seeds/ # files scaffolded into the adopter repo
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
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.
|
|
72
|
+
|
|
73
|
+
See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/author-a-skill.md).
|
|
74
|
+
|
|
75
|
+
## Credentials
|
|
76
|
+
|
|
77
|
+
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
|
|
78
|
+
|
|
79
|
+
## Learn more
|
|
80
|
+
|
|
81
|
+
The full story — the loop, the reviewers, the pack catalogue — is in the [agent-ready-repo README](https://github.com/eugenelim/agent-ready-repo#readme).
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agentbundle"
|
|
7
|
-
version = "0.3.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.3.1"
|
|
8
|
+
description = "npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent."
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
dependencies = []
|
|
11
11
|
authors = [{ name = "eugenelim", email = "eugenelim@users.noreply.github.com" }]
|
agentbundle-0.3.0/PKG-INFO
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: agentbundle
|
|
3
|
-
Version: 0.3.0
|
|
4
|
-
Summary: Reference CLI and distribution pipeline for the agent-ready-repo adapter contract.
|
|
5
|
-
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
|
-
License: Apache-2.0 OR MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/eugenelim/agent-ready-repo
|
|
8
|
-
Project-URL: Source, https://github.com/eugenelim/agent-ready-repo
|
|
9
|
-
Project-URL: Documentation, https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/install-agentbundle-from-clone.md
|
|
10
|
-
Classifier: Development Status :: 4 - Beta
|
|
11
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
-
Requires-Python: >=3.11
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
|
|
19
|
-
# agentbundle
|
|
20
|
-
|
|
21
|
-
Runtime library and reference CLI for the
|
|
22
|
-
[agent-ready-repo](https://github.com/eugenelim/agent-ready-repo) adapter
|
|
23
|
-
contract. Ships the `agentbundle` console script — install, validate,
|
|
24
|
-
adapt, and inspect packs — plus the build pipeline (`agentbundle.build`)
|
|
25
|
-
that projects pack sources into adapter-shaped trees.
|
|
26
|
-
|
|
27
|
-
As of 0.2.0 the `agentbundle.credentials` module that earlier releases
|
|
28
|
-
(0.1.x) exposed has been removed — `agentbundle` no longer ships a
|
|
29
|
-
credential-resolution module. Since RFC-0023, `auth: creds` consumers
|
|
30
|
-
resolve credentials through the standalone, pip-installable `credbroker`
|
|
31
|
-
library, imported in-process (`from credbroker import …`); it replaced the
|
|
32
|
-
build-projected `credentials_shim` sibling, which now survives only as the
|
|
33
|
-
`sso-broker` companion. See the `credbroker` package, RFC-0023, and this
|
|
34
|
-
package's `CHANGELOG.md` for the migration history.
|
|
35
|
-
|
|
36
|
-
See the [top-level README](https://github.com/eugenelim/agent-ready-repo#readme)
|
|
37
|
-
for install routes, the pack catalogue, and the adapter contract.
|
agentbundle-0.3.0/README.md
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# agentbundle
|
|
2
|
-
|
|
3
|
-
Runtime library and reference CLI for the
|
|
4
|
-
[agent-ready-repo](https://github.com/eugenelim/agent-ready-repo) adapter
|
|
5
|
-
contract. Ships the `agentbundle` console script — install, validate,
|
|
6
|
-
adapt, and inspect packs — plus the build pipeline (`agentbundle.build`)
|
|
7
|
-
that projects pack sources into adapter-shaped trees.
|
|
8
|
-
|
|
9
|
-
As of 0.2.0 the `agentbundle.credentials` module that earlier releases
|
|
10
|
-
(0.1.x) exposed has been removed — `agentbundle` no longer ships a
|
|
11
|
-
credential-resolution module. Since RFC-0023, `auth: creds` consumers
|
|
12
|
-
resolve credentials through the standalone, pip-installable `credbroker`
|
|
13
|
-
library, imported in-process (`from credbroker import …`); it replaced the
|
|
14
|
-
build-projected `credentials_shim` sibling, which now survives only as the
|
|
15
|
-
`sso-broker` companion. See the `credbroker` package, RFC-0023, and this
|
|
16
|
-
package's `CHANGELOG.md` for the migration history.
|
|
17
|
-
|
|
18
|
-
See the [top-level README](https://github.com/eugenelim/agent-ready-repo#readme)
|
|
19
|
-
for install routes, the pack catalogue, and the adapter contract.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: agentbundle
|
|
3
|
-
Version: 0.3.0
|
|
4
|
-
Summary: Reference CLI and distribution pipeline for the agent-ready-repo adapter contract.
|
|
5
|
-
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
|
-
License: Apache-2.0 OR MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/eugenelim/agent-ready-repo
|
|
8
|
-
Project-URL: Source, https://github.com/eugenelim/agent-ready-repo
|
|
9
|
-
Project-URL: Documentation, https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/how-to/install-agentbundle-from-clone.md
|
|
10
|
-
Classifier: Development Status :: 4 - Beta
|
|
11
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
-
Requires-Python: >=3.11
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
|
|
19
|
-
# agentbundle
|
|
20
|
-
|
|
21
|
-
Runtime library and reference CLI for the
|
|
22
|
-
[agent-ready-repo](https://github.com/eugenelim/agent-ready-repo) adapter
|
|
23
|
-
contract. Ships the `agentbundle` console script — install, validate,
|
|
24
|
-
adapt, and inspect packs — plus the build pipeline (`agentbundle.build`)
|
|
25
|
-
that projects pack sources into adapter-shaped trees.
|
|
26
|
-
|
|
27
|
-
As of 0.2.0 the `agentbundle.credentials` module that earlier releases
|
|
28
|
-
(0.1.x) exposed has been removed — `agentbundle` no longer ships a
|
|
29
|
-
credential-resolution module. Since RFC-0023, `auth: creds` consumers
|
|
30
|
-
resolve credentials through the standalone, pip-installable `credbroker`
|
|
31
|
-
library, imported in-process (`from credbroker import …`); it replaced the
|
|
32
|
-
build-projected `credentials_shim` sibling, which now survives only as the
|
|
33
|
-
`sso-broker` companion. See the `credbroker` package, RFC-0023, and this
|
|
34
|
-
package's `CHANGELOG.md` for the migration history.
|
|
35
|
-
|
|
36
|
-
See the [top-level README](https://github.com/eugenelim/agent-ready-repo#readme)
|
|
37
|
-
for install routes, the pack catalogue, and the adapter contract.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/_data/plugin-manifest.derived.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/gemini_command_toml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/projections/merge_into_agent_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_adapter_root_bins_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_direct_directory_cleanup.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py
RENAMED
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_plugin_manifest_schema.py
RENAMED
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_projections_merge_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_shared_libs_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.3.0 → agentbundle-0.3.1}/agentbundle/build/tests/test_user_libs_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|