This directory contains the structure for the TonieToolbox Plugin Repository.
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
manifests/
└── tonietoolbox/
└── tonies_loader/
└── 1.0.0/
└── manifest.json
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"]
}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"
}tool- Utility plugins providing services (e.g., ToniesLoader)gui- GUI components and interfacesprocessor- File processors and convertersintegration- External service integrationstheme- Visual themeslanguage- Translation packs
-
Develop Your Plugin
-
Add your Manifest
-
Submit Pull Request
- Automated validation runs on all PRs
- Checks for duplicate IDs, valid manifests, and consistency
-
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
Every PR and push is automatically validated:
- ✅ No duplicate plugin IDs
- ✅ Valid manifest structure
- ✅ Consistent index mapping
- ✅ Proper semantic versioning
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.
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