turboEnv

Quickstart

Store your first environment variables in turboEnv and load them into a running app, in about five minutes.

By the end of this page your app will boot with its configuration pulled from turboEnv instead of a .env file on your laptop. It takes about five minutes and you need nothing installed except Node.

1. Create a project

Sign in to the dashboard and create a project. A project is usually one deployable thing — one service, one site — and it comes with three environments: development, staging and production.

Projects belong to a team, never to a person, so nothing has to be transferred when somebody leaves. If you are working alone, you are a team of one and this costs you nothing.

2. Add your variables

Open the development environment, press Paste .env, and paste a file you already have. turboEnv parses it, so you do not have to add keys one at a time:

DATABASE_URL=postgres://localhost:5432/app
STRIPE_KEY=sk_test_abc123
PORT=3000

Importing merges rather than replaces, so pasting a partial file will not silently delete the variables it does not mention.

Untick Secret on the ones that are not really secret, like PORT. Everything is encrypted at rest either way — the flag controls whether the dashboard masks the value on screen, and whether an AI agent is allowed to read it.

Press save. That is version 1. You can leave a short message describing the change, which shows up in the version history next to your name. Every save from here writes a new immutable version rather than editing the last one, so nothing you store is ever destroyed.

3. Sign in from your terminal

npm install -g turboenv-cli
turboenv login

Your browser opens, you approve the request, and a credential is written to ~/.turboenv/credentials.json. Your terminal shows a short confirmation code that you type into the page — that is what proves the login came from you and not from a page that talked you into approving it.

4. Tell the repo which environment it uses

From your project directory:

turboenv init

It asks which project and environment, then writes a small turboenv.json:

{
  "project": "your-project",
  "environment": "development",
  "encryption": "service"
}

Commit it. It holds names, never values, so everyone who clones the repo gets the same defaults and nobody has to remember a slug. You can skip this step and pass -p and -e on every command instead, but you will not enjoy it.

5. Run your app

turboenv run -- npm start

That is the whole integration. The CLI fetches the variables, injects them into the environment of the process it starts, and gets out of the way. There is no library to import and no code change, so it works the same for Node, Python, Go, Ruby or a compiled binary:

turboenv run -- python manage.py runserver
turboenv run -- ./bin/api

If you would rather have a file, turboenv print writes one:

turboenv print > .env

Prefer run where you can. print puts decrypted values on disk, where they can be committed by accident — which is the problem you came here to fix.

Changing a variable later

Edit it in the dashboard, or edit your local .env and push it up:

turboenv push

It shows you what would change and waits for you to confirm. Only names are printed, never values:

  + STRIPE_WEBHOOK_SECRET
  ~ DATABASE_URL

Save as version 2? [y/N]

That writes a new version rather than editing the last one, so a mistake is a rollback rather than an incident. More in Project configuration.

To bring a dashboard or teammate change back into your local file:

turboenv pull

It merges remote values, keeps local-only variables, backs up the old file, and asks before writing decrypted values.

What to do next

Your laptop is done. The two things worth reading next are how to get this onto a server, which needs a different kind of credential, and what the pieces you just used actually are.