tool-neuron-plugins / README.md
Void2377's picture
initial plugin catalog: notes / counter / expense
cf7be65 verified

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/<id>/<version>/<name>.zip

Each zip contains:

  • manifest.json — id, version, apiVersion, entryClass, capabilities, hasNativeCode
  • classes*.dex — plugin code (multidex supported)
  • lib/<abi>/*.so — optional native libraries (only when hasNativeCode: true)

Adding a plugin

  1. Build the plugin module (./gradlew :plugins:<name>:packagePlugin)
  2. Drop the zip under plugins/<id>/<version>/
  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.