Bridge-it
The Bridget runner
Bridget is a small local daemon that turns "bridge it" thoughts into pull requests. It runs on your own machine and drives your own coding agent, Claude Code, Codex CLI, or Gemini CLI, under your own subscription. Nothing touches your code unless you install and enable it yourself, for a project you choose.
- 1
Capture
Speak a thought on your iPhone, iPad, Apple Watch, or Mac, just like any other thought.
- 2
Say "bridge it"
End the thought with the words "bridge it" and your runner picks it up on your own machine.
- 3
Review the PR
Your coding agent implements the change in the project's repo and opens a pull request for you to review.
Download
Each link always points at the latest release. Save the file, make it executable, and you're ready for the quickstart below.
Windows support is coming. In the meantime, you can build from source.
Before you start
Four things the runner expects to find on your machine.
-
git
The runner clones your project's repo and pushes the branch it works on.
-
GitHub CLI (gh), signed in
Run gh auth login once. The runner uses it to open and update pull requests on your behalf.
-
An agent CLI, installed and signed in
One of the following, on your own subscription: Claude Code , OpenAI Codex CLI , or Google Gemini CLI .
-
A ThoughtBridge API key with the runner scope
Created in the app under Settings > API keys.
Quickstart
Clear the download quarantine, add your API key, describe your agent profiles, and start it. On Linux, skip the xattr line.
# make the download runnable (macOS quarantines downloaded binaries)
xattr -d com.apple.quarantine thoughtbridge-runner-macos-arm64
chmod +x thoughtbridge-runner-macos-arm64
# your API key (create one in the app: Settings > API keys, scope: runner)
echo 'TB_API_KEY=tb_...' > .env
# runner.yaml - a minimal two-profile config (optional; without it you
# get one runner named after this machine, driven by Claude Code)
cat > runner.yaml <<'YAML'
profiles:
- id: runner-codex
agent: codex
model: gpt-5-codex
- id: runner-gemini-pro
agent: gemini
model: gemini-2.5-pro
YAML
# start the runner (finds .env and runner.yaml in this directory)
./thoughtbridge-runner-macos-arm64 No files, just flags
Everything is also settable on the command line, so a one-off runner needs no config files at all. Keep the API key in .env or an inline environment variable rather than a flag: command-line arguments are visible to other processes on your machine.
# one runner driven by Codex, named runner-codex in the app
TB_API_KEY=tb_... ./thoughtbridge-runner-macos-arm64 \
--id runner-codex --agent codex --model gpt-5-codex # see every flag
./thoughtbridge-runner-macos-arm64 --help Run from source
The runner is open source (MIT). If you would rather read what you run, or want to modify it, clone the GitHub repository and run it with Node 20 or newer. Same flags, same behavior as the binary.
git clone https://github.com/ThoughtBridge/thoughtbridge-runner.git
cd thoughtbridge-runner
npm install
# your API key (create one in the app: Settings > API keys, scope: runner)
cp .env.example .env # then put your real key in .env
npm start # poll loop; npm run once for a single pass Fork it to make it your own: the agent adapters live in src/agents.ts, and pull requests are welcome.
Then, in the app, open a project's menu and choose Runner to pin that project here. From then on, ending a thought with "bridge it" in that project routes to this runner, using the agent and model of the profile you pinned.
Missing a prerequisite? The runner checks at startup and tells you exactly what's missing and how to fix it, no guessing required.
Want the full picture? The docs cover how a run works and every configuration option.
Automating something that isn't code review? See capture thoughts from anywhere for a GitHub Action that pages you on a failed build, and the raw API calls behind it.