Getting Started
FreshPrerequisites
| Requirement | Version |
|---|---|
| Node.js | 20 or higher |
| Stream Deck | 6.9 or higher |
| Device | Stream Deck hardware or Stream Deck Mobile |
| Editor | VS Code (recommended) |
| Terminal | Any shell access |
SOP: Install Node.js
Install a Node version manager first, then use it to install Node.js 20:
bash
nvm install 20
nvm use 20
node -v # Should output v20.x.xWindows PowerShell
You may need to set the execution policy before running CLI tools:
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserSOP: Install Stream Deck CLI
Choose your package manager:
bash
npm install -g @elgato/clibash
yarn global add @elgato/clibash
pnpm add -g @elgato/cliSOP: Create Your First Plugin
Run the interactive creation wizard:
bash
streamdeck createThe wizard prompts for:
- Author name - Your developer identity
- Plugin name - Display name in Stream Deck
- Plugin UUID - Reverse-DNS format (e.g.,
com.yourname.my-plugin) - Description - What the plugin does
UUID Format
UUIDs must use lowercase alphanumeric characters, hyphens, and periods only. Follow reverse-DNS convention: com.company.plugin-name
Project Structure
After creation, your plugin directory contains:
my-plugin/
├── .sdPlugin/ # Compiled output
│ ├── bin/ # Built JavaScript
│ ├── imgs/ # Plugin images
│ ├── logs/ # Runtime logs
│ ├── ui/ # Property Inspector HTML
│ └── manifest.json # Plugin manifest
├── src/ # TypeScript source
│ ├── actions/ # Action implementations
│ └── plugin.ts # Entry point
├── package.json
├── rollup.config.mjs
└── tsconfig.jsonSOP: Run in Development Mode
Start the watch mode for hot-reload during development:
bash
npm run watchThis command:
- Builds your plugin from TypeScript source
- Installs it in Stream Deck automatically
- Watches for file changes and auto-reloads
Troubleshooting
If your plugin doesn't appear in Stream Deck after running watch:
- Restart the Stream Deck application
- Check if elevated privileges are required
- Join the Marketplace Makers Discord for help
Verification Checklist
- [ ] Node.js 20+ installed and verified with
node -v - [ ] Stream Deck CLI installed globally
- [ ] Plugin scaffolded with
streamdeck create - [ ] Plugin visible in Stream Deck after
npm run watch - [ ] Hot-reload working on file saves