Your Stream Deck, your rules
Declarative control for
your Stream Deck
A Node.js CLI that drives your Elgato Stream Deck from a single YAML config. Emulator, real hardware, and dev SPA — all from the same React interface.
Features
Power up your workflow
Three execution surfaces from the same codebase: browser emulator, real hardware, and Vite-powered development SPA.
Overlay Decks
Contextual decks that appear automatically when you switch applications. Your main deck stays intact while an app-specific overlay takes over temporarily. Overlays maintain their own navigation and return to the previous deck when you close the app.








Addons & Themes
Extensible plugin system with a well-defined API. Share addons via npm. Custom themes via YAML with color, typography, and more. Twelve addons included or distributed across the workspace.







Coding Agents
Specialized addon for AI coding agent integration. Live status of OpenCode + Claude Code sessions on the deck — see active agents, send prompts, manage contexts.


Configuration
Simple, straightforward YAML
No JavaScript required for basic usage. Define decks, buttons, and actions in a human-readable YAML file.
theme: default
decks:
main:
name: Main
buttons:
- position: 0
type: core:action
config:
command: "xdg-open https://github.com"
- position: 2
type: date-time:time
config:
variant: big
- position: 4
type: weather:weather
config:
location:
latitude: 42.2304
longitude: -8.7256
name: VigoFull schema validation prevents runtime errors before your deck ever boots.
YAML changes reload automatically via SIGUSR1 — no restart loop.
Simple addon:type syntax for any button — your own, third-party, or core.
Remote mode
Your deck,
in your pocket.
No Stream Deck hardware required. Start the daemon with--remoteand it serves a token-gated, deck-only view on your LAN. Scan the QR it prints and your phone becomes the deck.
The URL is token-gated — only devices with the QR-scoped link can connect. Buttons tap straight into the same runtime as hardware.

scan at runtime for your deck URL
Customization
Themes that fit you
Built-in themes for any environment. Create your own with color and typography variables.

Default
officialThe built-in slate dark theme. Deep slate background, cyan accents, IBM Plex Sans + Plex Mono typography.

Light
officialClean minimal light theme. Perfect for bright environments and daytime use.

Riptide
officialOceanic dark blue theme. Deep navy tones with teal highlights and a late-night surf-poster aesthetic.
pnpm add -g @sireno-deck/theme-riptideEcosystem
Included addons
6 first-party addons ship with the CLI — plus more workspace addons and a growing community list in the registry.

Core
Core deck navigation: action, change-deck, page-nav, toggle, media-sample, lock. The runtime backbone — every config.yml uses these.
core:action → icon, labelcore:change-deck → deck, addToHistory, icon, labelcore:page-nav → currentPage, totalPages, prevDeckId, nextDeckIdcore:toggle → key, defaultcore:media-sample → channel, fallback
Date Time
Clock, date, and analog-clock widgets. Multiple display variants — drop one in any deck position.
date-time:time → variantdate-time:date → locale, time_zonedate-time:date-time → format
Media
Media playback controls. Play, pause, skip, and volume control for any media application.

System Status
CPU, RAM, swap, disk, network, battery, and temperature metrics with bars, KPIs, and chart visualizations.
system-status:system-status → pages
Weather
Real-time weather with temperature, conditions, and forecast. Configure latitude / longitude, get automatic geocoding by name.
weather:weather → location, poll_interval_ms, units
Coding Agents
Live status of OpenCode + Claude Code sessions on the deck. See active agents, send prompts, manage contexts.
coding-agents:summary → showCount, attentionOnly, fallingLetterscoding-agents:agent → slotDecks
- ◎ coding-agents:agents — live agent slots (paginated)
Get started
Up in 60 seconds
Requires Node 20+. Pick your package manager once — we remember it everywhere.
Install the CLI
pnpm i -g @sirenodeck/cliStart the onboarding
config.yml is generated for you.Make it yours
Extend it
pnpm i -g @sirenodeck/addon-app-shortcutsaddons: ["@sirenodeck/addon-app-shortcuts"].Browse the addon registryPackaged builds —Flathub ·DMG ·MSI— coming soon.