Skip to content

Add recipe repositories

This page shows you how to find recipes, add the recipe repositories that contain them, list the recipes that Russet can find, and update or remove repositories.

  • Install Russet.
  • Make sure that you have Git. Russet runs the git command from your PATH unless the GIT_PATH preference names another one.

russet search searches an index of the recipes in the AutoPkg organization on GitHub. To search for recipes, run the following command:

Terminal window
russet search SEARCH_TERM

Replace SEARCH_TERM with part of an app name, recipe name, or path, such as firefox. The match ignores case, spaces, periods, commas, and hyphens.

The output lists each matching recipe with the recipe repository that contains it. Russet caches the index in your cache folder and uses a GitHub token if you configured one. For details, see Preferences.

To add a recipe repository, run russet repo-add with the repository’s location:

Terminal window
russet repo-add REPOSITORY

Replace REPOSITORY with one of the following forms:

  • A repository name in the AutoPkg organization, such as recipes.
  • A GitHub user or organization and a repository name, such as OWNER/REPOSITORY_NAME.
  • A full Git URL that starts with https://, git://, or ssh://, or an SSH location such as git@github.com:OWNER/REPOSITORY_NAME.git.

Russet clones the repository into your recipe repository folder, adds it to the RECIPE_SEARCH_DIRS preference, and prints the updated search path. If the repository is already present, Russet updates it with git pull instead.

Russet doesn’t accept file:// URLs.

To list the recipe repositories that you added, run the following command:

Terminal window
russet repo-list

Each line shows the local path and the URL of one repository.

To list the recipes that Russet can find, run the following command:

Terminal window
russet list-recipes

To include identifiers and paths, add --with-identifiers and --with-paths. When an override and its parent recipe have the same short name, the list shows only the override unless you add --show-all.

To see a recipe’s description, input variables, and parent recipes, run the following command:

Terminal window
russet info RECIPE

Replace RECIPE with a recipe’s short name, identifier, or path.

Recipe authors fix and improve recipes over time. To update every recipe repository that you added, run the following command:

Terminal window
russet repo-update all

To update one repository, replace all with the repository’s name, URL, or local path. After you update repositories, verify the trust information of your overrides. For details, see Create recipe overrides.

To remove a recipe repository, run the following command:

Terminal window
russet repo-delete REPOSITORY

Replace REPOSITORY with the form that you used to add it, such as recipes, or with its local path. Russet removes the repository from your preferences and then deletes its folder. If Python AutoPkg’s preferences also list the repository, Russet keeps the folder so that Python AutoPkg keeps working.