Skip to content

feat: Command Line Interface (CLI) & Named Pipe IPC bridge for automation & agents - #15

Merged
spelech merged 9 commits into
mainfrom
feat/cli-ipc-bridge
Oct 13, 2026
Merged

spelech merged 9 commits into
mainfrom
feat/cli-ipc-bridge

Conversation

@spelech

@spelech spelech commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Overview

Implements a first-class Command Line Interface (CLI) and high-speed Windows Named Pipe Inter-Process Communication (IPC) bridge (\\.\pipe\RigSwitch-Ipc). This enables scripts, Stream Deck buttons, terminal power users, and AI agents to query live workstation state, switch presets, toggle audio routing, manage shaker DAC blacklists, run diagnostics, and capture live UI screenshots directly from the console.

Key Capabilities

  • Native CLI Commands:

    • igswitch status: Displays active profile, preset, audio mode, watchdog health, display monitors, audio endpoints, and blacklisted DACs.

    • igswitch switch <desk|rig>: Switches workstation preset, routing displays and audio.

    • igswitch audio <toggle|speakers|chat>: Toggles or switches audio mode between Primary Speakers and Sonar Chat.

    • igswitch blacklist <list|add|remove> [id]: Manages excluded bass shaker DACs with regex MMDevice GUID matching.

    • igswitch screenshot [--view <presets|displays|audio|nicknames|hotkeys>] [--out ]: Instructs the running tray GUI to render any settings tab to a PNG file for instant visual verification.

    • igswitch doctor: Comprehensive hardware diagnostics and watchdog audit.
  • Global --json\ Flag: Emits structured, machine-readable JSON for scripting, automations, and AI agents.
  • Fast Windows Named Pipe IPC: Asynchronous, multi-client, newline-delimited JSON transport over \\.\pipe\RigSwitch-Ipc.
  • Headless Fallback: If the tray app is stopped, non-GUI CLI commands (\status, \switch, \�udio, \�lacklist, \doctor) seamlessly execute directly against headless core services.
  • Win32 Console Attachment: Connects seamlessly to caller consoles in CMD and PowerShell with clean output streams and zero extraneous host logging.

Verification & Testing

  • 434 / 434 tests passing (\dotnet test), including 44 new unit and integration tests across protocol, IPC transport, command routing, and CLI controller.
  • Code formatting (\dotnet format) clean.
  • Linter (
    pm run lint) and TypeScript checks (
    px tsc --noEmit) clean with 0 errors.

@spelech
spelech merged commit b7a85f8 into main Oct 13, 2026
10 checks passed
@spelech
spelech deleted the feat/cli-ipc-bridge branch October 13, 2026 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant