Skip to content

TonieToolbox/tonietoolbox_plugins

Repository files navigation

TonieToolbox Plugin Repository

This directory contains the structure for the TonieToolbox Plugin Repository.

Repository Structure

tonietoolbox_plugins/
├── index.json                      # Master plugin catalog
└── manifests/                      # Plugin manifests
    └── {author}/                   # Author name
        └── {plugin_name}/          # Plugin name
            └── {version}/          # Version number (semver)
                └── manifest.json   # Plugin manifest

Example Structure

manifests/
└── tonietoolbox/
    └── tonies_loader/
        └── 1.0.0/
            └── manifest.json

Index File Format

The index.json file provides a searchable catalog of all available plugins:

{
  "version": "1.0",
  "last_updated": "2025-11-16T12:00:00Z",
  "plugins": [
    {
      "id": "com.author.plugin_name",
      "author": "Author",
      "name": "plugin_name",
      "display_name": "Plugin Display Name",
      "versions": ["1.1.0", "1.0.0"],
      "plugin_type": "tool|gui|processor|integration",
      "description": "Short description",
      "tags": ["tag1", "tag2"],
      "min_tonietoolbox_version": "1.0.0"
    }
  ],
  "categories": {
    "tool": ["com.author.plugin1"],
    "gui": ["com.author.plugin2"]
  },
  "verified_authors": ["Author1", "Author2"]
}

Manifest File Format

Each plugin version has a manifest.json file:

{
  "id": "com.author.plugin_name",
  "name": "Plugin Display Name",
  "version": "1.0.0",
  "author": "Author Name",
  "description": "Detailed plugin description",
  "plugin_type": "tool",
  "homepage": "https://github.com/author/plugin",
  "license": "",
  "min_tonietoolbox_version": "1.0.0",
  "max_tonietoolbox_version": "2.0.0",
  "tags": ["tag1", "tag2"],
  "repository": "https://github.com/author/plugin",
  "changelog_url": "https://github.com/author/plugin/blob/main/CHANGELOG.md",
  "screenshots": [
    "https://example.com/screenshot1.png"
  ],
  "dependencies": {
    "plugins": [
      {
        "id": "com.other.plugin",
        "version": ">=1.0.0"
      }
    ],
    "python": [
      "requests>=2.28.0",
      "pillow>=9.0.0"
    ]
  },
  "install": {
    "type": "git|archive",
    "url": "https://github.com/author/plugin.git",
    "branch": "main",
    "subdir": "plugin_directory",
    "checksum": "sha512-hash",
    "checksum_algorithm": "sha512"
  },
  "config_schema": {
    "setting_name": {
      "type": "string|integer|boolean",
      "default": "default_value",
      "description": "Setting description"
    }
  },
  "permissions": ["filesystem", "network"],
  "entry_point": "plugin.PluginClass"
}

Plugin Types

  • tool - Utility plugins providing services (e.g., ToniesLoader)
  • gui - GUI components and interfaces
  • processor - File processors and converters
  • integration - External service integrations
  • theme - Visual themes
  • language - Translation packs

Submission Process

  1. Develop Your Plugin

  2. Add your Manifest

  3. Submit Pull Request

    • Automated validation runs on all PRs
    • Checks for duplicate IDs, valid manifests, and consistency
  4. Wait for Approval & Merge

    • Once approved, manifest is merged
    • Index and changelog are automatically updated
    • Plugin becomes available in the plugin manager
    • Users can install via PluginManager

Repository Quality Assurance

Automatic Validation

Every PR and push is automatically validated:

  • ✅ No duplicate plugin IDs
  • ✅ Valid manifest structure
  • ✅ Consistent index mapping
  • ✅ Proper semantic versioning

Integrity Verification

Manual on-demand:

  • 🔐 Downloads all plugin archives
  • 🔍 Verifies SHA-512 checksums
  • 📊 Reports any mismatches or broken URLs
  • 🛡️ Ensures repository integrity

See .github/workflows/ for workflow details.

Repository URL

When deployed, this repository will be available at:

https://raw.githubusercontent.com/TonieToolbox/tonietoolbox_plugins/main/

Plugins are fetched from:

https://raw.githubusercontent.com/TonieToolbox/tonietoolbox_plugins/main/manifests/{author}/{plugin_name}/{version}/manifest.json

About

TonieToolbox Plugin Repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages