Zync fetches marketplace.json from this repository to display available extensions in the Marketplace tab of Settings. When a user clicks Install, Zync downloads the .zip from downloadUrl and extracts it to ~/.config/zync/plugins/.
| Extension | Type | Description |
|---|---|---|
| SSH Quick Commands | tool | SSH utility commands in the command palette |
| Connection Stats | tool | Live CPU/memory/disk stats in the status bar |
| PM2 Monitor | panel | PM2 process manager dashboard |
See the Plugin Catalog for the full catalog with links and versions.
- Fork this repository and add your extension under
plugins/<your-plugin>/. - Package it as a
.zipcontainingmanifest.jsonand entry file (e.g.main.js). - Host the
.zipas a GitHub Release asset or public URL. - Edit
marketplace.jsonto add your entry. - Open a Pull Request for review.
Every extension must include manifest.json at the root of the zip:
{
"id": "com.yourname.plugin.my-plugin",
"name": "My Plugin",
"version": "1.0.0",
"main": "main.js"
}| Field | Required | Description |
|---|---|---|
id |
Yes | Unique reverse-domain ID (e.g. com.zync.plugin.name) |
name |
Yes | Display name |
version |
Yes | Semver version string |
main |
No | Entry JS file (tool plugins) |
style |
No | CSS file (theme plugins) |
mode |
No | "dark" or "light" (themes) |
preview_bg |
No | Background color hex for theme preview |
preview_accent |
No | Accent color hex for theme preview |
Your main.js has access to the zync global:
// Register command palette entry
zync.commands.register('my-plugin.hello', {
label: 'My Plugin: Say Hello',
description: 'Prints hello to the terminal',
handler: () => zync.terminal.sendInput('echo Hello from My Plugin!\n'),
});
// Listen to events
zync.events.on('connection:connected', () => {
console.log('Connected!');
});
// Update status bar
zync.statusBar.setText('my-plugin', 'Hello World');{
"plugins": [
{
"id": "com.example.plugin.my-plugin",
"name": "My Plugin",
"version": "1.0.0",
"description": "Short description of what the plugin does.",
"author": "Your Name",
"downloadUrl": "https://github.com/yourname/my-plugin/releases/download/v1.0.0/my-plugin.zip",
"thumbnailUrl": "https://...",
"icon": "Terminal",
"type": "tool"
}
]
}MIT