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.