# tool-neuron-plugins Public catalog of plugin bundles consumed by the ToolNeuron Android app. The app reads `plugins.json` from this repo on every refresh and lists the plugins it advertises. When the user installs a plugin, the app downloads the zip at `download`, verifies `sha256`, extracts it into the plugin store, and deletes the zip. ## Layout ``` plugins.json plugins///.zip ``` Each zip contains: - `manifest.json` — id, version, apiVersion, entryClass, capabilities, hasNativeCode - `classes*.dex` — plugin code (multidex supported) - `lib//*.so` — optional native libraries (only when `hasNativeCode: true`) ## Adding a plugin 1. Build the plugin module (`./gradlew :plugins::packagePlugin`) 2. Drop the zip under `plugins///` 3. Add an entry to `plugins.json` with `size` and `sha256` 4. `hf upload Void2377/tool-neuron-plugins . .` The schema versions itself via `schemaVersion`; the app refuses to parse catalogs whose `schemaVersion` is newer than it understands.