https://github.com/silo-code/silo-extensions
Community extensions for Silo — built on the public Extension SDK
https://github.com/silo-code/silo-extensions
Last synced: about 10 hours ago
JSON representation
Community extensions for Silo — built on the public Extension SDK
- Host: GitHub
- URL: https://github.com/silo-code/silo-extensions
- Owner: silo-code
- Created: 2026-06-19T14:13:51.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2026-06-19T18:13:23.000Z (7 days ago)
- Last Synced: 2026-06-19T20:07:48.228Z (7 days ago)
- Language: TypeScript
- Homepage: https://getsilo.dev/guide/what-is-an-extension
- Size: 30.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# silo-extensions
Official Silo extensions distributed outside the main [silo](https://github.com/silo-code/silo) repository. Each extension lives in its own top-level folder and is an independently installable package.
## Extensions
| Extension | Latest | Description |
|---|---|---|
| [Documents Side Panel](./docs-panel/) | [](https://github.com/silo-code/silo-extensions/releases?q=docs-panel) | Markdown documentation browser with configurable folder roots |
| [Local Web Viewer](./local-web-viewer/) | [](https://github.com/silo-code/silo-extensions/releases?q=local-web-viewer) | Embed local dev servers and `file://` pages as dock panels alongside your code |
## Installing an extension
### From a GitHub Release (recommended)
1. Go to [Releases](../../releases) and find the release for the extension you want.
2. Right-click the `.tgz` asset and **Copy link address**.
3. In Silo: **Settings → Extensions**, paste the URL into the input field and click **Install**.
### From source
```sh
git clone https://github.com/silo-code/silo-extensions
cd silo-extensions/
npm install
npm run build
```
Then in Silo: **Settings → Extensions → Install from folder** and point at the extension directory.
## Development
### Structure
Each extension is a self-contained folder:
```
/
src/ source files
dist/ compiled bundle (gitignored; built by CI)
build.mjs esbuild config
package.json silo metadata (id, engine, permissions)
tsconfig.json
```
### Building
```sh
cd
npm install
npm run build # one-shot
npm run build:watch # watch mode
```
Or build all extensions from the repo root:
```sh
npm run build:all
```
### Releases
Merging a PR into `main` automatically:
1. Detects which extension's source files changed.
2. Bumps the version — **patch** by default; add a `minor` or `major` label to the PR to override.
3. Builds the bundle, packs a tarball, and publishes a [GitHub Release](../../releases) tagged `@v`.
No manual version bumping or tagging needed.
### Adding a new extension
1. Create a top-level folder for the extension (use an existing one as a template).
2. Add a build + typecheck job to `.github/workflows/ci.yml`.
3. Add a release job to `.github/workflows/release.yml`.
## Requirements
- Silo 0.7 or later
- Node.js 20 or later (for building from source)