Two integrations for the itsblue.de speedclimbing stopwatch (ScStw), backed by one shared TypeScript core:
- A Bitfocus Companion connection with actions, feedbacks, variables, and Starter presets.
- A native Elgato Stream Deck plugin with the same six Starter controls.
Both frontends share the generated protobuf code, direct WebSocket client, race state, rolling timers, confirmation logic, safety flip, labels, and colors in packages/core.
corepack enable
yarn install
yarn generate:proto
yarn build
yarn test
yarn packageSee packages/companion/companion/HELP.md and packages/elgato/README.md for frontend-specific setup.
The protocol classes in packages/core/src/generated/ are generated from packages/core/proto-spec/ with ts-proto, matching the web client. Regenerate them after changing the protocol submodule.