Publish and share
Manteen registries need no registry account or central directory. Publish public/r/ through any
static HTTPS host that serves the item and index documents as JSON.
GitHub Pages
Section titled “GitHub Pages”This minimal workflow builds the registry before uploading it. Pin versions according to your own repository’s maintenance policy.
name: Deploy registry
on: push: branches: [main]
permissions: contents: read pages: write id-token: write
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: "24" cache: npm - run: npm ci - run: npx manteen-kit build - uses: actions/configure-pages@v6 - uses: actions/upload-pages-artifact@v5 with: path: public
deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v5After deployment, verify both URLs directly:
https://acme.github.io/manteen-registry/r/registry.jsonhttps://acme.github.io/manteen-registry/r/release-panel.jsonShare one self-contained item
Section titled “Share one self-contained item”A consumer can install an item URL without changing manteen.json:
npx manteen info https://acme.github.io/manteen-registry/r/release-panel.jsonnpx manteen add https://acme.github.io/manteen-registry/r/release-panel.jsonThe item can still contain multiple files, npm dependencies, package styles, and a theme fragment. It must not contain a bare or namespaced registry dependency that the consumer has not configured. A direct URL has no namespace from which Manteen could resolve a bare dependency.
Share the collection
Section titled “Share the collection”For repeated use, discovery, private-request configuration, or items that depend on other items,
the consumer adds a namespace to manteen.json:
{ "registries": { "@acme": { "url": "https://acme.github.io/manteen-registry/r/{name}.json", "index": "https://acme.github.io/manteen-registry/r/registry.json" } }}Keep the existing aliases, styles, theme, and tsconfig fields generated by manteen init.
The abbreviated object above shows only the registry entry being added.
Consumers can now discover and install by name:
npx manteen list @acmenpx manteen info @acme/release-panelnpx manteen add @acme/release-panelWhen a kit-authored item uses another local item, manteen-kit compiles the catalog namespace into
that dependency. Treat the catalog’s namespace as the public collection name in that case. A
self-contained registry may be assigned a different consumer-side name, but changing the name of a
dependency-bearing kit registry leaves its compiled references pointing at the original namespace.
Read URLs and namespaces for the complete decision boundary.