Find file Copy path
66 lines (41 sloc) 3.69 KB

How To Contribute

πŸ‘πŸŽ‰ First off, thanks for taking the time to contribute! πŸŽ‰πŸ‘

Updating a Cask

Notice an application that's out-of-date in Homebrew Cask? In most cases, it's very simple to update it. We have a script that will ask for the new version number, and take care of updating the Cask file and submitting a pull request to us:

# install and setup script - only needed once
brew install vitorgalvao/tiny-scripts/cask-repair
cask-repair --help

# use to update <outdated_cask>
cask-repair <outdated_cask>

If there is a more complicated change, or there is a case where cask-repair fails (for example, where a Cask uses a url do block or the language stanza), you can also follow the steps in Adding a Cask to do the same thing manually. Remember to update the version and shasum values.

Getting Set Up To Contribute

For manual updates, you'll need to fork the repository and add your copy as a remote (can also be done with hub fork).

1: Fork the repository in GitHub with the Fork button.

2: If you have not already done so, add your GitHub fork as a remote for your homebrew-cask Tap:

$ github_user='<my-github-username>'
$ cd "$(brew --repository)"/Library/Taps/Homebrew/homebrew-cask
$ git remote add "${github_user}" "${github_user}/homebrew-cask"

3: If you have already added your GitHub fork as a remote for your homebrew-cask Tap, ensure your fork is up-to-date.

4: Switch to a new branch (ie. new-feature), and work from there: git checkout -b new-feature.

Adding a Cask

Notice an application that's not in Homebrew Cask yet? Make sure it's not yet in Homebrew/cask-versions or Homebrew/core (can be searched with brew search). Mac App Store apps can't be installed via Homebrew Cask, but check out mas for an alternative.

With a bit of work, you can create a Cask for it. This document will walk you through creating a new Cask, testing it, and submitting it to us.

Style guide

Some style guidelines:

  • All Casks and code should be indented using two spaces (never tabs). When brew cask style contradicts this, style must be followed.
  • There should not be any extraneous comments - the only comments that should be used are the ones explicitly defined in the Cask Language Reference.
  • The stanza order and position of newlines is important to make things easier (See Stanza order).
  • Use string manipulations to improve the maintainability of your Cask (See version methods).
  • Test your cask using brew cask audit/style (See testing).
  • Make one Pull Request per Cask change.
  • Do not squash commits after updating a Pull Request.
  • Use descriptive commit messages - mention app name and version (ie. Upgrade to v2.82).