This page clarifies what "reference plugin" means in modular_api.
A reference plugin is not required to be a new published package.
For this project, a valid reference plugin is a minimal, production-shaped plugin example that:
- depends only on the public modular_api contract
- does not import internal/private SDK files
- can be mounted with
api.plugin(...) - shows manifest, setup, route registration, and optional validation
The goal is to prove that third-party authors can build plugins using the same public API used by official plugins.
That proof can live in documentation and examples. It does not require creating a new registry package unless we explicitly choose to distribute one.
Use the cross-language Plugin Host guide as the canonical authoring reference:
It already includes minimal HelloPlugin implementations for TypeScript, Dart, and Python based only on public plugin-host contracts.
A "reference plugin" deliverable is complete when all points below are true:
- TypeScript example compiles and runs with only public exports.
- Dart example compiles and runs with only public exports.
- Python example runs with only public exports.
- The examples register via
api.plugin(...)and mount under the sharedbasePath. - No example imports internal SDK paths.
If we want a distributable artifact later, we can publish a separate example package. That is optional and should be treated as a packaging decision, not a plugin-host contract requirement.