Degoog — Contributing

Adding built-in plugins and engines to the codebase.

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:

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.