Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Every engineer's workstation configuration (dotfiles) is highly variable and tailored to their desires, habits, and software stack. I love rebuilding and tinkering with my build by learning from and collaborating with others. This setup is what I use to get the job done, however, don't just accept my words as gospel, find your own path when setting up your build.

I also think it is important to reason from first principles, rather than, by analogy. So the normal way we conduct our lives is we reason by analogy. We're doing this because it's like something else that was done or like what other people are doing. Iterations on a theme. It's kinda mentally easier to reason by analogy rather than from first principles. First principles is kinda a physics way of looking at the world and what that really means is you kinda boil things down to the most fundamental truths and say okay, what are we sure is true? or sure as possible is true? and then reason up from there. That takes a lot more mental energy. - Elon Musk Foundation 20

These guides are highly opinionated. If you have any questions please post an issue. I am open to pull requests. Finally, this guide is supposed to read from top to bottom. If you are following this advice, please read it like following the yellow brick road, and have fun.


If you are following these below, they are in sequence of how I setup my engineering life.

  1. Setup a New or Reformatting an Existing Apple Workstation
  2. Install Additional Business amd Workflow Software
  3. Engineering Workstation Setup and Configuration
  4. Ruby Engineering Configurations
  5. JavaScript Engineering Configuration
  6. Database Configuration
  7. IDE Configuration
  8. Additional Software

Shortcuts and Helpers

As you explore the configuration directories you will notice a number of shortcut files have been preloaded. These files are described below and many come pre-built with their own helpers. I encourage you to personalize these as you see fit and make sure you understand what each git function does before blindly using them.

File Help Command Description
includes This is the base file to pull in all the includes.
global-helpers Controls that apply to all of the includes.
global-settings Machine and include settings.
app apphelp Applications that do not require their own includes file.
git githelp Github shortcuts and workflows.
heroku herokuhelp Heroku shortcuts and workflows.
keybase keybasehelp Keybase shortcuts and workflows.
ruby rubyhelp Ruby and Rails based commands.
shell shellhelp Everything shell.

Alfred Workflows

If you love automation, you will love Alfred! It is basically spotlight on steroids and when you purchase the license you are granted access to infinitely complex workflows. Here is what I have installed.