Commands Cheat Sheet
FreshCLI Commands
| Command | Description |
|---|---|
npm install -g @elgato/cli | Install Stream Deck CLI |
streamdeck create | Create new plugin (wizard) |
streamdeck dev | Enable dev mode + debugger |
streamdeck link | Symlink plugin for dev |
streamdeck list | List installed plugins |
streamdeck pack | Package for distribution |
streamdeck restart <uuid> | Restart plugin |
streamdeck stop <uuid> | Stop plugin |
streamdeck validate | Validate manifest |
sd | Shorthand alias for streamdeck |
npm Scripts
| Script | Description |
|---|---|
npm run build | Build plugin |
npm run watch | Build + hot-reload |
SDK API Quick Reference
Action Events
| Event | Trigger |
|---|---|
onWillAppear | Action visible on canvas |
onWillDisappear | Action removed |
onKeyDown | Key pressed |
onKeyUp | Key released |
onDialDown | Dial pressed |
onDialUp | Dial released |
onDialRotate | Dial rotated |
onTouchTap | Touch strip tapped |
onDidReceiveSettings | Settings changed |
Action Commands
| Command | Description |
|---|---|
setTitle(title) | Set display title |
setImage(image) | Set display image |
setState(state) | Toggle state (0/1) |
setSettings(settings) | Save settings |
getSettings() | Load settings |
showOk() | Show success feedback |
showAlert() | Show warning feedback |
Dial Commands
| Command | Description |
|---|---|
setFeedbackLayout(layout) | Set dial layout |
setFeedback(feedback) | Update layout values |
setTriggerDescription(desc) | Set interaction labels |
Global API
| API | Description |
|---|---|
streamDeck.connect() | Initialize plugin |
streamDeck.logger | Root logger |
streamDeck.devices | Connected devices |
streamDeck.settings.setGlobalSettings() | Save global settings |
streamDeck.settings.getGlobalSettings() | Load global settings |
streamDeck.system.openUrl(url) | Open URL in browser |
streamDeck.system.getSecrets() | Get DRM secrets |
streamDeck.profiles.switchToProfile() | Switch profile |
streamDeck.i18n.translate(key) | Translate string |
Device Types
| ID | Device |
|---|---|
| 0 | Stream Deck / Scissor Keys |
| 1 | Stream Deck Mini |
| 2 | Stream Deck XL |
| 3 | Stream Deck Mobile |
| 4 | Corsair G-Keys |
| 5 | Stream Deck Pedal |
| 6 | Corsair Voyager |
| 7 | Stream Deck + |
| 8 | SCUF Controller |
| 9 | Stream Deck Neo |
| 10 | Stream Deck Studio |
| 11 | Virtual Stream Deck |
| 12 | Galleon 100 SD |
| 13 | Stream Deck + XL |
Built-in Layouts (SD+)
| ID | Name | Description |
|---|---|---|
$X1 | Icon | Title + icon |
$A0 | Canvas | Full/partial canvas |
$A1 | Value | Title + icon + value |
$B1 | Indicator | Value + bar |
$B2 | Gradient | Color-mapped bar |
$C1 | Double | Dual values |
Key URLs
| Resource | URL |
|---|---|
| Manifest Schema | https://schemas.elgato.com/streamdeck/plugins/manifest.json |
| Layout Schema | https://schemas.elgato.com/streamdeck/plugins/layout.json |
| OAuth Redirect | https://oauth2-redirect.elgato.com/streamdeck/plugins/message/<UUID> |
| PI Debugger | http://localhost:23654/ |
| Plugin Samples | https://github.com/elgatosf/streamdeck-plugin-samples |