MatrixOne is an open source project, and you can make contributions in lots of ways. You can help with ideas, code, or documentation, any contributions are welcome.
Thanks for understanding that English is used as a shared language in this repository. Maintainers do not use machine translation to avoid miscommunication due to error in translation. If description of issue / PR are written in non-English languages, those may be closed. If English is not your native language and you aren't sure about any of these, don't hesitate to ask for help in your pull request!
Contributions to MatrixOne fall into the following categories.
- To report a bug or a problem with documentation, please file an issue providing the details of the problem. Don't forget to add some proper labels, and follow the issue template.
- To propose a new feature, please file a new feature request issue. Describe the intended feature and discuss the design and implementation with the team and community. Once the team agrees on the plan, you can follow the Contribution workflow to implement it.
- To implement a feature or bug-fix for an existing outstanding issue, follow the Contribution workflow. If you need more context on a particular issue, comment on the issue to let people know.
- First, read the README.md entirely for environment setup and build instructions.
- Fork the repository on GitHub.
- Clone your fork to your local machine with
git clone git@github.com:<yourname>/matrixone.git
. - Create a branch with
git checkout -b topic-branch
, the branch name is up to you. - Commit changes to your own branch locally, add necessary unit tests.
- Go back to GitHub, and submit a pull request so that we can review your changes. Add some labels if needed, and don't forget to refer to the related issue.
- Once your PR get approved, it would be merged sooner. Congratulations.
Remember to sync your forked repository before submitting proposed changes upstream. If you have an existing local repository, please update it before you start, to minimize the chance of merge conflicts.
git remote add upstream git@github.com:matrixorigin/matrixone.git
git checkout main
git pull upstream main
git checkout -b topic-branch
If you still have some trouble, please refer to GitHub Docs for help.
When you open a pull request, you can assign some reviewers, or just leave it blank. And you can add some related labels so that it would be easier to recognize the PR's type/priority/etc. During reviewing, reviewers would comment on your code snippet, you could modify the code on your topic branch locally, commit the changes, and push to GitHub, the new commits would be attached to the PR automatically.
The coding style suggested by the Golang community is used in MatrixOne. See the style doc for details.
Please follow this style to make MatrixOne easy to review, maintain and develop.