This guide explains how to build and deploy the Rendera Control plugin to itch.io.
- Node.js and npm installed
- An itch.io account with a project created for your plugin
- Butler API key from itch.io
npm installCopy the environment template and fill in your details:
cp .env.example .envEdit .env with your information:
ITCH_USER: Your itch.io usernameITCH_GAME: Your project name (as it appears in the URL)BUTLER_API_KEY: Get from https://itch.io/user/settings/api-keysITCH_CHANNEL: Channel name (e.g.,construct3-stable)
Butler is the official itch.io command-line upload tool. Install it with:
npm run setup:butlerThis downloads and installs butler to the tools/butler/ directory.
npm run packageThis command:
- Compiles TypeScript files to JavaScript
- Creates a versioned
.c3addonfile in thedist/directory
npm run package:addonBuild and upload in one command:
npm run deploy:itchIf you've already built the addon:
npm run upload:itchThe version number is read from src/addon.json. Update it before deploying:
- Edit
src/addon.json - Change the
versionfield (e.g.,"1.1.0"→"1.2.0") - Build and deploy
| Command | Description |
|---|---|
npm run build |
Compile TypeScript to JavaScript |
npm run watch |
Watch and auto-compile TypeScript changes |
npm run clean |
Remove generated JavaScript files |
npm run package |
Build and create .c3addon file |
npm run package:addon |
Create .c3addon without rebuilding |
npm run setup:butler |
Download and install butler tool |
npm run deploy:itch |
Build and upload to itch.io |
npm run upload:itch |
Upload existing build to itch.io |
For automated deployments (GitHub Actions, etc.):
- Set
BUTLER_API_KEYas a secret in your CI environment - Set other required environment variables
- Run deployment commands:
- run: npm install
- run: npm run package
- run: npm run upload:itch
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
ITCH_USER: your-username
ITCH_GAME: your-game
ITCH_CHANNEL: construct3-stable- Ensure
.envfile exists and contains all required variables - Check that API key is valid
- Run
npm run packagefirst to build the addon
- Verify
ITCH_USERandITCH_GAMEmatch your itch.io project - Ensure the project exists on itch.io before uploading
- Regenerate API key from https://itch.io/user/settings/api-keys
- Ensure the key has "butler" as its source
- Never commit
.envfile to version control - Keep your
BUTLER_API_KEYsecret - The
.gitignorefile excludes sensitive files automatically