Simplify README

This commit is contained in:
2026-04-17 03:37:21 +10:00
parent 4df6aaad46
commit b78670c871

127
README.md
View File

@@ -1,124 +1,55 @@
# Plugin Directory # Plugin Directory
A simple git-based plugin registry for the Plugin Host system. Git-based plugin registry for Plugin Host. No server needed - just JSON files.
## 📦 What This Is ## How to Submit a Plugin
A collection of JSON files that describe available plugins. The Plugin Host fetches these definitions directly from the git repository. ### 1. Create your plugin JSON file
## 🚀 How It Works Filename format: `plugins/{username}-{plugin-name}.json`
1. Plugin authors create a JSON file in `plugins/` directory Example: `plugins/litruv-example-plugin.json`
2. Submit via Pull Request
3. Gitea Actions validate the submission
4. If valid, maintainer merges the PR
5. 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`:
```json ```json
{ {
"id": "your-plugin-id", "id": "litruv-example-plugin",
"name": "Your Plugin Name", "name": "Example Plugin",
"version": "1.0.0", "version": "1.0.0",
"description": "What your plugin does", "description": "What your plugin does",
"author": "your-gitea-username", "author": "litruv",
"repository": "http://synbox.ruv.wtf:8418/you/your-plugin.git", "repository": "http://synbox.ruv.wtf:8418/litruv/Plugin-Example.git",
"downloadUrl": "http://synbox.ruv.wtf:8418/you/your-plugin/archive/main.zip", "homepage": "http://synbox.ruv.wtf:8418/litruv/Plugin-Example",
"homepage": "http://synbox.ruv.wtf:8418/you/your-plugin", "tags": ["example"]
"tags": ["category", "keywords"]
} }
``` ```
**Required fields:** **Required fields:** `id`, `name`, `version`, `description`, `author`, `repository`
- `id` - Must match filename (without .json)
- `name` - Display name
- `version` - Semantic version (X.Y.Z)
- `description` - Brief description
- `author` - Your Gitea username (must match PR creator)
- `repository` - Git repository URL
### 3. Create Pull Request **Important:**
- Filename must start with your username: `{username}-`
- Plugin `id` must match filename (without .json)
- `author` field must match your Gitea username
Gitea Actions will automatically validate: ### 2. Create a Pull Request
- ✅ 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! Push your branch and create a PR. Gitea Actions will automatically:
- Validate your submission
- Post approval comment if valid
- Auto-merge and update the plugin index
### 4. Merge That's it! Your plugin will be available immediately after merge.
If validation passes, maintainer will merge your PR. The `index.json` file will be automatically updated. ## Updating or Removing
## 🗑️ Removing Your Plugin - **Update:** Create PR with modified JSON (version bump required)
- **Remove:** Create PR deleting your plugin JSON file
Only plugin authors can remove their own plugins: You can only modify/remove plugins you authored.
1. Fork this repository ## Plugin Discovery
2. Delete `plugins/your-plugin-id.json`
3. Create Pull Request
## 🔄 Updating Your Plugin
1. Fork this repository
2. Edit `plugins/your-plugin-id.json`
3. Update version number and any other fields
4. Create Pull Request
## 📋 Plugin Schema
See [SCHEMA.md](SCHEMA.md) for full schema documentation.
## 🔍 Validation Rules
PRs must:
- Only modify files in `plugins/` directory
- Only modify `.json` files
- Have valid JSON
- Match the plugin schema
- Have author field matching PR creator
- Have plugin ID matching filename
## 🏗️ Directory Structure
Plugin Host fetches from:
``` ```
Plugin-Directory/ http://synbox.ruv.wtf:8418/litruv/Plugin-Directory/raw/branch/main/plugins/index.json
├── 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](plugins/example-plugin.json) - Reference implementation
## License
MIT