Please note: the project is currently temporarily suspended from receiving direct code contributions.
Please do not submit any new pull requests, they will be close immediately.
If you have any ideas and suggestions, please submit them to us through Issues
or Discussions
.
We apologize for the inconvenience and thank you for your understanding.
Thank you for investing your time in contributing to this open source project!
We hope this guide will helps you understand how to contribute to this project.
For development and build environments please refer to development guide.
Note
Portions of this guide are outdated. Some processes are still being tweaked and optimized, we will update them in due course.
Important
Please ensure your contributions align with the project's license before committing anything.
Any pull requests must first go through code formatting and linters, otherwise you will fail the CI check. (Refer to the scripts
in package.json
)
- corresponding to development channel
- all development work around this branch
- protected branches not accept commits
- all work will be done in sub-branches
- all sub-branches will be merged via PRs
- generated from the master branch
- corresponding to TestFlight channel
- only accept version number commits
- hotfixes and PRs are not accepted
- never merge back into master branch
- generated from the beta branch
- generate GitHub Releases and Tags
- corresponding to App Store channel
- accept hotfixes and version commits
- always merge back into master branch
Format: <type>(<scope>): <subject>
<scope>
is optional
feat: add hat wobble
^--^ ^------------^
| |
| +-> Summary in present tense.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.
More Examples:
feat
: (new feature for the user, not a new feature for build script)fix
: (bug fix for the user, not a fix to a build script)docs
: (changes to the documentation)style
: (formatting, missing semi colons, etc; no production code change)refactor
: (refactoring production code, eg. renaming a variable)test
: (adding missing tests, refactoring tests; no production code change)chore
: (updating grunt tasks etc; no production code change)
Almost all features and fixes will be merged into the master branch via pull requests (PRs).
We will improve the guidelines for creating PRs in the future, like create pull request template
.
If you are not a member of the project, first you need to fork the master branch of the repository.
- create a new branch from the master branch
- suggested branch naming format like:
issue/333
feat/...
fix/...
- complete your commits in this new branch
- create a pull request from this new branch
- wait for other maintainers to review your changes
- pull request will be merged into master branch
- All completed features and fixes get into beta as soon as possible so that they get the maximum testing cycle time.
- Beta releases use build numbers incremented, version numbers always use the next major release.
- Bugs found and reported during testing are still fixed around the master branch and will be introduced in the rolling beta build.
- When the series of betas has stabilized, we can produce a public release.
- If necessary, we can delay merging PRs of new features into the master branch, give priority to fixing bugs found in the beta version, and ensure the stability of the public version as much as possible.
- Despite various tests, we may still find bugs through user feedback in the public version, and we will fix those minor bugs through hotfixes.
Userscripts @ 2018-2023