To ensure smooth collaboration, please follow these guidelines.
We follow a Feature Branch Workflow strategy. This means:
- Main Branch: The
main
branch always reflects the production-ready state. - Development Branch: The
develop
branch serves as the main integration branch. All feature branches are merged into this branch for testing before being merged intomain
. - Feature Branches: For each new feature or bug fix, create a new branch off
develop
. Use descriptive branch names that reflect the nature of the work being done.
When working on a new feature or bug fix:
- Ensure you are on the
develop
branch:git checkout develop
- Create a new branch:
git checkout -b feature/your-feature-name
- Implement your changes in this branch
When submitting a Pull Request:
- Ensure your branch is up to date with
develop
:git pull origin develop
- Rebase your branch if necessary to incorporate the latest changes:
git rebase develop
- Submit your Pull Request targeting the
develop
branch - Provide a clear description of the changes made and any relevant information for reviewers
- Link the Pull Request with the relevant
Project
,Assignee
,Development Issue
andMilestone
- When merging a Pull Request, please do
Squash and Merge
to merge all commits into a single commit
To learn more about Git, check out Learn Git Branching.
We use Conventional Commits for our commit messages. Each commit message consists of a type, a brief description, and an optional body.
A commit message follows this format:
<type>: <description>
[optional body]
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- refactor: Code refactoring
- style: Code style changes (formatting, indentation)
- test: Adding or modifying tests
- chore: Changes to the build process, dependencies, or other non-code modifications
-
feat: adds user authentication feature
-
fix: resolves issue with form validation
-
With a body:
docs: update README with usage instructions - removes unneeded comments and adds a `TOC` - cleans up wording for the `Install w/ Linux` section
To maintain code quality and consistency, consider installing the following tools:
- Auto-formatters: We are using
swiftformat-for-xcode
. To install, checkout Format On Save — Xcode / Swift.