Fourier is Tuist's CLI tool to automate development tasks with the goal of easing the contributions to the project.
Before Fourier's existence, Tuist used Ruby's Rake. Rake's approach to designing the CLI interface leads to a flat and non-standard interface that doesn't support the usage of arguments to customize workflows. For instance, the following command is not possible
./bin/rake test --unit and has to be
./bin/test_unit instead. This often leads to a non-conventional naming across tasks (e.g.
test_all), and a huge
Rakefile that contains the parsing code and the business logic all together.
By implementing our CLI tool within the repository we can better ensure the interface is consistent, and that the business logic is well-structured and tested.
Before running Fourier, make sure that you have the Ruby version specified in the
.ruby-version file, and that you have fetched the Bundler dependencies specified in the
Gemfile by running
bundle install. Then, you can run the following command:
It'll output the list of available commands that you can run.
Tuist includes Shadowenv directory to adjust your local environment as you enter Tuist's directory from an interactive shell. One of the environment configurations that we provide is exposing the
bin/ directory to your path. Thanks to that, you can run Fourier by simply running
fourier in your terminal.
If you don't have Shadowenv installed locally, you can follow these steps.