diff --git a/.gitignore b/.gitignore index 398881432a..07ff951e16 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,5 @@ tap-output # Jest coverage test/fixtures/basic-swift/.build -test/fixtures/basic-swift/Package.resolved \ No newline at end of file +test/fixtures/basic-swift/Package.resolved +scripts/Brewfile.lock.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f252f0d73b..81e3f44958 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,18 +4,11 @@ ## Prerequisites -You will need the following software installed: - -- Git -- Node.js (and bundled npm) - - Use whichever version is in [`.nvmrc`](./.nvmrc). - -Open a terminal and make sure they are available. +To install the required development dependencies in homebrew based environments, execute the following script from the root directory. +The only additional prerequisite is having [homebrew](https://brew.sh/) installed. ```sh -git --version -node --version -npm --version +./scripts/install-dev-dependencies.sh ``` ## Setting up diff --git a/scripts/Brewfile b/scripts/Brewfile new file mode 100755 index 0000000000..e3f49876de --- /dev/null +++ b/scripts/Brewfile @@ -0,0 +1,10 @@ +brew 'fnm' +brew 'git' +brew 'go' +brew 'gitleaks' +brew 'pre-commit' +brew 'convco' +brew 'python' +brew 'gnupg' + +cask 'github' diff --git a/scripts/install-dev-dependencies.sh b/scripts/install-dev-dependencies.sh new file mode 100755 index 0000000000..9b2ef85f5c --- /dev/null +++ b/scripts/install-dev-dependencies.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -exuo pipefail + +# requires https://brew.sh/ +brew bundle --file=$(dirname "$0")/Brewfile