import type { PluginManifest } from '@@/plugins/manifest'; // The reference plugin. Not a fixture — this is what a plugin author reads first, and it is deliberately // the smallest thing that is still a real one: a manifest and one route. // // Everything structural is convention, so this directory IS the documentation: // // manifest.ts you are here — only what a directory listing cannot say // api/router.ts exports `router`; mounted at /api/example // db/schema.ts tables, if it had any (every name prefixed `example_`) // sidecar/index.ts a process, if it needed one (.mjs instead means node) // web/Router.tsx a frontend, if it had one // // `appName` is not declared anywhere: it is the directory name, so the id cannot disagree with where the // code sits. export const manifest: PluginManifest = { publisher: 'officerdev', version: '1.0.0', platform: '>=1.0.0', label: 'Example', summary: 'The reference plugin — one route, nothing else', icon: 'Puzzle', color: '#94a3b8', // Empty is meaningful: this plugin gates nothing of its own and is reachable by anyone who can reach // the platform. A plugin with a surface worth protecting declares a permission here instead. permissions: [], };