The GitHub Blog Icon The GitHub Blog

Scripts to rule them all  ↦

From Jon Maddox on The GitHub blog (from waaay back in the day):

At GitHub, we have normalized on a set of script names for all of our projects that individual contributors will be familiar with the second after they clone a project. We call them “Scripts to Rule Them All”.

Here’s a mapping of what these scripts are named and their responsibility:

  • script/bootstrap – installs/updates all dependencies
  • script/setup – sets up a project to be used for the first time
  • script/update – updates a project to run at its current version
  • script/server – starts app
  • script/test – runs tests
  • script/cibuild – invoked by continuous integration servers to run tests
  • script/console – opens a console

Each of these scripts are responsible for a unit of work. This makes them composable, easy to call from other scripts, and easy to understand.

Note: this was written basically forever ago, but it’s still a relevant and effective solution.


Sign in or Join to comment or subscribe

Player art
  0:00 / 0:00