diff --git a/skills/pyplanet-github-installer/SKILL.md b/skills/pyplanet-github-installer/SKILL.md new file mode 100644 index 0000000..1e9ad8f --- /dev/null +++ b/skills/pyplanet-github-installer/SKILL.md @@ -0,0 +1,89 @@ +--- +name: pyplanet-github-installer +description: "Install PyPlanet plugins from GitHub with /ghinstall command" +version: 1.0.0 +author: tome +license: MIT-0 +metadata: + openclaw: + name: pyplanet-github-installer + description: "Install PyPlanet plugins from GitHub with /ghinstall command" + version: 1.0.0 + author: tome + license: MIT-0 + tags: [pyplanet, maniaplanet, github, plugin, installer] + hermes: + tags: [pyplanet, maniaplanet, github, plugin, installer] + homepage: https://github.com/tomekdot/pyplanet-github-installer + related_skills: [] +--- + +# PyPlanet GitHub Installer + +Install PyPlanet server plugins directly from GitHub — no manual download, no zip extraction, just one command. + +## When to Use + +Use this skill when the user wants to: +- Install a PyPlanet plugin from GitHub +- Set up the GitHub Installer app on their PyPlanet instance +- Manage (list/remove/update) GitHub-installed plugins + +## Quick Start + +### 1. Create the app files + +Create `apps/github_installer/__init__.py`: + +```python +from .app import GitHubInstaller +``` + +Create `apps/github_installer/app.py` — full source: [app.py](https://raw.githubusercontent.com/tomekdot/pyplanet-github-installer/main/github_installer/app.py) + +### 2. Register in settings + +Add to `settings/apps.py` in the `APPS['default']` list: + +```python +'apps.github_installer', +``` + +### 3. Restart PyPlanet + +The app loads on next start. Players can then use: + +``` +/ghinstall owner/repo +``` + +## Commands + +| Command | Description | +|---------|-------------| +| `/ghinstall /` | Download and install plugin from GitHub (tries `main` then `master` branch) | +| `/ghinstall ` | Install from a direct zip URL | +| `/ghlist` | List all GitHub-installed plugins | +| `/ghremove ` | Remove a GitHub-installed plugin | +| `/ghupdate ` | Re-download and update a plugin | + +## How It Works + +1. Downloads `main.zip` (fallback: `master.zip`) from GitHub +2. Extracts to `apps//` (strips the GitHub archive prefix) +3. Writes a manifest to `apps/github_plugins.json` +4. On PyPlanet restart, the plugin is loaded automatically + +## Requirements + +- PyPlanet >= 0.11 +- Python 3.8+ with `aiohttp` (included with PyPlanet) + +## Source + +- GitHub: https://github.com/tomekdot/pyplanet-github-installer +- ClawHub: `hermes skills install pyplanet-github-installer` + +## License + +MIT-0