This document intention is to provide guidelines on how to best contribute to the Orca project.
Skip over to our Discord Server, we will be more than happy to assist you!
When contributing with code, you agree to put your changes and new code under the same license Orca is already using unless stated and agreed otherwise.
When changing existing source code, you do not alter the copyright of the original file(s). The copyright will still be owned by the original creator(s) or those who have been assigned copyright by the original author(s).
Source code, the project outline and internals.
When writing C code, follow the coding guidelines already established in the project. Consistency makes code easier to read, and mistakes less likely to happen.
When you write new functionality or fix bugs, it is important that you don't fiddle all over the source files and functions. Remember that it is likely that other people have done changes in the same source files as you have and possibly even in the same functions. If you bring completely new functionality, try writing it in a new source file. If you fix bugs, try to fix one bug at a time and send them as separate patches.
Please try to get the latest available sources to make your patches against. It makes the lives of the developers so much easier.
Writing docs is dead boring and one of the big problems with many open source projects. But someone's gotta do it! Please get yourself familiarized with Doxygen syntax and use the surrounding code as a guide when documenting your patch. Once the patch is approved a automated workflow will automatically updated our documentation with your changes. If you wish to patch how the documentation is generated and rendered, please head to orca-docs and submit your changes there.
Thorougly test your patch before sending a PR for approval. If you are implementing a missing feature to one of our wrapped APIs, you can write or update one of the example bots from examples/
folder, alternatively, you can write a test to the test/
folder.
For organization purposes we standardize how our commits are staged. This section is copied from link to save you a click.
See how a minor change to your commit message style can make you a better programmer.
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)wip
: (work in progress)
References:
- https://www.conventionalcommits.org/
- https://seesparkbox.com/foundry/semantic_commit_messages
- http://karma-runner.github.io/1.0/dev/git-commit-msg.html
If you have problems to submit clean pull requests without introducing merge commits, you can use this method, otherwise please use your git commands.
This section explains how to submit changes and pull requests the easy and cleanest way without causing any merge conflicts.
-
fork this repo to your personal account. Please DO NOT submit any changes to this fork from your git command line
-
run the following command
git clone https://github.com/cee-studio/orca.git
cd orca
cp config.json .cee-contributor
It is important that you clone from this repo, NOT from your fork.
- add replace "YOUR-GITHUB-USERNAME" and "YOUR-PERSONAL-ACCESS-TOKEN" with your github username and your personal access token (which can be obtained thru this link)
- run
cd orca
make test
Copy test-git2 to your bin folder and make that folder searchable in PATH
Run the following command that will automatically do the following
- sync up your personal fork
- create a branch in your fork
- submit a commit to the branch
- create a pull request
Assume your changes are in the orca folder, you can run the following commands:
./test/test-git2 -m "you commit comments" files