This documentation has been reorganized. See the Plugin Author Guide.
| Guide | What's Inside |
|---|---|
| Overview & Quick Start | What plugins are, tools vs plugins, quick start, complete example |
| Manifest | plugin.json reference — fields, priority bands, directory structure |
| Hooks | All 10 hook points, HookEvent fields, system access, examples |
| Voice Commands | Keyword triggers that bypass the LLM — match modes, handlers, macros |
| Tools | Tool file format, schema flags, scopes, reading settings, privacy patterns |
| Routes | Custom HTTP endpoints — path params, auth enforcement, handler signature |
| Schedule | Cron tasks — manifest fields, handler contract, examples |
| Settings | Manifest-declared settings, custom web UI, settings API, danger confirms |
| Web UI | Shared JS modules, CSS variables, modals, CSRF, style injection |
| Signing | Verification states, sideloading, signing your own plugins |
| Lifecycle | Startup, live toggle, hot reload, rescan, error isolation, full API reference |
| AI Reference | Compact reference for Sapphire's own use |
For simple tool creation (no hooks/schedules needed), see TOOLMAKER.md.