A Tauri 2 desktop manager for Dec 18 Studios OFX plugins. Installs, updates, and manages plugin bundles across macOS, Windows, and Linux.
- Catalog-driven plugin browsing with categories, search, and sorting
- One-click install/update/uninstall for OFX plugin bundles
- SHA256 verification of all downloaded packages
- Host process detection (blocks install while Resolve/Nuke are running)
- Backup and rollback on failed updates
- Auto-updater for the manager app itself
- Donation link integration
- PhotoChemist — 43-band spectral film emulation (CUDA, Metal, OpenCL)
- Node.js (LTS)
- Rust toolchain
- Platform build tools (Xcode CLI on macOS, Visual Studio Build Tools on Windows)
npm install
npm run tauri:devnpm run tauri:buildCreate dec18studios/Dec18-Plugin-Manager on GitHub.
Settings > Pages > Source: GitHub Actions.
npx @tauri-apps/cli signer generate -w ~/.tauri/dec18studios.key| Secret | Purpose |
|---|---|
TAURI_SIGNING_PRIVATE_KEY |
Contents of the .key file |
TAURI_SIGNING_PRIVATE_KEY_PASSWORD |
Password used during key generation |
Replace REPLACE_WITH_YOUR_TAURI_SIGNING_PUBKEY in src-tauri/tauri.conf.json with the generated public key.
git init && git add . && git commit -m "Initial commit"
git remote add origin git@github.com:dec18studios/Dec18-Plugin-Manager.git
git push -u origin mainThe CI workflows will build the app for all platforms and deploy the catalog to GitHub Pages.
- Create a
manager-release-config.jsonfor the plugin (seedocs/plugins/photochemist/manager-release-config.jsonas a template). - Place it in
docs/plugins/<pluginId>/manager-release-config.json. - Create a GitHub release in the plugin repo with platform assets matching the
assetPatternregexes. - Add a sample fixture in
tools/fixtures/<pluginId>-releases.sample.json. - Run
npm run generate:plugin-manifeststo regenerate manifests. - Add an embedded manifest reference in
src-tauri/src/catalog.rsfor offline fallback.
See PLUGIN_MANAGER_DEVELOPMENT_NOTES.md for detailed architecture, workflow, and deployment notes.
Plugin installation clears quarantine flags on unsigned bundles. Once plugins are properly signed and notarized, this behavior can be removed.