mirror of
https://github.com/beekeeper-studio/beekeeper-studio.git
synced 2026-03-13 10:12:54 +08:00
90 lines
2.9 KiB
Markdown
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! 🎉
|