Scripts To Rule Them All

screenshot of Scripts To Rule Them All

Set of boilerplate scripts describing the normalized script pattern that GitHub uses in its projects.

Overview

The Scripts To Rule Them All is a set of boilerplate scripts that GitHub uses in its projects. These scripts follow a normalized pattern that works for projects based on any framework or language. The purpose of these scripts is to make it easier for contributors to jump into a project and make contributions without needing deep knowledge of the application.

Features

  • script/bootstrap: Fulfill dependencies of the project, such as RubyGems, npm packages, Homebrew packages, Ruby versions, Git submodules, etc.
  • script/setup: Set up a project in an initial state, typically run after an initial clone or to reset the project back to its initial state.
  • script/update: Update the project after a fresh pull, ensuring that everything inside the project is up to date and ready to work. This script usually runs script/bootstrap and can also handle database migrations or other tasks required for the current version.
  • script/server: Start the application and any extra processes required to run. It is recommended to run script/update before starting the application to ensure it is up to date.
  • script/test: Run the test suite of the application. Supports running single tests with an optional file path argument. Linting can also be considered a form of testing and can be included in this script.