examples/
Copy-in reference material. Each subfolder mirrors a drop-in mount dir at the repo root — copy it across (or bind-mount your own) and restart.
| Path | Copy into | Example of |
|---|---|---|
plugins/scheduling/ |
plugins/scheduling/ |
The reference plugin: a list page over an upstream REST service, a CSRF-guarded form that forwards a write, and permission-gated nav — built from the core building blocks, holding no state. Imports the host surface as #plugin-api. See its README and the plugin contract. |
plugins/admin/ |
plugins/admin/ |
The system-admin plugin: the Users / Groups / Roles / OAuth2-clients screens for running Plainpages itself. A system plugin — it administers the Ory identity stack via the privileged ctx.system surface instead of its own upstream. Copy it in to get a GUI for user & group admin. See its README. |
config/menu.ts |
config/menu.ts |
The central menu override + branding template (rename/group/order/hide nav, set app name/logo/theme). Imports its typed builder as #menu-config; config/ ships empty, so defaults apply until you copy this in. See The menu system. |
shifts-upstream/ |
— (dev service) | A throwaway mock backend the reference plugin reads/writes — stdlib-only, in-memory, no auth. Stands in for your real service so docker compose up shows the plugin working out of the box; in production you point SCHEDULING_UPSTREAM at the real thing instead. |