# Plugin registry

`registry.json` is the curated list of third-party plugins Open CAD Studio
offers in its **Plugin Manager → marketplace**. The app fetches it from this
repo's `main` branch at runtime, so adding an entry makes a plugin discoverable
to every user without an app update.

## Add your plugin

Open a pull request adding one object to the array in
[`registry.json`](registry.json):

```json
{
  "repo": "your-account/your-plugin-repo",
  "name": "Human-readable name",
  "description": "One line describing what it does."
}
```

Requirements for the linked repo:

- Builds a `cdylib` against [`ocs_plugin_api`](../crates/ocs_plugin_api) and
  exports the host symbols via `ocs_plugin_api::export_plugin!`.
- Publishes per-platform binaries plus `plugin.toml` as **GitHub Release**
  assets (see `crates/ocs_example_plugin` and its release workflow for a
  template). Asset names carry the platform, e.g.
  `your.plugin-linux-x86_64.so`, `…-windows-x86_64.dll`, `…-macos-aarch64.dylib`.
- `plugin.toml` declares an `api_version` compatible with the host.

The host reads the release matching the user's platform, checks the API
version, and installs it into the user's plugins folder.

> Listing is curation, not endorsement or a security review. Installing a
> plugin runs its native code; users install at their own risk.
