You are here to help jmbde-macos? Awesome, feel free and read the following sections in order to know how to work on something and where to get help from. Your contribution matters a lot, jmbde-macos is getting better and better because of people like you. 😄
- If you like jmbde-macos, star this project and share it with your friends.
- Report bugs or request new features by opening issues. Please follow the issue templates and provide detailed information, this will help the developers to find the reason of the bug and understand what feature you are requesting for exactly.
- Help other people in issues/pull requests/other platforms if you are able to help them.
- Write tutorials and blogs on how to use jmbde-macos.
- Improve documentation, including the Markdown files and the comments in the codes.
- Write codes for new features or bug fixes.
Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub. Basically, you have to fork this repository, write codes on your fork, open a pull request when you are finished, wait for reviews and apply suggestions from the maintainers.
First time to developing? There's a big difference between developing and competitive programming, but it's not hard. If you are looking for an IDE for developing, VS Code is probably a good choice.
First time to swift? Don't be afraid, swift is not hard to get started.
Don't know where to start? You can start by looking through the issues and find one you are interested in. The good first issues may be suitable for you.
Please open an issue (describe the feature/bug like normal issues, and say that you are going to work on it, probably with a draft on how you would like to implement it) before writing codes for a pull request, for these reasons:
- You may get help from others.
- Others can know you are working on it, this will save possible duplicate works.
- You will be notified if this feature is not going to be accepted, or the "bug" is actually not a bug, etc., thus saving your time.
- Remember that the goal is to build an jmbde-macos for user, not for developers.
- Do one thing in a pull request. If you want to add multiple features/fix multiple bugs and they are not relevant, open multiple pull requests. You may need to create multiple branches to open multiple pull requests, you can learn git branching here.
- Add new features on the master branch, and fix bug on the latest active (master, beta and stable) branch which has the bug.
- Please write clear commit messages. It's also recommended to write Conventional Commits. You can use commitizen/cz-cli to write commit messages. However, the rules are optional, the key is that, others and yourself in the future should understand what has been changed and why these changes are made.
- Use Clang Format 9 (use
clang-format --version
to check your version, you may need to set the clang-format binary path for your IDE, for example, the default version of clang-format in VS Code may be clang-format-6) and.clang-format
in the root directory to format your codes. - Don't remove features unless it's necessary. Add an option to disable some feature instead.
- Keep the settings file backward compatible all the time.
- Windows, Linux and Mac OS should be supported.
- Both light/dark system themes should be supported.
- Everyone should obey the Code of Conduct in order to build a harassment-free community.
-
Can I do it well if I've just started?
- Everyone knows nothing at the beginning. Don't worry, our cool contributors will help you when you meet difficulties. If you ❤️ open source and keep trying, everything will be better and better.
-
Do I need to learn about CMake?
- No, you only need to know how to build from source.
-
Some files are missing when compiling.
- If the CI tests are passed, it's probably because the submodules are updated. You can run the following commands:
git add . git reset --hard git submodule update --init
You can also try
git rm
all submodules and then init them again, or even delete the repo on your disk and clone again.