Plugin Development
Official Plugins
What makes a plugin official, what the official index lists, and first-party branding.
This page covers what "official" means for a StreamNook plugin, how first-party plugins are branded, and what the official index does and does not list.
Definition
An official plugin is one that meets all three of these conditions:
Authored and maintained by StreamNook
The plugin is built and kept up to date by the StreamNook project itself.
Signed by the StreamNook author key
The release is signed by the project's plugin author key. See Signing for how key pinning works.
Listed in the official index
The plugin appears in the index the app trusts out of the box.
Warning
All three conditions must hold. A fork of an official plugin signed by someone else is not official. Key pinning (see Signing) is what makes that distinction enforceable rather than cosmetic.
Scope of the official index
The official index lists the curated A and B tiers only. The host enforces this: a tier C entry placed in the official index is ignored.
The official set is the focused, first-party collection. Heavier or specialized add-ons (such as background drops and points automation, or ad-bypass resolution) are tier C. They are community-distributed, published under their authors' own identity, and not part of the first-party set. Keeping them out of the official index keeps that set focused and first-party, the same reason the core itself stays lean.
Info
What is official: emote and badge providers, chat tools, overlays, notifiers, integrations, and similar A and B functionality.
Tiers are neutral capability scopes. For what each tier is allowed to do, see Capabilities.
Branding conventions
Id namespace
Official plugins use app.streamnook.<name>, for example app.streamnook.example-tick.
Author and verified mark
Author is StreamNook, with verified: true in the official index entry.
- Community plugins must not use the
app.streamnook.prefix. The official index curator rejects it from third parties, and its presence outside the official index is a red flag the UI may surface. - The UI derives the official presentation (the badge on the source, the verified mark on the author) from the index and pinned keys, never from the manifest alone. A manifest cannot self-declare officialness.
Note
Marketplace presentation: every official entry should carry icon_url, readme_url, and an accurate updated_at, so official plugins set the quality bar for detail pages. See Manifest for these fields.
Repository and release shape (per plugin)
Each official plugin lives in its own repository with this layout:
streamnook-plugin-<name>/
├── README.md (drives the marketplace detail page via readme_url)
├── plugin.toml
├── src/ ...
└── release: <id>-<version>.zip + .zip.minisigThe README leads with what the plugin does and a screenshot. The marketplace renders it as plain markdown (no HTML).
Tip
For how releases are built, signed, and listed, see Publishing.
Project keys
Two project keys back the official set: the index operator key and the plugin author key. Both are generated and held by the project owner, never in CI or the repository. They are minisign keypairs, and their public halves are pinned in the app (for the official index) and in the index (for the plugin author), respectively. See Signing for the pinning details.
An official plugin is authored by StreamNook, signed by the StreamNook key, and listed in the official index. All three, verified against pinned keys, not the manifest.