Marketplace
Find plugins, and publish your own.
The marketplace is a registry of plugins, browsable from inside Sharkord. It is a single JSON file in a public repository: github.com/Sharkord/plugins.
For Users
Open the server settings, browse the marketplace, and install with one click. Sharkord downloads the release from the URL in the registry and checks it against the published checksum before unpacking it.
Anyone can publish. The verified badge means the maintainers recognise the
publisher, not that the code was audited. See Security.
For Developers
Publishing is a pull request against the registry repository, adding an entry that points at a GitHub release of your plugin.
Each entry carries the plugin's metadata (id, name, description, author, logo, optional homepage, tags, categories, screenshots) and a list of versions. Each version has a version, an HTTPS downloadUrl, a checksum, the sdkVersion it targets, its size, and a timestamp.
Step 1: Create a GitHub Token
The publish script needs a Personal Access Token with the repo scope, so it can create a release in your plugin's repository.
- GitHub → Settings → Developer settings.
- Personal access tokens → Generate new token.
- Select the
reposcope and generate it.
Copy .env.example to .env in your plugin and add it:
GITHUB_TOKEN=your_token_hereStep 2: Point It at Your Repository
publish.ts in the scaffold names the repository the release goes to:
import { publish } from "@sharkord/plugin-builder";
import { PLUGIN_SDK_VERSION } from "@sharkord/plugin-sdk";
const result = await publish({
githubToken: process.env.GITHUB_TOKEN,
repo: "owner/repo",
sdkVersion: PLUGIN_SDK_VERSION,
});
console.log("Plugin published successfully", result.releaseUrl);Leave repo out and it is read from your git remote.
Step 3: Publish
bun run publishThe script builds the plugin, syncs manifest.json with your package.json version and the SDK version, creates a GitHub release tagged v<version>, and uploads two assets: the plugin archive, and a <version>.json file holding the metadata the registry needs, checksum and download URL included.
This assumes a public GitHub repository. Hosting the release elsewhere means assembling that metadata by hand.
Step 4: Open a PR
Add your generated version file to github.com/Sharkord/plugins, following the layout of the existing entries. Once it is merged, your plugin shows up in every server's marketplace.
Publishing a new version is the same flow again: bump the version in package.json, run the script, open a PR with the new version file.
Servers only offer a version whose sdkVersion matches their own, so publish
a new release after every SDK bump or existing installs cannot update.