← Back to plugins
Community plugins

Build something great for the pet catalog

Have an idea for Spotify, calendar, focus, games, AI helpers, or tiny desktop rituals? Build it in a public GitHub repo, submit it for review, and we can list the safe, packaged version for every OpenPets user.

A 16-bit pixel art illustration on a flat white background depicting a minimalist workbench surface where a packaged plugin bundle passes through a simple scanner arch with a checkmark verification indicator in a neutral and digital blue palette.

Starter repo

Clone a complete example first

The starter repo includes a manifest, JavaScript entry, locale file, bundled SVG icon, README, and SDK smoke test. You can test it alone, then load that folder from OpenPets → Plugins → Developer Mode.

Open starter
1

Build the plugin

Create a manifest, one JavaScript entry file, locales, and any bundled assets.

2

Tag a release

Publish a GitHub tag or commit so reviewers can pin the exact source.

3

Get listed safely

OpenPets reviews permissions, hosts, assets, and packaging before it appears in the catalog.

Submission readiness

A practical pre-submit flow

Work through these checks before opening an issue. Consult the SDK overview for manifest and capability details, and use plugin docs to see what users review before installing from the plugin catalog.

  1. 1. Confirm the manifest

    Keep openpets.plugin.json alongside the entry file, with a stable plugin id, semver version, declared entry, and any bundled assets.

  2. 2. Declare only what you use

    Request minimal permissions. If the plugin uses network access, declare only the exact public HTTPS hosts it needs.

  3. 3. Make the build reproducible

    Validate and test the standalone plugin folder, then pin the submitted source with an immutable Git tag or full commit SHA.

  4. 4. Explain the purpose

    Write a short README covering what the plugin does, local testing, and any account, API key, or OAuth setup users need.

  5. 5. Assemble the review packet

    Include the plugin name and id, repository and subdirectory, pinned source, requested permissions and hosts with their purpose, plus external setup.

What to prepare

  • A public GitHub repository with your plugin source.
  • A plugin folder containing openpets.plugin.json, index.js, locales/en.json, and declared assets.
  • A stable plugin id, semver version, minimal permissions, and exact network hosts.
  • A Git tag or full commit SHA that reviewers can pin.
  • A short README explaining what the plugin does and how users set it up.

Review packet

  • Plugin name and plugin id.
  • GitHub repo URL and plugin subdirectory.
  • Release tag or commit SHA.
  • Requested permissions and why each one is needed.
  • Network hosts and what each host is used for.
  • Any external account setup users need, such as OAuth app setup.

Copy into the GitHub issue if you are not using the form fields

Plugin name:
Plugin id:
GitHub repo URL:
Plugin subdirectory: .
Release tag or commit SHA:

Requested permissions:
- permission-name: why it is needed

Network hosts:
- host.example.com: what it is used for

External account setup:
- None, or explain OAuth/API setup users must complete
Submit on GitHub
by Alvin