1# Expotools 2A set of commands and libraries for working within the Expo repository. 3 4Expotools is a CLI and library that contains internal Expo tooling. It is used as a library in CI and as a CLI to: 5 - Test and develop CI locally 6 - Run tests locally 7 - Assist with the release process 8 9## Prerequisites 10Run `bundle install` in the root to install all required Ruby gems. 11 12To support versioning react-native for Android, [patchelf](https://github.com/NixOS/patchelf) is required. On macOS, could run `brew install patchelf` to install. 13 14## Usage 15Run `expotools` or `et` from the Expo repository to run the latest version of expotools. This automatically rebuilds the code according to the latest sources. 16 17For example, running `et --help` will display all the available commands. 18 19## Development 20Build the code once using `yarn build`. 21 22`yarn watch` will watch for code changes and rebuild the code each time you save. The standard workflow for developing expotools is to leave `yarn watch` open in one tab and run `./bin/expotools COMMAND` in the other. Running `./bin/expotools` avoids the update check that happens when calling `expotools` or `et`. 23