Submit your plugin for review, release it to the marketplace, and manage versions
Publishing a plugin makes it available to every educator in the Internote marketplace. Before a plugin becomes visible to the public it must pass a review by the Internote team, which checks for security, performance, and content quality.
Work through this checklist before submitting:
internote.ready() is called within two seconds of initialisationinternote.onUnload() cancels all animation loops and cleans up resources"permissions": ["network"]"permissions": ["storage"]preview image in the manifest accurately represents the plugin's UIdescription accurately describes what the plugin doesThe CLI authenticates using your Internote account. If you have not logged in yet:
This opens a browser window to complete authentication. Once logged in, your credentials are saved locally and reused for future publishes.
To submit your plugin:
The CLI bundles your plugin, uploads it to the staging registry under your account, and opens the submission form in your browser. Fill in:
All review notifications are sent to the email address registered with your Internote account.
Typical review time is two to five business days for a first submission. Updates to already-approved plugins are usually reviewed faster. For the full review checklist and what the team looks for, see Security & Vetting.
Plugin versions use semantic versioning (MAJOR.MINOR.PATCH):
PATCH for bug fixes and small visual improvementsMINOR for new optional attributes or backwards-compatible featuresMAJOR for changes that break existing Chalk files — renaming or removing a chalk.attributes key, changing an attribute's type, or removing a previously supported valueRemoving or renaming an attribute is a breaking change. Educators who have published internotes using your plugin will see validation errors. Deprecate old attributes by keeping them in the manifest and noting the deprecation in their description field before removing them in the next major version.
Educators can pin to a specific version to protect their internotes from breaking changes. See Chalk Integration for version pinning syntax.
Increment the version in manifest.json, update the changelog, and run npm run publish again. Minor and patch updates receive expedited review. Major version updates go through a full review.
Contact the Internote team to remove a plugin from the marketplace. Unpublishing breaks every internote that references the plugin. Prefer marking the plugin as deprecated in its description rather than unpublishing — this preserves existing internotes while discouraging new installations.