We welcome contributions to this project! Before you start, please take a moment to read through these guidelines.
By contributing, you agree to abide by the MIT License.
The contribution process is simple and follows the standard GitHub flow:
- Fork the repository to your own GitHub account.
- Clone your fork to your local machine:
git clone https://github.com/mdgspace/SnapLaunch-Flutter.git
- Create a new branch for your feature or fix. Use a descriptive name like
feat/new-filter-moduleorfix/canvas-bug.git checkout -b your-branch-name
- Make your changes. (Remember to optimize that C++ Wasm code! )
- Commit your changes using the Conventional Commit format (see below).
- Push your branch to your fork on GitHub.
- Open a Pull Request (PR).
Pull Requests are the standard way to merge your changes into the main repository.
- After pushing your branch, navigate to the original repository on GitHub.
- GitHub will prompt you to "Compare & pull request" from your pushed branch.
- Set the Base Branch: Ensure the base repository is the main project and the base branch is
main. Your head repository should be your fork, and the compare branch should be your feature branch. - Write a Clear Description:
- Reference any related issues (e.g.,
Closes #123). - Explain what the changes do and why they were needed.
- For bug fixes, describe how you verified the fix.
- Reference any related issues (e.g.,
- Your PR will be reviewed by a maintainer. They may leave comments, request changes, or suggest improvements.
- Please be responsive to feedback. If changes are requested, commit them to the same branch and push; the PR will update automatically.
- Once approved, the PR will be merged into the
mainbranch.
We enforce Conventional Commits to ensure a readable and consistent commit history. This standard is crucial for automating changelog generation.
Every commit message must be structured as follows:
<type>(<optional scope>): <description>
[optional body]
[optional footer(s)]
| Type | When to Use It |
|---|---|
feat |
A new feature, enhancement, or major addition (e.g., feat: Add new Wasm filter module). |
fix |
A bug fix (e.g., fix(canvas): Correct logarithmic x-axis scaling). |
docs |
Documentation-only changes (e.g., docs: Update README with setup instructions). |
style |
Code styling (linting, formatting, missing semicolons, etc.); doesn't affect code logic. |
refactor |
A code change that neither fixes a bug nor adds a feature (e.g., restructuring files, cleaning up utility functions). |
perf |
A code change that improves performance (e.g., Wasm optimization). |
test |
Adding missing tests or correcting existing tests. |
build |
Changes that affect the build system or external dependencies (e.g., package.json, Emscripten flags). |
chore |
Routine tasks that don't change source code or tests (e.g., updating .gitignore). |
When contributing to this project, please ensure the following:
- Follow the commit message format outlined in this document.
- Write clean, well-documented, and tested code.
- Submit a detailed pull request with a clear description of the changes made.
Your contributions are vital to improving this project. We are excited to collaborate with you and look forward to seeing your Pull Request! If you have any questions, please feel free to open an issue for discussion.