Files
plainleaf/docs/Plugs.md
T

26 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
references:
- client/plugos/*
- plugs/builtin_plugs.ts
lastReviewed: 2026-08-03
---
SilverBullet at its core is bare bones in terms of functionality, most of its power it gains from **plugs** and [[Space Lua]].
Plugs are an extension mechanism that runs “plug” code in the browser using [web workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers).
Plugs can hook into SB in various ways:
* Define new commands and keybindings
* Respond to various events triggered either on the server or client-side
* Run recurring and background tasks.
* Define their own extension mechanisms through custom events
Each plug runs in its own _sandboxed environment_ and communicates with SB via _syscalls_ that expose a vast range of functionality. Plugs can be loaded, unloaded, and updated without having to restart SilverBullet itself.
These days, plugs are distributed as assets attached to [[Library|libraries]], ending in a file name with `.plug.js`.
# Available plugs
You can discover libraries and plugs via the [SilverBullet ‘Plugs and Libraries’](https://community.silverbullet.md/c/plugs/14) or through [[Configuration Manager#Libraries]].
# Development
Want to develop your own plugs? Have a look at [[Plugs/Development]].