Skip to content

Contributing to WhitestormJS

Alexander Buzin edited this page Jul 11, 2016 · 3 revisions

Contributions to WhitestormJS are welcome; to make things easier, we've included a Getting Started section.

We look forward to your contributions to WhitestormJS.

Getting Started

Reporting Bugs

If you've found a reproduceable bug, submit an issue! If you're sure that the issue is caused by WhitestormJS, submitting an issue will help us fix the problem.

You're welcome to fix things for us, and submit pull requests; it frees up time for us to implement useful new features.


Adding Features

If you've added a new feature to WhitestormJS and would like for it to be included, submit a pull request. We'll take a look at it.


Building WhitestormJS

WhitestormJS can be built by installing Node.js, and the gulp package through npm.

After that, clone the repository anywhere you'd like (git clone https://github.com/WhitestormJS/whitestorm.js.git).

Open the new directory (./WhitestormJS/ by default) using whatever terminal emulator you'd like.

You can build WhitestormJS with the following command: gulp build

WhitestormJS will be built, and written to build/whitestorm.js, and build/whitestorm.min.js.


Commiting

All engine code is in src/ folder. *Do not edit files in build/ folder!!!

* Commit names.

Codes.

  • WIP. - Work in progress.
  • CSF. - Code style fix. (Comes with file name.)
  • TU. - Temporary update. (Will be changed later.)
  • README. - You changed README.md file.
  • LICENSE. - You changed LICENSE.md file.
  • CONTRIBUTING. - You changed CONTRIBUTING.md file.

Fixed Issue.

If your commit fixes issue on github, you must add Fixed #25. Where #25 is ID of your issue.

Syntax.

  • Code - Can be WIP., CSF. or TU. (If your commit matches one of them.)
  • Comment - Your comment to commit. (If you want or you have no code.)
  • Fix - Example: Fixed #25. (If you fixed an issue or your commit made some task from issue.)

After code/comment must always be a dot and they must start with big letter.

If you have CSF. your comment must be a name of file you fixed. No dot after filename

Examples.

Good:

  • WIP. Files updated.
  • CSF. ShaderTerrain.js Fixed #25
  • WIP.
  • TU. Fixed #3

Poor:

  • Fixed #25
  • Fixed code style. (Use "CSF.")
  • WIPSHADEERTERRAINJSFIXES####2016!!!!
  • WIP shader (No dot after WIP, comment starts with small letter.)

* Code style guidelines:

* Adding changes to CHANGELOG.md

If you will contribute to this project, please follow this rules of editting CHANGELOG.md each time you make changes:

Comment: Added ...

Issue fixed: Fixed #{issueId}

Issue fixed (extended): Fixed #{issueId} "{issueDesc}"

Fixed file/example/function: Fixed ...

Files moved: *folder/ -> anotherfolder/*

Changed structure of folder: *folder/ + sorted = {sortedFiles}*

Library update: **{libName} update. {rnum} -> {rnum}**

Function arguments changed: {funcName}({arguments}) -> {funcName}({arguments})

Definition:

  • {issueID} - Github issue id. Example: #7.

  • {issueDesc} - Short issue description. Example: Shadowmap error.

  • {sortedFiles} - List of sorted files/folders. Example: ai/, big.png, default.png.

  • {libName} - Included library name. Example: Three.js.

  • {rnum} - Revision/version number. Example: r79 or v0.1.

  • {funcName} - Function name.

  • {arguments} - Function arguments.


Testing WhitestormJS

Our tests are run using Mocha. We're still adding more tests.