A curated registry of MulmoClaude collections — schema-driven data apps you can discover and import from inside MulmoClaude.
A collection is a small bundle: a schema.json that declares a data model and its UI
(tables, calendars, kanban, forms), optional custom HTML views, optional action
templates, and optional seed records. The MulmoClaude host renders the whole app from
that schema — no per-collection host code.
In MulmoClaude, open /collections → Discover. The app reads this registry's published
index.json and lists every collection with its icon, fields, views, author,
and (if provided) a screenshot. Import one and it appears at /collections/<slug>, with any
bundled seed data populated on first import.
See CONTRIBUTING.md. In short: add
collections/<your-github-login>/<slug>/ (with SKILL.md, schema.json, meta.json),
run npm run validate and npm run build-index, and open a PR. You may only publish under
your own GitHub-login namespace (CI enforces it).
collections/<author>/<slug>/
SKILL.md schema.json meta.json
screenshot.png? views/*.html? templates/*.md? seed/items/*.json?
scripts/build-index.mjswalkscollections/and regeneratesindex.json— the single file the MulmoClaude backend fetches (one GET) to render the Discover catalog — plus a per-collectionmanifest.jsonlisting the bundle files the host fetches when importing. Thebuild-indexworkflow regeneratesindex.jsonand publishes it (and the JSON Schemas) to GitHub Pages on every push tomain, so the backend reads a stable URL without bot-commits tomain.index.jsonis therefore generated, not committed (it's gitignored); the committed bundle artifacts are themanifest.jsonfiles, which the host fetches from git by raw URL.Enable Pages once: Settings → Pages → Source: GitHub Actions.
scripts/validate.mjschecks every collection (run bypr-validateon each PR): metadata, semver, author/PR-author identity, host-equivalent schema validity, seed records (secrets hard-fail, PII warn), and a custom-view CSP lint.- Contracts live in
schema/:meta.schema.jsonandindex.schema.json(the public, versioned index contract).
npm run validate # validate every collection
npm run build-index # regenerate index.json (gitignored) + each manifest.json
npm run check-manifests # fail if any committed manifest.json is stale
npm test # run the unit testsRegistry tooling: MIT (see LICENSE). Each collection declares its own license in
its meta.json.