Thank you for your interest in contributing to MomentGif! This document provides guidelines and instructions for contributing to this project.
Before you begin, ensure you have the following:
- A Mac computer running macOS (preferably the latest version)
- Xcode (latest version recommended)
- Git installed on your machine
- A GitHub account
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/MomentGif.git cd MomentGif - Add the original repository as an upstream remote:
git remote add upstream https://github.com/cxhello/MomentGif.git
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them with descriptive commit messages:
git commit -m "Add feature: your feature description" -
Keep your branch updated with the main repository using rebase:
git fetch upstream git rebase upstream/main
-
Resolve any conflicts that may arise during the rebase process
-
Push your changes to your fork:
git push origin feature/your-feature-name
-
Submit a Pull Request (PR) to the main repository
- Provide a clear, descriptive title for your PR
- Include a detailed description of the changes you've made
- Reference any related issues using the GitHub issue number (#123)
- Ensure your code follows the project's coding style and conventions
- Make sure all tests pass and add new tests for new functionality
- Follow Swift style and coding conventions
- Write clear, descriptive comments and documentation
- Ensure your code is properly formatted
- Use meaningful variable and function names
- Use the imperative mood ("Add feature" not "Added feature")
- Keep the first line under 50 characters
- Include the type of change (feature, fix, docs, etc.)
- Reference issues when applicable
MomentGif supports multiple languages. If you're adding user-facing strings:
- Add them to the appropriate localization files
- Provide English strings at minimum
- Consider adding translations for other supported languages if possible
- Test your changes on different iOS devices and versions if possible
- Ensure your changes don't break existing functionality
- Add unit tests for new features when appropriate
All submissions require review. We use GitHub pull requests for this purpose.
By contributing to MomentGif, you agree that your contributions will be licensed under the project's license.
Thank you for your contributions!