Documentation
Example plugins & templates
Real, open-source Neleto plugins and starter templates to learn from.
The fastest way to learn the plugin system is to read plugins that already work. Neleto's own plugins are open source, and there are starter templates that give you a working project in seconds. They all live in the Triple-A-Software GitHub organization.
Start from a template
The Plugin CLI's create command clones
the official template for you, but you can also browse these directly:
| Repository | What it is |
|---|---|
| plugin-template | The official starting point, cloned by plugin-cli create. |
| frontend-template | An SPA frontend (Nuxt + Nuxt UI) for building a plugin's admin UI. |
| rust-backend-template | An example Rust backend that pairs with the frontend template. |
Learn from real plugins
These are the plugins Neleto publishes to the Plugin Store — each is a small webserver using the exact same manifest and endpoints you'd use. They're a good reference for components, template helpers, visitor-facing pages, dashboard cards and a plugin's own database.
| Plugin | Shows how to… |
|---|---|
| sitesearch-plugin | Full-text search: a rewriter to index pages, a component, a results page, and dashboard cards. |
| blogcomment-plugin | A template helper, public form pages, role-gated api routes, dashboard cards, and its own database. |
| google-reviews-plugin | Fetch and cache data from a third-party API server-side and render it in your site's style. |
| sitehealth-plugin | A larger admin UI, page-by-page analysis, and generating structured data (JSON-LD). |
| mediagallery-plugin | Ship a pack of ready-to-use components built on Neleto's image scaling. |
| form-plugin | Build and store form submissions. |
| cookiebanner-plugin | A rewriter that injects markup into every rendered page. |
Related: neleto-mcp is the
Model Context Protocol server behind the MCP docs.
Treat these as working references, not as spec. The authoritative contract is the
published JSON Schema —
an older example may still use a field name that has since changed (for example
API access is gated with
allowed_permissions, not an older allowed_roles).