Built-in plugins (commands and slots)
Built-ins live in src/commands/builtins/ and use the same folder structure and discovery as plugins in data/plugins/. Each built-in is a folder (e.g. help, ip, ai-summary) with:
index.jsorindex.ts— entry point (required).- Optional:
template.html,style.css,script.js(loaded and served like plugin assets).
Export a BangCommand (as export default or export const command) for bang commands — same contract as plugin bang commands (name, description, trigger, execute, optional settingsSchema, configure, init, isConfigured, aliases, naturalLanguagePhrases). The core scans src/commands/builtins/ at startup; no separate registration array.
Export a slot (as slot or slotPlugin) for slot plugins — e.g. the built-in AI Summary is a slot with position: "at-a-glance". See At a glance slot.
Scripts from built-in folders are served at /plugins/<folderName>/script.js (same URL shape as user plugins); the core resolves the path from src/commands/builtins/.
Adding a built-in engine
Built-in engines are registered in src/engines/. Follow the same SearchEngine contract as custom engines (name, executeSearch, optional bangShortcut, settingsSchema, configure). Add the engine to the registry so it appears in Settings → Engines and in search.