Skip to content

Sharing Plugins

Distribute your plugins to other GemShell users.

Distribution Platforms

PlatformBest ForLink
itch.ioPublic plugins, monetizationGemShell on itch.io
DiscordCommunity sharing, feedbackGemShell Discord
GitHubOpen source, collaborationGitHub

Publishing on itch.io

1. Create a Project

  1. Go to itch.io/game/new
  2. Set Kind of project to "Tool"
  3. Set Classification to "Other"

2. Prepare Your Plugin

Create a ZIP file with your plugin folder:

my-plugin.zip
└── my-plugin/
    ├── plugin.js
    ├── style.css
    ├── template.html
    ├── script.js
    └── README.md

3. Write a Good Description

Include:

  • What the plugin does
  • Screenshots/GIFs
  • Installation instructions
  • Settings documentation
  • GemShell version compatibility

Example:

markdown
# FPS Counter Plugin for GemShell

Adds a customizable FPS counter overlay to your game.

## Features
- Real-time FPS display
- Configurable position
- Memory usage (optional)
- Minimal performance impact

## Installation
1. Download the ZIP
2. Extract to ~/.gemshell/plugins/
3. Enable in GemShell > Manage Plugins

## Settings
- **Position**: Corner placement
- **Show Memory**: Toggle memory display
- **Opacity**: Overlay transparency

## Requirements
- GemShell Pro 0.6.0+

4. Upload and Publish

  1. Upload your ZIP file
  2. Set a price (free or paid)
  3. Add tags: gemshell, plugin, gamedev
  4. Publish!

Sharing on Discord

Quick Share

  1. ZIP your plugin folder
  2. Post in #plugins channel
  3. Include a brief description

Best Practices

  • Include a screenshot
  • Mention GemShell version
  • List any dependencies
  • Be available for questions

GitHub Repository

For open source plugins:

Repository Structure

my-plugin/
├── plugin.js
├── style.css
├── template.html
├── script.js
├── README.md
├── LICENSE
└── CHANGELOG.md

README Template

markdown
# My Plugin

Brief description.

## Installation

```bash
cd ~/.gemshell/plugins
git clone https://github.com/user/my-plugin.git

Usage

Enable in GemShell > Manage Plugins.

Settings

SettingTypeDefaultDescription
enabledcheckboxtrueEnable plugin

License

MIT


## Installation Instructions for Users

Tell users to:

1. Download the plugin ZIP
2. Extract to `~/.gemshell/plugins/`
3. Restart GemShell (or click Refresh in Manage Plugins)
4. Enable the plugin globally
5. Enable per-game in Game Settings

## Versioning

Use semantic versioning:

- `1.0.0` - Initial release
- `1.0.1` - Bug fixes
- `1.1.0` - New features (backwards compatible)
- `2.0.0` - Breaking changes

Update `version` in `plugin.js`:

```javascript
module.exports = {
  name: 'My Plugin',
  version: '1.2.0',  // Keep this updated
  // ...
};

Compatibility

Specify minimum GemShell version:

javascript
module.exports = {
  name: 'My Plugin',
  version: '1.0.0',
  gemshell: '>=0.6.0',  // Minimum version
  // ...
};

Plugin Guidelines

For a good plugin:

  1. Clear purpose - Solve one problem well
  2. Good defaults - Work out of the box
  3. Documentation - Explain all settings
  4. Minimal footprint - Don't bloat game size
  5. Error handling - Fail gracefully
  6. No side effects - Don't modify unexpected files