Skip to content
ShiftPane
Documentation

Publishing

Validate, pack, and upload a widget, then what happens to it.

Before you upload

  • Make the manifest's author your GitHub login, and give the widget an id nobody else has used.
  • Run npx shiftpane-widget validate: it runs every check the gallery runs that can run on your PC.
  • If you zip it yourself, zip the package's files, not the folder they're in, so manifest.json is at the top. npx shiftpane-widget pack does this for you.
  • Pick an OSI-approved license and include its LICENSE file. Widgets are open source, so others can read what runs on their PC.
  • Ask only for what the widget needs. Every permission is something a reviewer has to agree with.
  • Read the content policy.

Upload

Any of these, each signed in with your GitHub account:

  • From the CLI. npx shiftpane-widget login once (it shows a code to type on GitHub), then npx shiftpane-widget publish in the widget's folder. It runs the checks, packs the folder and uploads it, with --notes for the reviewer. In CI, sign in once with npx shiftpane-widget login --print-token and keep what it prints as a SHIFTPANE_TOKEN secret.
  • Share from the app. With Developer mode on, open a widget you loaded from a folder and use Share to the marketplace. The app signs you in with a code, packs the folder and uploads it.
  • Upload the zip on the Publish page.

npx shiftpane-widget logout signs the CLI out and ends its token.

What happens next

  1. Checks

    The automated checks run at once and you see the report. A failed check blocks the upload, and the report says what to fix.

  2. Review

    A person reviews every new widget, and every update the fast lane doesn't take. Your dashboard shows when it's approved or rejected, with the reviewer's note.

    The fast lane. An update is published as soon as its checks pass when it asks for nothing the approved version didn't, and either it has no collector, or you're a verified author, or you've had three versions approved and none yanked.

  3. Listed

    Approved versions are signed and published. The widget shows in the gallery, where Install in ShiftPane on its page opens it in the desktop app.

Updates

Upload a new version with a higher version number. If its permissions didn't change, people who installed it get it without a prompt; if they did, the app asks them again, showing what was added.

Your dashboard

Your widgets lists everything you've uploaded and each version's status, with the reviewer's note on a rejected one. Yank a live version there if it's broken: it leaves the gallery, and the app turns it off for everyone who has it the next time it checks.