⚠️ Alpha — v0.0.2. Early preview. The end-to-end loop (VS Code → mobile) now works, but the surface area is small and rough edges remain. See Current status for exactly what's wired up.
SignalDock is a developer awareness platform for Visual Studio Code that keeps you informed about what's happening in your development environment, even when you're away from your desk.
Unlike traditional terminal notifiers that only report when a command exits, SignalDock observes your workflow in realtime and surfaces meaningful events from across your development stack — and delivers them to SideKick, an Android companion app, over your local network.
This release closes the loop: the VS Code extension publishes a discoverable WebSocket bridge on your LAN, and the SideKick app finds it automatically and mirrors long-running terminal events to your phone.
- Long-running terminal command notifications. SignalDock watches your integrated-terminal shell executions and, when a command runs longer than a configurable threshold (default 60 seconds), sends a native desktop notification with the command, its exit code, and how long it took. Short commands stay silent.
- Native OS desktop notifications, including when VS Code isn't focused.
- Local-network bridge. On startup SignalDock opens a WebSocket server,
selects a well-known port (or one you specify), and advertises itself over
mDNS/Bonjour as
_signaldock._tcp.so SideKick can discover it without a QR code. - Bridge password (optional). Set
signalDock.bridgePasswordfor use on untrusted networks. With a password set, automatic discovery is disabled and each SideKick must pair once. - Live SideKick delivery. Connected SideKicks receive terminal start/finish events as they happen. Long-running commands trigger an Android notification on the device.
- Workspace handshake. SideKick requests
workspace-infoafter joining so the phone UI can label which workspace each event came from.
SideKick lives in a separate repository
(sidekick) and ships:
- Jetpack Compose UI showing connection state, active workspaces, and a live feed of terminal executions.
- A foreground
BridgeDetectionServicethat keeps NSD discovery running so events arrive even when the app is backgrounded. - Ktor WebSocket client with auto-reconnect for instances it has already seen.
- Android notifications for long-running command completions.
minSdk 34,targetSdk 37.
- Everything in the Roadmap below (Docker, Git, deployments, persistent event feed, error analysis, etc.) is planned but not implemented in 0.0.2.
- Visual Studio Code 1.125.0 or newer.
- A shell that supports VS Code's shell integration (required for terminal command detection).
- For mobile delivery: an Android 14+ device on the same LAN running SideKick.
SignalDock contributes the following settings (Settings → Extensions → SignalDock):
| Setting | Default | Description |
|---|---|---|
signalDock.enableTerminalNotifier |
true |
Notify when a long-running terminal command finishes. |
signalDock.terminalNotifierWaitTime |
60 |
Only notify when a command takes longer than this many seconds. |
signalDock.enableNotificationsOnHost |
true |
Show notifications on this device (the host running VS Code). |
signalDock.bridgePortType |
Auto (Recommended) |
How the SideKick bridge port is chosen: Auto (Recommended), System Specified, or Custom. Auto picks a known port so SideKick can connect without scanning a QR code. |
signalDock.bridgePort |
0 |
Custom port for the bridge. Used only when bridgePortType is set to Custom. |
signalDock.bridgePassword |
"" |
Optional password for the bridge. Recommended on public Wi-Fi. Setting a password disables automatic discovery — each SideKick must pair via QR code once. Leave empty on private networks. |
- The extension resolves the host's LAN IPv4 address and starts a WebSocket
server bound to
0.0.0.0. - It publishes a Bonjour/mDNS service of type
signaldockon the chosen port. - SideKick discovers
_signaldock._tcp.via Android NSD, connects, and the two perform a handshake → join → workspace-info exchange. - Terminal start/end events are pushed to every connected SideKick. The extension and the phone both decide independently whether a command exceeded the notification threshold.
These are the goals SignalDock is working toward. They are not part of the 0.0.2 alpha:
- Intelligent build and script completion detection beyond raw exit codes
- Warning and error analysis from terminal output
- Docker and container status monitoring
- Git activity and remote repository change notifications
- Deployment and release workflow tracking
- Persistent event feed and development activity timeline on SideKick
- Rich notifications with contextual information (logs, links, retry actions)
- Pairing flow / QR code for password-protected bridges
- Extensible signal system for custom workflows
Modern development workflows span far beyond a terminal window. Important events can originate from build tools, deployment pipelines, containers, version control systems, and custom scripts. SignalDock's long-term aim is to bring these signals together into a single stream that follows you — so you can spend less time waiting for processes to finish and more time on meaningful work.
Dock every signal from your workflow.