Publish

Local registry

File-based registry for private distribution. No server, no account.

A local registry is a directory with an index.json and a blobs/ folder. It's the simplest possible private distribution channel: write the directory somewhere shared (NFS, S3-backed mount, Dropbox, network drive), and users point at it.

Layout

./local-registry/
├── index.json
└── blobs/
    ├── maria__market-researcher__1.0.0.rig.tgz
    ├── maria__market-researcher__1.1.0.rig.tgz
    └── maria__news-desk__0.3.2.rig.tgz

index.json is a flat list of available versions with their metadata (author, name, version, sha256, description, blob filename). The CLI reads it to resolve registry: specifiers.

Publish

rig hub publish --registry ./local-registry

The CLI:

  1. Packs the rig (if no artifact path provided).
  2. Computes the artifact's SHA-256.
  3. Copies it to blobs/<author>__<name>__<version>.rig.tgz.
  4. Updates index.json with the new entry.

You can also publish a pre-built artifact:

rig hub publish --registry ./local-registry ./dist/my-rig-1.0.0.rig.tgz

List

rig hub list ./local-registry

Or, if you've set RIG_REGISTRY_DIR:

rig hub list

Prints every author/name@version in the registry.

Install

rig hub use registry:maria/market-researcher --dir ./projects/research

If RIG_REGISTRY_DIR is set, the CLI uses it as the registry root. Otherwise pass the path with a flag (or via env). To pin:

rig hub use registry:maria/market-researcher@1.0.0

Verification

registry: installs verify SHA-256 from index.json. If a blob was tampered with after publish, the verification fails.

When to use it

  • Private teams. Stick the registry on a shared drive; everyone reads and writes from the same place.
  • Air-gapped networks. Rigs in, rigs out, no Hub needed.
  • CI/CD pipelines. A local registry per environment (dev/staging/prod) lets you control which versions are available where.
  • Testing publish flows before pushing to the Hub.

Limits

  • No access control beyond filesystem permissions.
  • No search beyond rig hub list.
  • No package pages or rendered READMEs.
  • No automated indexing — rig hub publish --registry writes index.json but if you copy blobs in manually, you'll need to rebuild it.

For richer functionality, use the Hub.

See also