Skip to content

Use your own plugin source

You don’t need anyone’s permission to ship a plugin. Push a public GitHub repository with a filer-plugins.json at its root, and anyone can add it as a source in Connect.

A source is a public GitHub repository with a filer-plugins.json at the root:

{
"name": "my-filer-plugins",
"displayName": "My Filer Plugins",
"owner": { "name": "you", "url": "https://github.com/you" },
"version": "0.1.0",
"plugins": [
{
"name": "word-count",
"source": "./plugins/word-count",
"description": "Counts the words in a text file.",
"version": "0.1.0",
"category": "utility",
"tags": ["files"]
}
]
}

Each entry’s source is a string path to that plugin’s folder, relative to the repository root — the field-by-field breakdown is on filer-plugins.json. The repository name becomes the source name shown in Connect.

In Connect › Plugin Sources › Add, a user pastes the repository’s URL or types owner/repo. Filer reads filer-plugins.json from that repository and lists its plugins under Available.

version appears twice: once on the catalog entry (plugins[].version) and once inside that plugin’s own manifest. Connect › Updates compares the source’s latest commit against what’s installed and offers a reinstall when a plugin’s version has moved.

name in the catalog entry must equal name in that plugin’s filer-plugin.json. If they drift, Connect and the installed plugin disagree about which plugin this is.

A source must be reachable without credentials, so a private repository can’t be added as a source.