Thank you for your interest in contributing to Finch! Below you'll find information and rules on how to start contributing.
All changes must be made via pull requests. PRs are preferred over issue submission where possible.
Title / Tags:
As a prefix to the title of your PR, include square-bracketed tags indicating the purpose of the PR. Ideally, you should utilize existing tags, such as: [feature]
, [platform]
, [bug fix]
. See .finch/release_config.yml for additional examples.
PR Body:
The body of the PR should include all context about the purpose of the pull request.
Finch uses make
targets for the development, testing and release processes.
- To set up the project, run
make setup
- To generate an Xcode project file, run
make xcodeproj
- Code style should mostly follow Ray Wenderlich's Swift Style Guide. If there is ambiguity, try to match the style of the surrounding code.
Note: You may need to run make update_build_number
prior to building the project in Xcode as this file is generated upon release time.
Finch strives for 100% documentation and uses Jazzy to generate doc pages. All types, variables and functions should be documented. See existing code for examples.
- Finch uses the XCTest framework for unit and snapshot tests. In the majority of cases, a code change should be accompanied by the addition of tests surrounding that change.
- To run all tests, run
make test
See RELEASING.md