The static JSON registry of published Ikenga packages — served via GitHub Pages, consumed by the shell and the
ikengaCLI for pkg discovery, install, and update.
A machine-generated catalog of every published @ikenga/pkg-*
package: names, versions, manifests, tarball URLs, integrity hashes — plus a minisign
signature over the index.
Endpoint: https://royalti-io.github.io/ikenga-registry/index.json
index.json — root catalog: pkg names + latest version + detail pointer
index.json.minisig — minisign signature over index.json
pkgs/<short-name>.json — per-pkg detail: every published version, manifest, tarball URL, integrity
schema/ — JSON Schemas (mirrors of @ikenga/contract Zod types)
REGISTRY_PUBLIC_KEY.txt — minisign public key for verifying signatures
REGISTRY_PUBLIC_KEY.md — human-readable verify instructions
This repo is not edited by hand. The release workflow in
Royalti-io/ikenga-pkgs
runs scripts/update-registry-index.mjs after every successful Changesets
publish; that script writes/updates index.json and pkgs/<name>.json,
re-signs index.json with minisign, and pushes the changes.
The only manual edits accepted here are:
@ikenga/contract release)index.json.minisig is a minisign signature
over index.json. The shell embeds the public key and refuses to trust an unsigned
or mismatched index.
Verify locally:
minisign -Vm index.json -P RWRTqugAYXnZRgZPMyuqRNB3G41wg+AhSU2yT8nmDNNQlWQPeCfRXAvI
The current public key also lives at REGISTRY_PUBLIC_KEY.txt.
The shape of index.json and pkgs/<name>.json is defined by Zod schemas
in @ikenga/contract (./registry
export). JSON Schemas are mirrored under schema/ for non-TypeScript
consumers and editor autocomplete.
ikenga-pkgs — the monorepo whose release workflow regenerates this indexikenga — the desktop shell that consumes itApache-2.0 — see LICENSE.