Contributing

Contributions to SwiftUINavigationTransitions are welcome! Whether it's bug reports, feature requests, or pull requests, your help is appreciated.

Development Setup

  1. Fork the repository on GitHub.
  2. Clone your fork locally:
    git clone https://github.com/YOUR_USERNAME/swiftui-navigation-transitions.git
    cd swiftui-navigation-transitions
  3. Open the project in Xcode by opening the Package.swift file.
    xed .

Running Tests

The project includes a suite of unit tests to ensure stability and correctness.

  • Using Xcode: Open the Test Navigator (Cmd+6) and run the tests for the AnimatorTests and AtomicTransitionTests targets.
  • Using the Command Line: You can run tests from the command line using xcodebuild. The ci.yml workflow file shows the exact commands used for continuous integration.
# Example for testing the iOS platform
xcodebuild test \
  -workspace SwiftUINavigationTransitions.xcworkspace \
  -scheme SwiftUINavigationTransitions \
  -destination 'platform=iOS Simulator,name=iPhone 15'

Code Style

The project uses SwiftFormat to maintain a consistent code style. Before submitting a pull request, please run SwiftFormat on your changes.

swiftformat .

The formatting rules are defined in the .swiftformat file in the root of the repository.

Submitting a Pull Request

  1. Create a new branch for your feature or bug fix.
  2. Make your changes and commit them with a clear commit message.
  3. Push your branch to your fork on GitHub.
  4. Open a pull request from your branch to the main branch of the original repository.
  5. Provide a clear description of the changes in the pull request.