- Docs
- Create an external catalogue
Create an external catalogue
Scaffold a catalogue outside this repository, validate it locally, and publish it via CI.
Use this when: You are building a catalogue in a separate repository — not a fork of this one — and want to validate it with the same tooling before publishing.
Prerequisites:
- Python 3.11+
agentbundle≥ 0.33.0 (python -m pip install agentbundle)
Create the catalogue layout
Section titled “Create the catalogue layout”A catalogue is a directory with a catalogue.toml at its root and a packs directory
containing at least one pack.
my-catalogue/ catalogue.toml # catalogue metadata and distribution config packs/ my-pack/ pack.toml .apm/ ...catalogue.toml has required fields across five nested tables. See
Catalogue format reference for the complete
schema — the full surface spans ~20 fields and is not shown inline here.
Generate adapter artifacts
Section titled “Generate adapter artifacts”Run the self-host command to generate the artifacts for the effective adapter set:
agentbundle catalogue self-host --root . --writeWhen the effective set includes claude-code, this writes marketplace.json
and lint requires it (CAT-L002). A catalogue configured only for an adapter
outside the default self-host allow-list, such as kiro-ide, omits Claude
artifacts and does not require a marketplace. Commit the generated outputs.
agentbundle catalogue lint --root .Exits 0 on a clean catalogue. Exits 1 on validation failures (listed on stdout). Exits 2 on CLI usage errors.
Fix all reported issues before proceeding.
Verify
Section titled “Verify”agentbundle catalogue verify --root .Runs the full admission check — schema, structural invariants, and distribution
consistency. Pass --format json to get machine-readable output for CI annotation.
Publish via CI
Section titled “Publish via CI”Once lint and verify both exit 0 locally, the catalogue is ready for a CI
release pipeline.
For the full publication contract — packaging command, channel descriptor shape, exit codes, phase ordering, and responsibility boundary between the CLI and your CI system — see the Catalogue CI contract.