agentbundle 0.19.0__tar.gz → 0.20.0__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.19.0 → agentbundle-0.20.0}/PKG-INFO +1 -1
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/pack.schema.json +24 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/cli.py +23 -0
- agentbundle-0.20.0/agentbundle/commands/docs.py +117 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/version.py +1 -1
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/PKG-INFO +1 -1
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/SOURCES.txt +1 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/pyproject.toml +1 -1
- {agentbundle-0.19.0 → agentbundle-0.20.0}/README.md +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/__main__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/catalogue.schema.json +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/_data/profile.schema.json +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/main.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/self-host.toml +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/self_host.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_claude_code.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_codex.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_copilot.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_cursor.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_gemini.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_kiro.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_architect_design_reviewer_projection.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_architect_design_reviewer_rubric_parity.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_build_ships_seeds.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_contract.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_contract_scope.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_contract_v07.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_contract_v08.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_end_to_end_build.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_lint_agents_md_diataxis_block.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_lint_agents_md_risk_block.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_lint_packs.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_pack_schema.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_pack_schema_install.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_pipeline.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_projectable_subset.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_projections_merge_json.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_scope_rails.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_security.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_self_host_check.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_self_host_fixture_guard.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shared_libs_projection.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shipped_packs_v07_declarations.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shipped_packs_v08_declarations.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_user_libs_projection.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_validate.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_writers_emit_lf.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/archive.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/config.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/lint.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/package.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/results.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/catalogue_tooling/verify.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/categories.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_package.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/install.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/list_installed.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/pack_evals.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/profile.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/commands/validate.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/config.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/render.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/safety.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/scope.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/statelock.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/user_config.py +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/setup.cfg +0 -0
- {agentbundle-0.19.0 → agentbundle-0.20.0}/tests/test_linear_primitive.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.20.0
|
|
4
4
|
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
5
|
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
6
|
License: Apache-2.0 OR MIT
|
|
@@ -199,6 +199,30 @@
|
|
|
199
199
|
"pattern": "^[^/].*"
|
|
200
200
|
}
|
|
201
201
|
},
|
|
202
|
+
"runtime-dependencies": {
|
|
203
|
+
"type": "array",
|
|
204
|
+
"description": "External runtime dependencies required by this pack's skills.",
|
|
205
|
+
"items": {
|
|
206
|
+
"type": "object",
|
|
207
|
+
"additionalProperties": false,
|
|
208
|
+
"required": ["ecosystem", "package"],
|
|
209
|
+
"properties": {
|
|
210
|
+
"ecosystem": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"enum": ["pypi", "npm", "cargo", "go", "homebrew", "apt", "system"]
|
|
213
|
+
},
|
|
214
|
+
"package": {"type": "string"},
|
|
215
|
+
"version": {"type": "string"},
|
|
216
|
+
"optional": {"type": "boolean", "default": false},
|
|
217
|
+
"skills": {
|
|
218
|
+
"type": "array",
|
|
219
|
+
"items": {"type": "string"}
|
|
220
|
+
},
|
|
221
|
+
"install": {"type": "string"},
|
|
222
|
+
"note": {"type": "string"}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
202
226
|
"layout": {
|
|
203
227
|
"type": "object",
|
|
204
228
|
"additionalProperties": false,
|
|
@@ -328,6 +328,29 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
328
328
|
)
|
|
329
329
|
sp.set_defaults(func=_lazy("show"))
|
|
330
330
|
|
|
331
|
+
# --- docs --- (catalogue query; reads packs/<pack>/docs/)
|
|
332
|
+
sp = subparsers.add_parser(
|
|
333
|
+
"docs",
|
|
334
|
+
help=(
|
|
335
|
+
"Read pack documentation from the catalogue source. "
|
|
336
|
+
"Displays index.md by default; use --list to enumerate files."
|
|
337
|
+
),
|
|
338
|
+
)
|
|
339
|
+
sp.add_argument("pack", help="Pack name to read docs for (e.g. core).")
|
|
340
|
+
sp.add_argument(
|
|
341
|
+
"file",
|
|
342
|
+
nargs="?",
|
|
343
|
+
default=None,
|
|
344
|
+
help="Documentation file stem to display (e.g. 'concept'). Default: index.",
|
|
345
|
+
)
|
|
346
|
+
sp.add_argument(
|
|
347
|
+
"--list",
|
|
348
|
+
action="store_true",
|
|
349
|
+
dest="list_docs",
|
|
350
|
+
help="List available documentation files for the pack.",
|
|
351
|
+
)
|
|
352
|
+
sp.set_defaults(func=_lazy("docs"))
|
|
353
|
+
|
|
331
354
|
# --- scaffold --- (no --scope; always repo-targeted)
|
|
332
355
|
sp = subparsers.add_parser(
|
|
333
356
|
"scaffold",
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""``agentbundle docs <pack>`` subcommand.
|
|
2
|
+
|
|
3
|
+
Display pack documentation from the pack's docs/ directory.
|
|
4
|
+
|
|
5
|
+
agentbundle docs <pack> — display index.md
|
|
6
|
+
agentbundle docs <pack> --list — list available .md files by stem
|
|
7
|
+
agentbundle docs <pack> <file> — display a specific file by stem
|
|
8
|
+
|
|
9
|
+
Resolution uses the same four-layer source chain as install. The docs/
|
|
10
|
+
directory travels inside Artifactory archives, so this verb works across
|
|
11
|
+
all four source types (local path, editable install, git+https, archive).
|
|
12
|
+
|
|
13
|
+
Exit codes:
|
|
14
|
+
0 — success
|
|
15
|
+
1 — catalogue unavailable, pack not found, no docs/ directory, or file
|
|
16
|
+
not found
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from __future__ import annotations
|
|
20
|
+
|
|
21
|
+
import sys
|
|
22
|
+
from pathlib import Path
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
if TYPE_CHECKING:
|
|
26
|
+
import argparse
|
|
27
|
+
|
|
28
|
+
_BOLD_ON = "\x1b[1m"
|
|
29
|
+
_BOLD_OFF = "\x1b[0m"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def run(args: "argparse.Namespace") -> int:
|
|
33
|
+
from agentbundle.catalogue import CatalogueError, resolve_catalogue
|
|
34
|
+
from agentbundle.commands._common import resolve_catalogue_uri
|
|
35
|
+
from agentbundle.commands.show import _find_pack_dir
|
|
36
|
+
|
|
37
|
+
pack_name: str = args.pack
|
|
38
|
+
file_stem: str | None = getattr(args, "file", None)
|
|
39
|
+
list_mode: bool = getattr(args, "list_docs", False)
|
|
40
|
+
|
|
41
|
+
try:
|
|
42
|
+
catalogue_dir = resolve_catalogue(resolve_catalogue_uri(args))
|
|
43
|
+
except CatalogueError as exc:
|
|
44
|
+
print(f"docs: {exc}", file=sys.stderr)
|
|
45
|
+
return 1
|
|
46
|
+
|
|
47
|
+
match = _find_pack_dir(catalogue_dir, pack_name)
|
|
48
|
+
if match is None:
|
|
49
|
+
print(f"docs: pack {pack_name!r} not found in catalogue", file=sys.stderr)
|
|
50
|
+
return 1
|
|
51
|
+
|
|
52
|
+
pack_dir, _ = match
|
|
53
|
+
docs_dir = pack_dir / "docs"
|
|
54
|
+
if not docs_dir.is_dir():
|
|
55
|
+
print(f"docs: {pack_name}: no docs directory in pack source", file=sys.stderr)
|
|
56
|
+
return 1
|
|
57
|
+
|
|
58
|
+
md_files = sorted(
|
|
59
|
+
p for p in docs_dir.iterdir()
|
|
60
|
+
if p.suffix == ".md" and not p.name.startswith("_")
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
if list_mode:
|
|
64
|
+
for f in md_files:
|
|
65
|
+
print(f.stem)
|
|
66
|
+
return 0
|
|
67
|
+
|
|
68
|
+
stem = file_stem or "index"
|
|
69
|
+
target: Path | None = None
|
|
70
|
+
for f in md_files:
|
|
71
|
+
if f.stem == stem:
|
|
72
|
+
target = f
|
|
73
|
+
break
|
|
74
|
+
|
|
75
|
+
if target is None:
|
|
76
|
+
available = ", ".join(f.stem for f in md_files) or "none"
|
|
77
|
+
print(
|
|
78
|
+
f"docs: {pack_name}: file {stem!r} not found. Available: {available}",
|
|
79
|
+
file=sys.stderr,
|
|
80
|
+
)
|
|
81
|
+
return 1
|
|
82
|
+
|
|
83
|
+
text = target.read_text(encoding="utf-8")
|
|
84
|
+
tty = sys.stdout.isatty()
|
|
85
|
+
print(_render_md(text, tty=tty), end="")
|
|
86
|
+
return 0
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def _render_md(text: str, *, tty: bool) -> str:
|
|
90
|
+
"""Render Markdown as plain text, optionally with ANSI bold headings.
|
|
91
|
+
|
|
92
|
+
Preserves code blocks verbatim. Strips heading # markers (bold on tty,
|
|
93
|
+
plain text otherwise). Strips link syntax [text](url) to bare text.
|
|
94
|
+
"""
|
|
95
|
+
import re
|
|
96
|
+
|
|
97
|
+
lines = text.splitlines(keepends=False)
|
|
98
|
+
out: list[str] = []
|
|
99
|
+
in_code = False
|
|
100
|
+
|
|
101
|
+
for line in lines:
|
|
102
|
+
if line.startswith("```"):
|
|
103
|
+
in_code = not in_code
|
|
104
|
+
out.append(line)
|
|
105
|
+
continue
|
|
106
|
+
if in_code:
|
|
107
|
+
out.append(line)
|
|
108
|
+
continue
|
|
109
|
+
m = re.match(r"^(#{1,6})\s+(.*)", line)
|
|
110
|
+
if m:
|
|
111
|
+
content = m.group(2)
|
|
112
|
+
out.append(f"{_BOLD_ON}{content}{_BOLD_OFF}" if tty else content)
|
|
113
|
+
continue
|
|
114
|
+
processed = re.sub(r"\[([^\]]+)\]\([^)]*\)", r"\1", line)
|
|
115
|
+
out.append(processed)
|
|
116
|
+
|
|
117
|
+
return "\n".join(out) + ("\n" if out else "")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.20.0
|
|
4
4
|
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
5
|
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
6
|
License: Apache-2.0 OR MIT
|
|
@@ -139,6 +139,7 @@ agentbundle/commands/catalogue_tooling_stub.py
|
|
|
139
139
|
agentbundle/commands/catalogue_verify.py
|
|
140
140
|
agentbundle/commands/config.py
|
|
141
141
|
agentbundle/commands/diff.py
|
|
142
|
+
agentbundle/commands/docs.py
|
|
142
143
|
agentbundle/commands/init_state.py
|
|
143
144
|
agentbundle/commands/install.py
|
|
144
145
|
agentbundle/commands/list_installed.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agentbundle"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.20.0"
|
|
8
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 = []
|
|
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.19.0 → agentbundle-0.20.0}/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
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/copilot_hooks_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/gemini_command_toml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/projections/merge_into_agent_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/composite-agents-md.toml
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/composite-marketplace.toml
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/per-pack-apm-package.toml
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml
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
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_claude_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_adapter_kiro_alias.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
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_direct_directory_cleanup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_lint_agents_md_risk_block.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_pack_schema_install.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_plugin_manifest_schema.py
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_projectable_subset.py
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_projections_merge_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_self_host_fixture_guard.py
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_self_host_recipe_config.py
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shared_libs_projection.py
RENAMED
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/agentbundle/build/tests/test_shared_prefix_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.19.0 → agentbundle-0.20.0}/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
|
|
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
|
|
File without changes
|