Publish a plugin

Publish a plugin to make it available to the public or just your team and take advantage of Sketch’s automatic update mechanism for plugins. To let others know about your plugin submit to the official listing on the Sketch website.

For automatic updates to work a plugin must be downloadable and available versions must be provided via an appcast. Sketch regularly checks for updates and prompts the user to install a new plugin version when it becomes available. Use the Sketch Plugin Manager skpm or follow the necessary steps manually to make your plugins available to others.

1. Use skpm

If your plugin is hosted on GitHub, skpm allows to manage releases and submission to the plugin listing from the command-line automating the following steps:

  1. Create a downloadable ZIP archive.
  2. Create a GitHub release.
  3. Add or update an .appcast.xml with the latest release information to the repository.
  4. Open a pull request on plugin-directory to include the plugin in the official listing.

Run skpm from your plugin folder.

skpm publish

For all options such as not including a plugin in the official listing view the usage instructions.

skpm publish --help

Note: If you haven’t used skpm with your GitHub repository before you’ll need to login from the command-line first using a Personal Access Token granting access to the repo scope.

skpm login

2. Submit manually

If you can’t use skpm or want to host your plugin somewhere else than GitHub, for instance on your product website, you’ll have to

  1. Create an appcast XML and upload it to a server.
  2. Set the appcast property in the plugin manifest to the URL to the XML file.
  3. Create a ZIP archive of the plugin bundle, e.g. select-shapes.sketchpluginselect-shapes.sketchplugin-1.0.zip.
  4. Upload the archive to a location where it can be downloaded from.
  5. Add a version entry to the appcast XML file on the server.
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
    <title>Select Shapes Sketch Plugin</title>
    <link>http://sparkle-project.org/files/sparkletestcast.xml</link>
    <description>Quickly select all or just specific shape types</description>
    <language>en</language>
    <item>
      <title>Version 1.0</title>
      <description>
        🚀 Select all shapes or just circles and rectangles.
      </description>
      <enclosure url="https://example.com/select-shapes.sketchplugin-1.0.zip" sparkle:version="1.0"/>
    </item>
    </channel>
    </rss>
    
  6. To include the plugin in the official listing, open a pull request on plugin-directory providing information about your plugin including the URL to the appcast.

Note: To use rich text in the release notes, include HTML formatted description, e.g. <![CDATA[<h1>New 🎉</h1>]]>.

Next steps

Read more about the appcasts and how to update an existing plugin.

See something wrong or incomplete? Improve this page.