Skip to content
This repository has been archived by the owner on Aug 28, 2022. It is now read-only.

Latest commit

 

History

History
90 lines (56 loc) · 2.55 KB

CONTRIBUTING.md

File metadata and controls

90 lines (56 loc) · 2.55 KB

Contributing

You want do something for this repo? Nice and easy! And of course: you are the best!

Issues

General

If you report a bug, please try to:

  • Perform a web / GitHub search to avoid creating a duplicate ticket.
  • Include enough information to reproduce the problem.
  • Mention the exact version of the project causing you problems, as well as any related software and versions (such as operating system, browser, etc.).
  • Test against the latest version of the project (and if possible also the master branch) to see if the problem has already been fixed.

Once you have tried the above, create a GitHub issue notifying your bug report.

Working in the code

If you want to contribute code, please:

  • Write good commit messages, explain what your patch does, and why it is needed. How to is described in the Commit changes chapter.
  • Keep it simple: Any patch that changes a lot of code or is difficult to understand should be discussed before you put in the effort.

Once you have tried the above, create a GitHub pull request with your changes changes and feel awesome 🎉.

Environment

Tested with Node 8 and NPM 5 and up.

Setup

Clone the repo and run an install:

$ git clone git@github.com:MartinHelmut/strex-lang.git && cd strex-lang && npm i

Tests

Tests are written in Jest. To run all tests execute

$ npm test

and to lint all the code:

$ npm run lint

If you want to ensure that the tests and compiler work against a reference implementation you can execute:

npm test -- --ensure

Commit changes

This repo is is Commitizen-friendly! (read more)

Checkout a new branch, e.g.:

$ git checkout -b do-something

There is no specific naming convention for branches.

Add your changes with a proper and commitizen friendly message. Create a "Pull Request" on Github and be awesome! 😎

Recommended workflow for release

  1. Make changes
  2. Commit those changes
  3. Make sure all tests turn green
  4. Create a new release with npm run release
  5. Push your release git push --follow-tags origin master
  6. Done!

For more information on building a release see [https://github.com/conventional-changelog/standard-version][sv]

Be Nice

Please follow the defined code of conduct.