Skip to content


Install RefChef

To install from PyPI using pip:
pip install refchef

Set up Git and GitHub

RefChef uses Git repositories for version control of the master.yaml file, which contains a list of all the references on the system and their provenance. You can also use GitHub to remotely host your repositories, but this is optional.

Before using RefChef, set up git.

If you want to use GitHub to host your repositories, create a GitHub account and set up an access token.

Additionally, create a .gitignore file...

touch .gitignore

...and add .env to the .gitignore by pasting the following into the .gitignore file.

# ignore env files

Now create a .env file...

touch .env

... and paste the contents of the .env.template file in the RefChef home directory into the .env file, which will now look like this:


Then, paste the GitHub access token into the GITHUB_TOKEN= line copied over from the env.template file. For example, your .env file might now look like this:



To install a development version from the current directory:

git clone
cd refchef
pip install -e .

Run unit tests as: python test


Contributions consistent with the style and quality of existing code are welcome. Be sure to follow the guidelines below.

Check the issues page of this repository for available work.


This project uses commitizen to ensure that commit messages remain well-formatted and consistent across different contributors.

Before committing for the first time, install commitizen and read Conventional Commits.

pip install commitizen

To start work on a new change, pull the latest develop and create a new topic branch (e.g. feature-resume-model, chore-test-update, bugfix-bad-bug).

Add your changes to the current branch.

git add .

To commit your changes, run the following command (instead of git commit) and follow the directions:

cz commit