diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f1bf47d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# Contributing to vmware-go-kcl-v2 + +The vmware-go-kcl-v2 project team welcomes contributions from the community. Before you start working with vmware-go-kcl-v2, please +read our [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions to this repository must be +signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on +as an open-source patch. + +## Contribution Flow + +This is a rough outline of what a contributor's workflow looks like: + +- Create a topic branch from where you want to base your work +- Make commits of logical units +- Make sure your commit messages are in the proper format (see below) +- Push your changes to a topic branch in your fork of the repository +- Submit a pull request + +Example: + +``` shell +git remote add upstream https://github.com/vmware/@(project).git +git checkout -b my-new-feature main +git commit -a +git push origin my-new-feature +``` + +### Staying In Sync With Upstream + +When your branch gets out of sync with the vmware/main branch, use the following to update: + +``` shell +git checkout my-new-feature +git fetch -a +git pull --rebase upstream main +git push --force-with-lease origin my-new-feature +``` + +### Updating pull requests + +If your PR fails to pass CI or needs changes based on code review, you'll most likely want to squash these changes into +existing commits. + +If your pull request contains a single commit or your changes are related to the most recent commit, you can simply +amend the commit. + +``` shell +git add . +git commit --amend +git push --force-with-lease origin my-new-feature +``` + +If you need to squash changes into an earlier commit, you can use: + +``` shell +git add . +git commit --fixup +git rebase -i --autosquash main +git push --force-with-lease origin my-new-feature +``` + +Be sure to add a comment to the PR indicating your new changes are ready to review, as GitHub does not generate a +notification when you git push. + +### Code Style + +### Formatting Commit Messages + +We follow the conventions on [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/). + +Be sure to include any related GitHub issue references in the commit message. See +[GFM syntax](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) for referencing issues +and commits. + +## Reporting Bugs and Creating Issues + +When opening a new issue, try to roughly follow the commit message format conventions above.