Step 1
Beginner
3 min

Projects

Understand what a Bruin project is - the root directory, the .bruin.yml configuration, environments, connections, and secrets.

Bruin CLI
Learning paths:Data Engineer

Video

What is a project?

A project is the root directory of your Bruin workspace. It must be git-initialized - Bruin uses this to locate the root and navigate the directory tree.

The .bruin.yml file

At the root of every project is a .bruin.yml file. This is where you define:

  • Environments - such as default, dev, prod, sandbox
  • Connections - database connections like DuckDB, BigQuery, Redshift, Postgres, MotherDuck
  • Custom connections - API keys and secrets you want to inject across pipelines

You can set a default environment so that when you create a run without specifying one, it uses that environment (typically dev).

Key rules

  • The project root must be git-initialized
  • .bruin.yml is automatically added to .gitignore - it should never be pushed to your repo since it contains credentials
  • Connections defined here are available to all pipelines in the project, but each pipeline chooses which ones to use

Example structure

my-project/           # git-initialized root
  .bruin.yml          # environments, connections, secrets
  .gitignore          # .bruin.yml is listed here
  pipeline-1/         # first pipeline
  pipeline-2/         # second pipeline