How Obsidian pulls community plugins
masterObsidian uses a specific mechanism to discover and install community plugins from GitHub. Understanding this lifecycle is critical for developers ensuring their plugins are discoverable and installable:
- Discovery: Obsidian reads
community-plugins.jsonin this repository. It uses thename,author, anddescriptionfields for search functionality. - Metadata Fetching: When a user views a plugin's detail page, Obsidian fetches the
manifest.jsonandREADME.mddirectly from your GitHub repository. - Version Checking: The
manifest.jsonin your repo is used to determine the latest version. If yourmanifest.jsonrequires an Obsidian version higher than the user's current app version, Obsidian consultsversions.jsonin this repo to find the latest compatible version of your plugin. - Installation: When a user clicks install, Obsidian looks for GitHub releases tagged identically to the version specified in your
manifest.json. - File Download: Obsidian downloads
manifest.json,main.js, andstyles.css(if present) from your GitHub releases and stores them in the user's vault.
Required Files in your GitHub Repo:
manifest.json(defines version and requirements)main.js(the plugin logic)README.md(plugin description)styles.css(optional, for plugin styling)