Sandbox
@neiii/bridle

CLI and TUI config manager for agent harnesses

Bridle manages profiles and installs reusable assistant components across several coding harnesses. It translates paths and config formats for Claude Code, OpenCode, Goose, Amp, Copilot CLI, and Crush so the same skill, agent, or MCP can be placed where each one expects it. You can browse status, create and switch profiles, edit configs, and install from a GitHub repo with one command.

437 stars19 forksRustUpdated 1mo ago
Who it's for

Builders who move between multiple agent editors and want one place to manage profiles and installs.

What it delivers

You can switch assistant setups and install reusable components without hand-editing each harness’s config files.

What it does

Profile management

Create, list, show, edit, diff, switch, and delete profiles per harness with commands like `bridle profile create` and `bridle profile switch`.

Cross-harness installs

Install skills, agents, commands, and MCPs from a GitHub repo, then translate them into the right paths and schemas for each target harness.

TUI and status view

Launch an interactive TUI with `bridle` or inspect active profiles with `bridle status`.

Configuration editing

Store Bridle settings in `~/.config/bridle/config.toml` and manage keys like `editor`, `default_harness`, and `profile_marker`.

Multi-harness support

Works with Claude Code, OpenCode, Goose, Amp, Copilot CLI, and Crush, with full support for most and experimental support for Amp.

How to get it

  1. 1Other methods
    # Homebrew
    brew install neiii/bridle/bridle
    
    # Cargo
    cargo install bridle
    
    # From source
    git clone https://github.com/neiii/bridle && cd bridle && cargo install --path .

README

Bridle

Bridle

Unified configuration manager for AI coding assistants. Manage profiles, install skills/agents/commands, and switch configurations across Claude Code, OpenCode, Goose, Amp, Copilot CLI, and Crush.

Installation

Try it instantly (no install)

Run once without installing:

Package ManagerCommand
npxnpx bridle-ai
bunxbunx bridle-ai
pnpmpnpm dlx bridle-ai

Install globally

For repeated use, install once:

Node package managers:

ManagerCommand
npmnpm install -g bridle-ai
bunbun install -g bridle-ai
pnpmpnpm add -g bridle-ai

Other methods:

# Homebrew
brew install neiii/bridle/bridle

# Cargo
cargo install bridle

# From source
git clone https://github.com/neiii/bridle && cd bridle && cargo install --path .

Quick Start

# Launch the TUI
bridle

# See what's configured across all harnesses
bridle status

# Create a profile from your current config
bridle profile create claude work --from-current

# Switch between profiles
bridle profile switch claude personal

Screenshot

"Package Manager" for your harness

With Bridle, you're able to install skills, agents, commands, and MCPs from any GitHub repository, similar to how Claude Code does it. With Bridle, however, you're not limited to just one harness; we auto-translate all the paths, namings, schemas, and configurations for you.

# Install from GitHub
bridle install owner/repo

# What happens:
# 1. Bridle scans the repo for skills, agents, commands, and MCPs
# 2. You select which components to install
# 3. You choose target harnesses and profiles
# 4. Bridle translates paths and configs for each harness automatically

Why this matters: A skill written for Claude Code uses ~/.claude/skills/. The same skill on OpenCode lives at ~/.config/opencode/skill/. MCPs follow different JSON/YAML schemas. Bridle handles all these differences for you.

ComponentClaude CodeOpenCodeGooseCopilot CLICrush
Skills~/.claude/skills/~/.config/opencode/skill/~/.config/goose/skills/~/.copilot/skills/~/.config/crush/skills/
Agents~/.claude/plugins/*/agents/~/.config/opencode/agent/~/.copilot/agents/
Commands~/.claude/plugins/*/commands/~/.config/opencode/command/
MCPs~/.claude/.mcp.jsonopencode.jsoncconfig.yaml~/.copilot/mcp-config.jsoncrush.json

Core Concepts

Harnesses are AI coding assistants: claude, opencode, goose, amp, copilot, crush

Profiles are saved configurations. Each harness can have multiple profiles (e.g., work, personal, minimal). Bridle copies the active profile's config into the harness's config directory when you switch.

Commands

Status & TUI

CommandDescription
bridleLaunch interactive TUI
bridle statusShow active profiles across all harnesses
bridle initInitialize bridle config and default profiles

Profiles

CommandDescription
bridle profile list <harness>List all profiles for a harness
bridle profile show <harness> <name>Show profile details (model, MCPs, plugins)
bridle profile create <harness> <name>Create empty profile
bridle profile create <harness> <name> --from-currentCreate profile from current config
bridle profile switch <harness> <name>Activate a profile
bridle profile edit <harness> <name>Open profile in editor
bridle profile diff <harness> <name> [other]Compare profiles
bridle profile delete <harness> <name>Delete a profile

Installing & Uninstalling

CommandDescription
bridle install <source>Install skills/MCPs from GitHub (owner/repo or URL)
bridle install <source> --forceOverwrite existing installations
bridle uninstall <harness> <profile>Interactively remove components [experimental]

Configuration

CommandDescription
bridle config get <key>Get a config value
bridle config set <key> <value>Set a config value

Config keys: profile_marker, editor, tui.view, default_harness

Output Formats

All commands support -o, --output <format>:

  • text (default) — Human-readable
  • json — Machine-readable
  • auto — Text for TTY, JSON for pipes

Configuration

Bridle stores its config at ~/.config/bridle/config.toml:

profile_marker = false  # Create marker files for debugging
editor = "code --wait"  # Editor for `profile edit`
default_harness = "opencode" # Which tab to open on launch

[active]
claude = "work"
opencode = "default"

[tui]
view = "Dashboard"      # Will add more later :P 

Supported Harnesses

HarnessConfig LocationStatus
Claude Code~/.claude/Full support
OpenCode~/.config/opencode/Full support
Goose~/.config/goose/Full support
Amp~/.amp/Experimental (ish)
Copilot CLI~/.copilot/Full support
Crush~/.config/crush/Full support (skills + MCP)

Honorable Mentions

License

MIT

Files in the repo

Repository payload15 top-level entries
  • .beads
  • .github
  • assets
  • crates
  • tests
  • .gitattributes
  • .gitignore
  • .pre-commit-config.yaml
  • Cargo.lock
  • Cargo.toml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • dist-workspace.toml
  • LICENSE
  • README.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k