# Configure a repository

> Make a repository reproducible on a worker.

Source: https://usefiretower.com/docs/repo-setup

## Before you start

[Connect your git host](https://usefiretower.com/docs/git). Have a setup command for your project and any environment variables it needs.

Screenshots show the desktop app with sample data.

## 1\. Open the repository

Open **Repositories → All repositories**. Find the repository and select its row to expand the settings.

![Repositories: find the project you want to configure](https://usefiretower.com/product/setup-repository-page-light.webp)

Repositories: find the project you want to configure. Desktop app · sample data. Select to enlarge.

## 2\. Save the setup command

Enter the command under **Setup script**. It runs after checkout and before the agent starts. For example: `pnpm install --frozen-lockfile`.

If the project needs an environment file, enter a relative path such as `.env`. Select **Save**.

![Save the setup script and environment-file path](https://usefiretower.com/product/setup-repository-script-light.webp)

Save the setup script and environment-file path. Select to enlarge.

## 3\. Add environment variables

Under **Environment**, enter a variable name and value, then select **Add**. Repeat for each variable the project needs.

![Add a named environment variable](https://usefiretower.com/product/setup-repository-env-light.webp)

Add a named environment variable. Select to enlarge.

## 4\. Review the saved configuration

The saved variable names appear under **Environment**; their values stay hidden. Keep the environment file out of git.

Start a new workspace to use these settings. If setup fails, check the setup output, then correct the command or missing tools on the worker.

![Saved setup command, environment file and variable names](https://usefiretower.com/product/setup-repository-saved-light.webp)

Saved setup command, environment file and variable names. Select to enlarge.
