One repository, one package per DSH bundle. Each package under packages/ is a
self-contained bundle (dsh.bundle.patch, optional dsh.client) and installs on
its own; the repository adds no runtime layer of its own.
| Package | Directory | What it does |
|---|---|---|
@local/dsh-composer-rich-input |
packages/composer-lists |
List continuation and hanging indent, Tab/Shift+Tab indent, Ctrl+E line end in the Web composer. |
A bundle in a subdirectory installs with the package path appended to the Git spec:
git+https://github.com/RunjiLiu/dsh-plugins.git#<commit>&path:/packages/composer-lists
Use the same form in Plugins → Add plugin, or point plugin_manager's
install_bundle at it. Keep the commit pinned; #main resolves the branch but
pnpm may serve a cached copy.
git clone https://github.com/RunjiLiu/dsh-plugins.git ~/dsh-pluginsThen install the package directory (a link: dependency, so later
git pull updates it without reinstalling):
/root/dsh-plugins/packages/composer-lists
packages/<name>/with its ownpackage.jsondeclaringdsh.bundle.patch(anddsh.clientfor a browser half).- A unique package name,
locale/*.jsonmetadata and anicon.svg. - Commit, push, install with the
&path:/packages/<name>spec.