MCPcopy Index your code
hub / github.com/alyraffauf/switchyard

github.com/alyraffauf/switchyard @v0.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.0 ↗ · + Follow
312 symbols 974 edges 73 files 69 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CI License: GPL v3 Ko-fi Firefox Chrome

Switchyard Icon

Switchyard

A rules-based browser launcher for Linux.

Switchyard Launcher

Get it on Flathub

Features

  • Browser rules: Automatically open links in specific browsers based on conditions you define.
  • Link redirections: Clean up links before they open—remove tracking parameters, swap domains, and more.
  • Quick launcher: When no rule matches, choose a browser with a click or keyboard shortcut.
  • GTK4 + libadwaita: Native GNOME look and feel.

Installation

Flatpak (Recommended)

Switchyard is available on Flathub:

flatpak install flathub io.github.alyraffauf.Switchyard

Nix Flake

nix run github:alyraffauf/switchyard

Building from Source

For non-Flatpak builds, requires Go 1.24+, GTK4/libadwaita development libraries, and just.

just install-deps # For Fedora
just build
sudo just install # To /usr/local

Building Flatpak

just flatpak # Build and install

Extension points exported contracts — how you extend this code

Browser (Interface)
(no doc)
webextension/src/App.tsx

Core symbols most depended-on inside this repo

Installed
called by 14
internal/browserscan/browserscan.go
saveConfigWithFlag
called by 11
gtk/ui_helpers.go
buildCommand
called by 9
internal/browser/launch.go
InFlatpak
called by 8
internal/host/host.go
HostCommand
called by 8
internal/host/host.go
Find
called by 8
internal/browserscan/browserscan.go
Load
called by 7
internal/config/config.go
applyRedirection
called by 6
internal/routing/redirection.go

Shape

Function 272
Struct 23
Method 14
Class 2
Interface 1

Languages

Go89%
Python7%
TypeScript3%

Modules by API surface

cmd/sw/model.go22 symbols
internal/browserscan/browserscan_test.go19 symbols
gtk/ui_helpers.go19 symbols
internal/routing/format.go15 symbols
internal/browserscan/browserscan_darwin_test.go14 symbols
internal/browserscan/browserscan_darwin.go12 symbols
internal/config/config_test.go10 symbols
internal/config/config.go10 symbols
browser-setup/main.py9 symbols
scripts/install-desktop-integration.py8 symbols
internal/routing/validation.go8 symbols
internal/routing/redirection_test.go8 symbols

For agents

$ claude mcp add switchyard \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact