Skip to content
This repository has been archived by the owner on Dec 8, 2019. It is now read-only.

Latest commit

 

History

History
157 lines (103 loc) · 4.01 KB

CONTRIBUTING.md

File metadata and controls

157 lines (103 loc) · 4.01 KB

Contributing

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

Contents


Issues

General

Issues have a specific pattern for the title:

package-name: Here is the title

that could look like:

acai-cli: Write documentation for tool

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:

  • Follow the same coding style as used in the project.
  • Add an automated test that verifies your code change like described in the Tests chapter.
  • 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 10. Also this repository is organised as a monorepo and uses Rush.

Setup

To work with this repository you need to have Rush installed. A how too can be found at the getting started with Rush page. You can check if everything worked fine by running:

$ rush -v

Rush Multi-Project Build Tool 5.10.3 (unmanaged) - https://rushjs.io

usage: rush [-h] [-d] <command> ...
rush: error: too few arguments

If this was successful you can Clone the repo and run the setup:

git clone git@github.com:MartinHelmut/berries.git && cd berries && rush update

There is also a list of everyday commands for Rush.

Tests

Tests are written in Jest. To run all tests execute

rush test

and to lint the code:

rush lint

Format check

You can also run a prettier verification in all packages with:

rush format-check

Show documentation

To create and serve the documentation run the following command inside a specific package:

rushx docs

Commit changes

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

Checkout a new branch, e.g.:

$ git checkout -b task/do-something

There is no specific naming convention for branches.

Add your changes and commit them with a nice and commitizen friendly message. This could look like:

feat(apps/website): add a new feature

When you did all your changes run

rush change

that will prompt you with some questions through the process of creating a change log entry.

And finally create a "Pull Request" on Github and be awesome! 😎

Recommended workflow for release

  1. Make changes
  2. Commit those changes
  3. Create a change log entry with rush change
  4. Publish with rush publish
  5. Done!

Be Nice

Please follow the defined code of conduct.