Bowline for coding agents

Bowline for aider

aider auto-loads .env; Bowline carries that .env and your repo to every machine and remote host. No re-clone, no re-auth; aider's commits sync back to you.

Running aider across machines

aider is git-aware and reads .env for keys, but on a new machine or remote host you still need the repo cloned, the .env present, and your uncommitted work. aider only commits the files it changes; your .env and other work-in-progress never travel with Git.

Vendor
Open source
Type
CLI
Runs on
macOS, Linux, and Windows. Python (pipx or pip). It is git-aware and auto-commits its edits.
Headless
Yes. It runs non-interactively in CI or over SSH.
Auth
Bring your own model keys (OPENAI_API_KEY, ANTHROPIC_API_KEY, or any LiteLLM-supported provider), set via the environment, .env, or .aider.conf.yml. There is no account to log into.
Env
aider auto-loads .env files from your home directory, the git repo root, and the current directory, so model keys and settings live in .env. That makes the .env itself the thing that has to be on every machine.

What bowline does for aider

Because aider auto-loads .env and bowline carries that .env (encrypted) with the project, aider on a new trusted host reads the same model keys and config with nothing to copy or re-auth. The repo, its opaque Git state, and your uncommitted work are already present, so aider's auto-commits and any WIP sync back to every machine. This is the cleanest case: for aider, bowline removes the whole setup layer, keys included.

How aider is configured

The files aider reads. Every one of these that lives in the project travels with ~/Code, so aider sees the same configuration on every machine.

  • .aider.conf.ymlconfig, searched in home, git root, and cwd
  • .envaider auto-loads .env (home, git root, cwd) for keys and settings
  • .aiderignorefiles to exclude from the repo map
  • .aider.model.settings.ymlper-model settings
  • .aider.chat.history.mdchat history written into the repo

Set it up

Install bowline, trust the machine or host, then run aider against ~/Code with source, config, and .env already present.

Terminal
curl -fsSL https://install.bowline.sh | sh   # on your laptop, once
bowline login
bowline connect remote-box                    # bootstrap the host over SSH; ~/Code + .env land there
ssh remote-box 'cd ~/Code/your-project && aider'

Questions

aider already reads .env, so what does Bowline add?
aider auto-loads .env from the repo, but that .env still has to exist on each machine. bowline carries it (encrypted) with the project, so aider on a new trusted host reads the same keys and config with nothing to copy or re-auth.
aider auto-commits, so do I still need Bowline?
aider commits the files it changes, but your .env, untracked files, and other uncommitted work do not travel with Git. bowline syncs the whole working state, so a second machine or remote host has everything, not just the last commit.
Can I run aider unattended on a remote server?
Yes. aider --message '...' --yes-always runs one-shot. With bowline the server already has the repo and .env, so it runs against your real tree and its commits sync back to every machine.
ready when you are

Your ~/Code, on every machine and every agent.

Install bowline and your projects follow you. It just works.

Get started
curl -fsSL https://install.bowline.sh | sh

macOS app · Linux CLI. Then run bowline login.