This page shows the fastest way to understand the shape of a small complete Sero plugin.
Use the external Daily Quote plugin as the reference example:
https://github.com/sero-labs/sero-daily-quote-pluginImportant framing:
That means you should copy the plugin contract surface and file layout, not assume that the polished UI styling is part of the minimum plugin bar.
Study these pieces first:
package.json — pi.extensions, sero.app, sero.plugin, scriptsextension/index.ts — one focused Pi extension entryshared/types.ts — shared state/data contractui/DailyQuote.tsx — one mounted React componentvite.config.ts — Module Federation remote config with base: './'From inside the starter plugin repo:
A good first plugin has:
For the full packaging, install, compatibility, and local-development story, continue with:
docs/plugins/guide.md in the repo source materialdocs/plugins/host-compatibility.md in the repo source material