Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| plugin_store_guidelines [2025/04/14 20:10] – external edit 127.0.0.1 | plugin_store_guidelines [2026/04/07 18:27] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Plugin Store Submission Guidelines ===== | ===== Plugin Store Submission Guidelines ===== | ||
| - | |||
| This document outlines the rules for submitting a plugin to the [[http:// | This document outlines the rules for submitting a plugin to the [[http:// | ||
| + | **<color # | ||
| ==== Creating Your Developer Account ==== | ==== Creating Your Developer Account ==== | ||
| - | |||
| If you haven' | If you haven' | ||
| Line 14: | Line 13: | ||
| ==== Adding A Plugin ==== | ==== Adding A Plugin ==== | ||
| - | |||
| First and foremost: please //do not// attempt to add a plugin that you don't " | First and foremost: please //do not// attempt to add a plugin that you don't " | ||
| Line 24: | Line 22: | ||
| The other option is to directly manage everything through our UI. With this approach you'll create your own plugin releases and upload each new release via our plugin administration UI. You'll need to manage all descriptions through our UI. If you don't want to learn how to use GitHub then this is the option for you. | The other option is to directly manage everything through our UI. With this approach you'll create your own plugin releases and upload each new release via our plugin administration UI. You'll need to manage all descriptions through our UI. If you don't want to learn how to use GitHub then this is the option for you. | ||
| - | ==== General Rules ==== | ||
| + | ==== General Rules ==== | ||
| First, some general rules that you need to follow regardless of which approach you take: | First, some general rules that you need to follow regardless of which approach you take: | ||
| * Version numbers in the '' | * Version numbers in the '' | ||
| * No two releases can have the same version number (X.Y.Z). | * No two releases can have the same version number (X.Y.Z). | ||
| - | * The Plugin ID (CFBundleIdentifier) can't change | + | * The Plugin ID (CFBundleIdentifier) can't change once a plugin |
| * The Plugin ID **must begin with your developer ID** specified above. This **should not** begin with '' | * The Plugin ID **must begin with your developer ID** specified above. This **should not** begin with '' | ||
| * If the '' | * If the '' | ||
| Line 36: | Line 34: | ||
| ==== GitHub Specifics ==== | ==== GitHub Specifics ==== | ||
| - | |||
| If you want to use GitHub (and there are many advantages to doing so), there are a few things to consider. We have a few (but not many) requirements in how your repo is constructed and how you do releases. There are also some optional things that you'll want to consider to make the experience for users even better. | If you want to use GitHub (and there are many advantages to doing so), there are a few things to consider. We have a few (but not many) requirements in how your repo is constructed and how you do releases. There are also some optional things that you'll want to consider to make the experience for users even better. | ||
| If you're new to GitHub but want to try it out, we've written [[https:// | If you're new to GitHub but want to try it out, we've written [[https:// | ||
| + | |||
| === GitHub Repo Layout === | === GitHub Repo Layout === | ||
| - | |||
| This is the required GitHub Repo layout: | This is the required GitHub Repo layout: | ||
| Line 53: | Line 50: | ||
| === GitHub Releases === | === GitHub Releases === | ||
| - | |||
| When you are ready to publicly release a version of the plugin (either initially or a follow-up release), you should add a release in GitHub: | When you are ready to publicly release a version of the plugin (either initially or a follow-up release), you should add a release in GitHub: | ||
| Line 61: | Line 57: | ||
| == Release Requirements == | == Release Requirements == | ||
| - | |||
| There are a few requirements for GitHub releases: | There are a few requirements for GitHub releases: | ||
| Line 69: | Line 64: | ||
| ==== Adding a Plugin ==== | ==== Adding a Plugin ==== | ||
| - | |||
| As we mentioned at the top, there are two ways to add a new plugin to the Plugin Store: by specifying a GitHub repo or by uploading an existing plugin: | As we mentioned at the top, there are two ways to add a new plugin to the Plugin Store: by specifying a GitHub repo or by uploading an existing plugin: | ||
| {{ : | {{ : | ||
| - | <color red> | + | <color red> |
| === Adding a Plugin from GitHub === | === Adding a Plugin from GitHub === | ||
| - | |||
| To add a new plugin from a GitHub repo, just enter the GitHub user and repo names. As an example, for our Rachio Sprinkler repo, which is located here: | To add a new plugin from a GitHub repo, just enter the GitHub user and repo names. As an example, for our Rachio Sprinkler repo, which is located here: | ||
| Line 114: | Line 107: | ||
| === Adding a Directly Managed Plugin === | === Adding a Directly Managed Plugin === | ||
| - | |||
| To add a new plugin from an existing zipped plugin, just click the Choose File button and select the file. Note that Safari will automatically zip plugin folders before uploading (but your browser of choice may not). | To add a new plugin from an existing zipped plugin, just click the Choose File button and select the file. Note that Safari will automatically zip plugin folders before uploading (but your browser of choice may not). | ||
| Line 147: | Line 139: | ||
| ==== Editing a Plugin ==== | ==== Editing a Plugin ==== | ||
| - | |||
| To edit a plugin, just go to your Indigo Account' | To edit a plugin, just go to your Indigo Account' | ||
| ==== Adding a Release ==== | ==== Adding a Release ==== | ||
| - | |||
| When you have an update to a plugin, you just need to add a release to it. Go to the [[http:// | When you have an update to a plugin, you just need to add a release to it. Go to the [[http:// | ||
| === Adding a GitHub Release === | === Adding a GitHub Release === | ||
| - | |||
| Adding a GitHub release couldn' | Adding a GitHub release couldn' | ||
| Line 163: | Line 152: | ||
| **Note**: the release version number in the GitHub release source zip's Info.plist **must match** the tag for the GitHub release. Otherwise, the release will not be added. This sanity check will help ensure that you don't end up with version mismatches and the associated problems that will result (failed update checking, failed upgrades, etc). | **Note**: the release version number in the GitHub release source zip's Info.plist **must match** the tag for the GitHub release. Otherwise, the release will not be added. This sanity check will help ensure that you don't end up with version mismatches and the associated problems that will result (failed update checking, failed upgrades, etc). | ||
| + | |||
| === Adding a Release for a Directly Managed Plugin === | === Adding a Release for a Directly Managed Plugin === | ||
| - | |||
| Adding a new release this way isn't really very hard either, there are just a few fields you need to fill out: | Adding a new release this way isn't really very hard either, there are just a few fields you need to fill out: | ||
| Line 181: | Line 170: | ||
| ==== Editing a Release ==== | ==== Editing a Release ==== | ||
| - | |||
| To edit a release, just go to your plugin' | To edit a release, just go to your plugin' | ||
| ==== Icons and Branding ==== | ==== Icons and Branding ==== | ||
| - | + | The Plugin Store shows icons for each plugin. If you don't include one in the plugin bundle ('' | |
| - | The Plugin Store shows icons for each plugin. If you don't include one in the the plugin bundle ('' | + | |
| To make it easy for users browsing the Plugin Store to identify something they' | To make it easy for users browsing the Plugin Store to identify something they' | ||
| Line 199: | Line 186: | ||
| ==== Linking to Indigo Docs ==== | ==== Linking to Indigo Docs ==== | ||
| - | |||
| If your documentation needs to link to Indigo' | If your documentation needs to link to Indigo' | ||
| Line 227: | Line 213: | ||
| ==== A Few Final Thoughts ==== | ==== A Few Final Thoughts ==== | ||
| - | |||
| That's pretty much all there is to managing a plugin in the Plugin Store. Here are a few final random thoughts and important reminders: | That's pretty much all there is to managing a plugin in the Plugin Store. Here are a few final random thoughts and important reminders: | ||