The tools used in this project are:
Homebrew is used to install the follwiong tools
The brews that will be installed when running make bootstrap are defined in the project's Brewfile.
This project uses Tuist to manage the Xcode projects and workspace.
Tuist (tuistenv) will be installed when running make bootstrap or make tuist.
See the documentation for more details.
The .tuist-version specifies the current version used for this project.
Mint is used as the package manager for Swift command line tools. The follwoing tools are installed and managed by Mint:
The packages that will be installed by Mint when running make bootstrap are definedin the project's Mintfile
Pre-commit is used to manage the git hooks for this project.
The hooks that will be installed during make bootstrap is defined in .pre-commit-config.yml.
Swiftlint is used to lint and format all swift files in the project, in conjuction with Swiftformat.
Airbnb
All swiftlint rules being used are defined in .swiftlint.yml.
The Airbnb's style guide was used as a starting point
Swiftformat is used to lint and format all swift files in the project, in conjuction with Swiftlint.
All swiftformat rules being used are defined in .swiftformat.
The Airbnb's style guide was used as a starting point
The .xcode-version defines the Xcode version that will be used durin CI runs.
###Github Actions
This project uses GitHub actions as the CI runner.
On each push to develop the following workflows will run:
A lot of scripts written in bash are used for setting up the project. These can be found under the Scrips directory.
The following commands are needed on the local machine for these scripts to run:
sed- used to manipulate text filesawk- in used to manipulate strings