Glossary
Env sync
Definition
Env sync carries a project's environment variables (the .env files and secrets a project needs to run) to every machine and agent host alongside its code. Instead of copying .env files by hand or re-entering keys, the same environment rematerializes wherever you open the project, so commands run identically everywhere.
A project's environment is rarely committed. The .env, .env.local, and per-profile files hold the database URLs, API keys, and feature flags that its commands read, and they are exactly the files a repository leaves out. Moving to a new machine or agent host therefore means finding, copying, and re-entering those values before anything runs, which is both tedious and a common way to leak secrets.
Env sync makes the environment travel with the project instead. The values are imported once, encrypted, and rewritten where your tools expect them on each authorized machine, merged per key so a local override on one machine does not clobber the shared base on another. The result is that opening the project anywhere leaves pnpm dev, tests, and scripts reading the same environment.
Why it matters
Missing env is one of the most common reasons a task fails on a fresh host, and the failure rarely names itself: a command errors as if the code is broken when a single key is absent. Carrying env with the project removes a whole class of setup errors and stops secrets from being scattered across machines in plain files.
In practice
An agent host spins up to run your test suite. Without env sync the suite fails immediately: STRIPE_SECRET_KEY is unset. With env sync the project's keys are already present, encrypted at rest, and the suite runs the same as it does on your laptop.
How Bowline relates
Bowline makes env part of the default workspace contract: your project .env files are imported, encrypted in transit and at rest, merged per key, and rematerialized wherever you open the project. Secret values are kept out of agent prompts: an agent sees key names, not the values.
Your ~/Code, on every machine and every agent.
Install bowline and your projects follow you. It just works.
curl -fsSL https://install.bowline.sh | shmacOS app · Linux CLI. Then run bowline login.