Internal ops tool
Stream Deck / Multi-Machine Launcher
scripts/D:\Ecosystem\ops\streamdeck\
Machine Map
| Machine | IP | User | Network |
|---|---|---|---|
| Windows Desktop | 100.112.104.120 | mikem | Tailscale |
| Mac Studio | 100.127.161.25 | merlino | Tailscale |
| VPS1 srv1310052 | 100.70.90.63 | root | Tailscale |
| VPS2 srv1319549 | 100.123.201.50 | root | Tailscale |
| VPS3 Hostinger | 100.64.135.87 | root | Tailscale |
| Cloudways | 45.55.240.198 | root | Public |
| Vultr | 144.202.24.233 | root | Public |
All Scripts
Every script with its full contents. Copy any block to create a new launcher.
SSH Connections6
ssh-vps1.batbatch
@echo off start "" wt.exe new-tab --title "VPS1 srv1310052" -- ssh root@100.70.90.63
ssh-vps2.batbatch
@echo off start "" wt.exe new-tab --title "VPS2 srv1319549" -- ssh root@100.123.201.50
ssh-vps3.batbatch
@echo off start "" wt.exe new-tab --title "VPS3 Hostinger" -- ssh root@100.64.135.87
ssh-mac.batbatch
@echo off start "" wt.exe new-tab --title "Mac Studio" -- ssh merlino@100.127.161.25
ssh-cloudways.batbatch
@echo off start "" wt.exe new-tab --title "Cloudways" -- ssh root@45.55.240.198
ssh-vultr.batbatch
@echo off start "" wt.exe new-tab --title "Vultr VPS" -- ssh root@144.202.24.233
Windows Project Launchers6
win-clawcontrol.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "ClawControl" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\clawcontrol && "%CLAUDE%""
win-ghl-sop.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "GHL SOP" -- cmd /k "cd /d D:\Ecosystem\GoHighLevel\ghl-sop && "%CLAUDE%""
win-mission-control.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "Mission Control" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\mission-control && "%CLAUDE%""
win-peerless-plumbing.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "Peerless Plumbing" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\peerless-plumbing && "%CLAUDE%""
win-vercel-inventory.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "Vercel Inventory" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\vercel-inventory && "%CLAUDE%""
win-ecosystem.batbatch
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "Ecosystem" -- cmd /k "cd /d D:\Ecosystem && "%CLAUDE%""
Mac Project Launchers3
SSH to Mac Studio then cd + claude. Requires Tailscale + SSH keys.
mac-ghl-sop.batbatch
@echo off start "" wt.exe new-tab --title "Mac: GHL SOP" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/ghl-sop && claude"
mac-clawcontrol.batbatch
@echo off start "" wt.exe new-tab --title "Mac: ClawControl" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/clawcontrol && claude"
mac-mission-control.batbatch
@echo off start "" wt.exe new-tab --title "Mac: Mission Control" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/mission-control && claude"
GSD Commands3
Types command into the focused terminal via PowerShell SendKeys. Focus your Claude Code window first.
gsd-next.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:next{ENTER}')"gsd-progress.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:progress{ENTER}')"gsd-resume.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:resume-work{ENTER}')"Templates
Copy-paste to add new buttons. Save as .bat in D:\Ecosystem\ops\streamdeck\, wire to Stream Deck via System > Open.
New SSH connectiontemplate
@echo off start "" wt.exe new-tab --title "MACHINE_NAME" -- ssh USER@IP_ADDRESS
New Windows project launchertemplate
@echo off set CLAUDE=C:\Users\mikem\.local\bin\claude.exe start "" wt.exe new-tab --title "PROJECT_NAME" -- cmd /k "cd /d D:\PATH\TO\PROJECT && "%CLAUDE%""
New Mac remote launchertemplate
@echo off start "" wt.exe new-tab --title "Mac: PROJECT" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/PROJECT && claude"
New GSD commandtemplate
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/COMMAND{ENTER}')"Naming convention: ssh- / win- / mac- / gsd- prefix.
Setup
Prerequisites
- Windows 11 + Windows Terminal
- Tailscale active on this machine and all target servers
- SSH keys configured for passwordless auth to all targets
- Claude Code installed —
claude.exein PATH - Stream Deck XL with Elgato software
Wiring a button
- Open Stream Deck software
- Drag System > Open onto a button
- Set path to the .bat file — e.g.
D:\Ecosystem\ops\streamdeck\ssh-vps1.bat - Set the button title and icon
- Press the button to test
Verify connections
test-connections.batbatch
ping -n 1 100.127.161.25 && echo Mac Studio OK || echo Mac Studio FAIL ping -n 1 100.70.90.63 && echo VPS1 OK || echo VPS1 FAIL ping -n 1 100.123.201.50 && echo VPS2 OK || echo VPS2 FAIL ping -n 1 100.64.135.87 && echo VPS3 OK || echo VPS3 FAIL ping -n 1 45.55.240.198 && echo Cloudways OK || echo Cloudways FAIL ping -n 1 144.202.24.233 && echo Vultr OK || echo Vultr FAIL