22975cdf93e207333b34ede77661aba1efe430ce
Plugin Directory
A simple git-based plugin registry for the Plugin Host system.
📦 What This Is
A collection of JSON files that describe available plugins. The Plugin Host fetches these definitions directly from the git repository.
🚀 How It Works
- Plugin authors create a JSON file in
plugins/directory - Submit via Pull Request
- Gitea Actions validate the submission
- If valid, maintainer merges the PR
- Plugin Host automatically discovers the new plugin
📝 Submitting a Plugin
1. Fork this repository
2. Create your plugin definition
Create plugins/your-plugin-id.json:
{
"id": "your-plugin-id",
"name": "Your Plugin Name",
"version": "1.0.0",
"description": "What your plugin does",
"author": "your-gitea-username",
"repository": "http://synbox.ruv.wtf:8418/you/your-plugin.git",
"downloadUrl": "http://synbox.ruv.wtf:8418/you/your-plugin/archive/main.zip",
"homepage": "http://synbox.ruv.wtf:8418/you/your-plugin",
"tags": ["category", "keywords"]
}
Required fields:
id- Must match filename (without .json)name- Display nameversion- Semantic version (X.Y.Z)description- Brief descriptionauthor- Your Gitea username (must match PR creator)repository- Git repository URL
3. Create Pull Request
Gitea Actions will automatically validate:
- ✅ File is in
plugins/directory - ✅ File is valid JSON
- ✅ All required fields present
- ✅ ID matches filename
- ✅ Author matches your username
- ✅ Version format is valid
- ✅ URLs are valid
Note: Don't edit plugins/index.json - it's automatically generated when your PR is merged!
4. Merge
If validation passes, maintainer will merge your PR. The index.json file will be automatically updated.
🗑️ Removing Your Plugin
Only plugin authors can remove their own plugins:
- Fork this repository
- Delete
plugins/your-plugin-id.json - Create Pull Request
🔄 Updating Your Plugin
- Fork this repository
- Edit
plugins/your-plugin-id.json - Update version number and any other fields
- Create Pull Request
📋 Plugin Schema
See SCHEMA.md for full schema documentation.
🔍 Validation Rules
PRs must:
- Only modify files in
plugins/directory - Only modify
.jsonfiles - Have valid JSON
- Match the plugin schema
- Have author field matching PR creator
- Have plugin ID matching filename
🏗️ Directory Structure
Plugin-Directory/
├── plugins/
│ ├── example-plugin.json
│ ├── your-plugin.json
│ └── ...
├── .gitea/
│ ├── workflows/
│ │ └── validate-pr.yml
│ └── scripts/
│ └── validate-pr.js
└── README.md
🔗 Plugin Host Integration
The Plugin Host fetches plugin definitions from:
http://synbox.ruv.wtf:8418/litruv/Plugin-Directory/raw/branch/main/plugins/
No server needed - just static JSON files served by Gitea!
📖 Example Plugins
- example-plugin.json - Reference implementation
License
MIT
Description
Languages
JavaScript
100%