Skip to content

Publishing a plugin

Publish a plugin or a theme for Majic in 4 steps, then ship updates the same way.

Before you start

  • Sign in on this site with Discord, then link your GitHub account in Connected Accounts.
  • Your plugin or theme must live in a public GitHub repository that you own.

1. Add majic.json

Create a majic.json file at the root of the repository. It describes your plugin: id, version, type, entry point and permissions. See the majic.json reference.

2. Publish a GitHub release

Create a release whose tag matches version (e.g. v1.1.0 for version 1.1.0), and attach the package <id>.zip (50 MB max). The zip must contain the file set in main.

The site reads majic.json at the release tag (not on your branch) and records the package's SHA-256 fingerprint.

3. Submit it

Open Submit Plugin and pick the repository. The site checks the release and pre-fills the form from majic.json. Add 1 to 5 images and send it for review.

An admin reviews the code and the requested permissions. You can follow the status in My Plugins: pending, approved, or rejected with a reason. Once approved, your plugin appears in Explore.

4. Publish updates

Create a new GitHub release with a higher version, then click Propose an update in My Plugins. Every update is reviewed too; the previous version stays available until the new one is approved. Details in Updates & update.json.

Themes follow the same process with "type": "theme", a .css entry point, and no permissions.