Here a quick guide on setting up your macbook.

Mac installation

When installing your mac you get a bunch of questions, follow these:

  • Enable Filevault hardware encryption
  • Enable Find my Device
  • Make a new Apple Id or use an existing ID

Install some base packages with brew

Setting up a laptop for development, we use brew and brew cask. First go and install homebrew.

/usr/bin/ruby -e "$(curl -fsSL"

Then its time to install some packages, such as SQL, ruby version management etc, git and heroku. We do this with homebrew

brew install \
git \
postgresql \
rbenv \
git-extras \
rbenv-vars \
ruby-build \
the_silver_searcher \
heroku \
wget \

Install the JS package managers

Install via NPM, we’ll use Yarn exclusively though after we install NPM. Here’s why we use YARN arn: A new package manager for JavaScript.

npm install -g [email protected]
npm install -g yarn

Install some apps with brew cask

Brew cask is the preferred way to install apps. Check out what it is here

brew install caskroom/cask/brew-cask
brew cask install \
skype \
sourcetree \
freemind \
pgweb \
graphiql \

Make a Heroku account

You need to deploy our code to production, so you need to make a heroku account. Heroku is our preffered platform for deployment.

Click here to go to Heroku

Install GPG

You need to be able to encrypt and decrypt sensitive data, you need GPP for that. All our backups and customer data is encrypted.

brew install gnupg gnupg2

And create a key, keep your private key private.

Install Sublime Text

You can use any text editor you want, but please start with this one first.

brew tap caskroom/versions
brew cask install sublime-text

After this you might want to install the following sublime extensions:

  • Install sublime package control
  • Slim support via package control via ‘Ruby Slim’
  • Remove whitespace via pckage control ‘Trailing Spaces’

Edit the sublime text file using CMD+, (command key+comma)

  • Set spaces to 2 in Sublime, and use spaces as tabs.
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "font_size": 11,
  "ignored_packages": ["Vintage"]

Setup your Trello account

Go to Trello and setup your account, we use this for our task management.

Setup your Git

Setup some defaults for GIT:

git config --global core.editor "vim"
git config --global push.default current

Set up your identity for github (replace these things with your name, and email as necessary):

git config --global "John Doe"
git config --global [email protected]

Setup your bash_profile

Edit the ~/.bash_profile file and replace it with this:

export EDITOR=subl
eval "$(rbenv init -)"

source $(brew --prefix)/etc/bash_completion.d/
source $(brew --prefix)/etc/bash_completion.d/git-completion.bash

PS1="\W\$(__git_ps1 \" (%s)\") ∆ "

Install pow

Pow is our development webserver, we can also use puma-dev but that’s still a bit flaky.


Cloning example repositories

git clone [email protected]:assemblymade/meta.git
git clone [email protected]:catarse/catarse.git
git clone [email protected]:assemblymade/coderwall.git
git clone [email protected]:sharetribe/sharetribe.git
git clone [email protected]:discourse/discourse.git
git clone [email protected]:instructure/canvas-lms.git
git clone [email protected]:asm-helpful/helpful-web.git
git clone [email protected]:asm-products/gamamia.git
git clone [email protected]:railsbridge/bridge_troll.git
git clone [email protected]:lockitron/selfstarter.git

Things to read up