README.md
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