# Contributing > [!IMPORTANT] > Tests must be added for all new functionality. Existing tests must be updated for all changed/fixed functionality, where applicable. All tests must complete without errors. All new functionality must be documented as well. ## Environment setup We use [Carthage](https://github.com/Carthage/Carthage) to manage JWTDecode.swift's dependencies. 1. Clone this repository and enter its root directory. 2. Run `carthage bootstrap --use-xcframeworks` to fetch and build the dependencies. 3. Open `JWTDecode.xcodeproj` in Xcode.