Files
beekeeper-studio/docs/plugin_development/publishing-plugins.md

90 lines
2.9 KiB
Markdown

---
title: Publishing Plugins
summary: "Learn how to package, distribute, and publish your Beekeeper Studio plugins."
icon: material/publish
---
# Publishing Plugins
!!! warning "Beta Feature"
The plugin system is in beta (available in Beekeeper Studio 5.3+). Things might change, but we'd love your feedback!
## Publishing Process
### 1. Create a GitHub Repository
Create a public GitHub repository. It should contain at least a `README.md` file.
### 2. Create a GitHub Release
!!! important "Version Matching"
Make sure your git tag version matches the version in your `manifest.json` file. For example, if your manifest shows `"version": "1.0.0"`, use tag `v1.0.0`.
#### Using the Starter Template
If you created your project using our starter template, you already have a GitHub workflow that automates this process! Simply create and push a semver tag with "v" prefix:
```bash
git tag v1.0.0
git push origin v1.0.0
```
The workflow will automatically:
- Build your plugin
- Create the ZIP file
- Generate a draft release with the required assets
!!! important "Publish the Draft"
The workflow creates a **draft release**. You still need to go to GitHub, review the draft, and click **"Publish release"** to make it public and mark it as the latest release.
#### Manual Release Process
If you're not using the starter template, create a **latest** release manually with a **semver tag** prefixed with "v" (e.g., `v1.0.0`) and **two required assets**:
1. **`manifest.json`** - Your plugin manifest file
2. **`{pluginId}-{version}.zip`** - ZIP file containing all plugin files
For example, a plugin with:
- **Plugin ID**: `my-awesome-plugin`
- **Version**: `1.0.0` (in manifest.json)
- **Git tag**: `v1.0.0` (must match manifest version)
Your release must include:
- `manifest.json`
- `my-awesome-plugin-1.0.0.zip`
!!! example "Real Example"
See the [AI Shell repository](https://github.com/beekeeper-studio/bks-ai-shell) for a working example.
### 3. Submit to Plugin Registry
1. **Fork** the registry repository: [beekeeper-studio-plugins](https://github.com/beekeeper-studio/beekeeper-studio-plugins)
2. **Edit `plugins.json`** and add your plugin entry:
```diff
[
{
// Other plugins...
},
+ {
+ "id": "my-awesome-plugin",
+ "name": "My Awesome Plugin",
+ "author": "Your Name",
+ "description": "Brief description of what your plugin does",
+ "repo": "yourusername/my-awesome-plugin"
+ }
]
```
3. **Create a pull request** with your changes
### 4. Review and Approval
Once you submit your PR:
1. **Review process** - The maintainers will review your plugin for quality and security
2. **Approval and merge** - After approval, your PR will be merged
3. **Public availability** - Your plugin becomes available in the Beekeeper Studio Plugin Manager
Users can then discover and install your plugin directly from within Beekeeper Studio! 🎉