LogIt

Publishing

Discovery is just a static registry.json — an array of catalogue entries. There are three ways to get a plugin to users.

1. Community registry

Fork logit-plugin-registry, add your plugin, open a PR.

registry.json                    array of entries
plugins/<plugin-id>/
  manifest.json
  bundle.js                      (or exercises.json for packs)

manifestUrl and distribution.bundleUrl are repo-relative paths (plugins/<id>/...), not URLs.

Run the linter before opening the PR — CI runs the same check:

npm install && npm run lint

It validates every entry and manifest, verifies integrity hashes, parses packs, and loads every code bundle in a real sandbox to confirm it exposes the method its family needs. First submissions get a human review; version bumps after that are lighter.

2. Your own registry

Host a registry.json anywhere static. Users add its URL in Plugins → Browse → Sources. A self-hosted LogIt instance can point its default there. Entry shape:

{
  "id": "com.you.my-plugin",
  "name": "My Plugin",
  "description": "One sentence.",
  "family": "progression-algorithm",
  "author": "You",
  "manifestUrl": "https://you.example/plugins/my-plugin/manifest.json",
  "tags": ["progression"]
}

3. No registry

Send someone the manifest URL, the .logit-pack.json file, or the raw JSON. Plugins → Add accepts all three.

Updating

Bump version in the manifest, regenerate the integrity hash, submit again. Users get a reviewable “update available” prompt.