Publish your plugin
Package a plugin as an installable bundle and get it indexed here.
A bundle is an npm package that ships a configuration layer. Three files:
my-plugin/
βββ package.json # declares dsh.bundle
βββ cordis.patch.yml # the layer applied when a profile lists this bundle
βββ index.js # the plugin module the patch rows reference
package.json:
{
"name": "dsh-my-plugin",
"version": "0.1.0",
"type": "module",
"main": "index.js",
"files": ["index.js", "cordis.patch.yml"],
"keywords": ["dsh", "dsh-plugin"],
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
}
cordis.patch.yml:
- insert:
- id: my-plugin
name: dsh-my-plugin
index.js:
export const name = 'my-plugin'
export function apply(ctx) {
// register what your plugin does; cleaned up automatically on unload
}
Getting indexed
Publish to npm with the dsh-plugin keyword. The catalog reads the npm registry
daily, so a new release appears within a day of publishing β there is no
submission form and nothing to wait for a human to approve.
If nothing shows up, the manifest is almost always the reason. Rather than guess, paste the package name into the publish check: it runs the same rule the indexer runs, against your live package on npm, and says what is missing.
Versioning
A new version is a normal npm publish. The catalog reads the registry daily and picks up the new latest release automatically β version, description, keywords, and repository link all follow. There is nothing to bump on this site.
Deprecation
Deprecating a package on npm is respected: the listing is marked archived and hidden from default listings, while its permalink stays valid so existing links keep working. The page is never deleted.
Claiming a listing β no account needed
There are no accounts, submission forms, or moderators here. If the npm name is
yours, the listing is effectively yours: edit the package metadata β
description, keywords, repository β and the listing changes with the next
daily sync. Publishing a new package under a name you own creates the listing
the same way.
Last updated 2026-08-22