Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions skills/pyplanet-github-installer/SKILL.md
Original file line number Diff line number Diff line change
@@ -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)
Comment on lines +36 to +42

### 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 <user>/<repo>` | Download and install plugin from GitHub (tries `main` then `master` branch) |
| `/ghinstall <url.zip>` | Install from a direct zip URL |
| `/ghlist` | List all GitHub-installed plugins |
| `/ghremove <name>` | Remove a GitHub-installed plugin |
| `/ghupdate <name>` | Re-download and update a plugin |

## How It Works

1. Downloads `main.zip` (fallback: `master.zip`) from GitHub
2. Extracts to `apps/<repo_name>/` (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