Contributing

When contributing as coder, please take care of the following conventions:

  • Enter yourself in the contributors section of package.json.
  • We strictly follow Semantic Versioning 2 rules.
  • The development branch is the leading branch and is protected. Create bugfix and feature branches (or fork into you own namespace) and create pull requests to development when finished. Any of these should be prefixed with bugfix/#... or feature/#... (followed by issue number and a short, "underscored" proper meaning), e.g.
  • bugfix/#8_fix_js_reading_with_require
  • feature/#14_multidocument_support
  • Remember that name could need to be enclosed in quotes, e.g. $ git checkout -b 'feature/#19_...' when using git shell command.
  • The master branch is protected and is the stable branch after a release. It will never be pushed directly (only on release build).
  • Indention for any file is 4 SPACEs.
  • Keep code coverage high (> 95%).
  • Doc everything with JSDocs and document concepts in README.md or Wiki.
  • Use single parenthesis ('...') in *.js files instead of double parenthesis ("...").
  • Avoid the of use parenthesis for keys in JSON objects.
  • Use the strict mode ('use strict';) in *.js files.
  • File names should be lower-case with hyphens as divider, e.g. options-handler.js.
  • Markdown documentation files should be upper-case with .md as extension, placed in ./docs, e.g. USAGE.md. The README.md is build up by these files concatenated by npm run docs command. Any new files have to be added to scripts.docs section of package.json. Don't forget to regenerate README.md ($ npm run docs) and wiki ($ npm run wiki) before committing.