Submit your plugin

Listing is free and takes about twenty minutes. There is no review fee, no revenue share and no exclusivity clause — we only ask that your plugin is real, documented and honest about what it does.

Step 01

Publish a public repository

The code must be publicly readable. If the plugin lives in a monorepo, document the package path in your README.

Step 02

Add the dsh-plugin topic

On GitHub, add the topic dsh-plugin so the index can discover your repository automatically.

Step 03

Document trust signals

Include an install command, license, maintainer contact and an explicit list of permissions or network access the plugin needs.

Before you submit

Six-point checklist

If any box is unchecked, the listing will be sent back rather than rejected — fix it and resubmit.

☑Public repositorySource is readable without a login, and the license is declared.
☑Topic addedThe dsh-plugin topic is present on the repository.
☑Install command worksThe README command installs successfully on a clean DSH profile.
☑apply(ctx) exportThe package exports apply(ctx) and loads without errors.
☑Honest descriptionNo inflated claims, no hidden telemetry, permissions disclosed.
☑MaintainedThere is a maintainer contact and a plausible update history.

Listing requirements

  • Public GitHub repository (or public npm package with a linked source repo)
  • The dsh-plugin topic applied to the repository
  • A README with a copy-pasteable install command
  • Root package.json with name, version, license and repository fields
  • Plugin entry exporting apply(ctx)
  • An npm package if you want one-click install inside the in-app hub

What gets a listing removed

Bundled credentials, undisclosed telemetry, obfuscated code, malware, or a repository that no longer builds. We also remove listings whose description materially misrepresents what the plugin does.

Review time

Most submissions are reviewed within a few days. You will be contacted through the repository issue or the maintainer address on your profile.

Copy & paste

Submission template

Fill this in and include it in your submission issue or PR.

submission.md
## Plugin submission

- **Name:** dsh-EXAMPLE
- **Title:** Human-friendly plugin name
- **Repository:** https://github.com/OWNER/REPO
- **npm package:** https://www.npmjs.com/package/dsh-EXAMPLE (optional)
- **Author:** @github-handle
- **Category:** tools        # interface | session | memory | tools | agent | workflow | integration | model | dev | knowledge | fun
- **License:** MIT

### What it does
One or two sentences, no marketing language.

### Install
```bash
dsh plugin --profile web add dsh-EXAMPLE
```

### Permissions / network access
List every external host, credential or filesystem path the plugin touches.

### Trust signals
- [ ] Public repository
- [x] dsh-plugin topic added
- [x] README documents install and uninstall
- [x] Exports apply(ctx)
- [x] No telemetry
README badge
[![Listed on DSH Plugin Hub](https://dsh-plugin.ai.in/badges/listed.svg)](https://dsh-plugin.ai.in/plugins.html)

Submission FAQ

Does listing cost anything?

No. Listing, browsing and installing are free. There is no paid placement — ranking is by stars, recency and verification, all of which are visible on each card.

Can I list a closed-source plugin?

No. The hub only indexes plugins whose source is publicly reviewable. A public wrapper around a closed backend is acceptable if the wrapper itself is open and the backend is disclosed.

My repo has the topic but is not listed. Why?

The index syncs periodically and also requires the listing requirements above. If it has been several days, open a submission issue with your repository URL.

How do I update my listing?

Most fields — version, stars, description — refresh automatically from npm and GitHub. For a category change or a renamed package, open a submission issue referencing the existing listing.