Sample public catalog for the Anima-Verse Content Marketplace.
index.json # catalog index (consumed by /api/content/catalog)
packs/<slug>/manifest.json # per-pack header (human-readable in repo browser)
packs/<slug>/pack.zip # the actual import ZIP
Each entry in index.json carries download_url, size_bytes,
checksum_sha256 and tags. The Anima-Verse backend downloads the ZIP,
verifies the SHA-256, and dispatches it to the matching importer.
- Export it from your world: in Game Admin → Items/Locations/Rules tab → click the Export button → save the ZIP.
- Drop it into
packs/<slug>/pack.zip. - Append an entry to
index.json(size_bytesandchecksum_sha256must match the ZIP — compute withsha256sum packs/<slug>/pack.zip). - Commit + push. The catalog refreshes on the next fetch (TTL = 60 min by default, or click ↻ Refresh in the Marketplace tab).
download_url values use the literal <<BASE>> token while the repo URL
is unknown. Once the repo is hosted, replace it once:
sed -i 's|<<BASE>>|https://raw.githubusercontent.com/<org>/anima-verse-content/main|g' index.json
git commit -am "set base url"
git push
For Forgejo the base looks like
https://<host>/<owner>/<repo>/raw/branch/main.