Skip to content

Latest commit

 

History

History
87 lines (52 loc) · 2.99 KB

CONTRIBUTING.md

File metadata and controls

87 lines (52 loc) · 2.99 KB

Contribute to Benzene

👍🎉 Thank you for being here. It is people like you that make benzene great and help shape a better open-source community.

What benzene is looking for

I welcome all contributions from the community. There are many ways to contribute:

  • 🎨 Submit PR to fix bugs, enhance/add existed/new features.
  • 🚸 Submit bug reports and feature requests.
  • 📝 Improve documentation and writing examples.

However, please avoid using the issue tracker for questions. Use the Discussion tab instead.

How to contribute

Bug reports

If you are submitting a 🐛 bug report, please:

  • Use a clear and descriptive title. Describe the behavior you observed and the expected behavior.
  • Describe the exact steps which reproduce the problem. A minimal reproduction repo is greatly appreciated.
  • Include Node version, OS, or other information that may be helpful in the troubleshooting.

Process on submitting a PR

Generally, all pull requests should have references to an issue.

If you are ✨ adding a new feature, please first create an issue for discussion.

You may also need to install npm@7 to use workspaces. However, yarn 1 may also work.

The steps to submit a PR are:

  1. Fork this repository to your own GitHub account and then clone it to your local device.

  2. Install all dependencies and dev dependencies by npm i from root directory. To install a dependency to a package, use npm i x -w packages/y instead of npm i from inside each package.

  3. Make changes and commit. Use the present tense and imperative mood ("Add feature" instead of "Adds feature" or "Added feature").

  4. Make sure your code is linted by running npm run lint -- --fix.

  5. If a change is not documentation-related, please add a tests if possible.

  6. Build and run tests

npm run build
npm test
  1. Create a pull request

Document the changes

This project uses changesets. Every PR should include changes and their scopes for versioning. This can be done by:

npx changeset

Answer all the prompted questions and commit to created files in .changeset folder.

For more on adding a changeset, see this.

Release new version

This section is done by maintainer only.

Run changeset version to bump all packages' versions and update CHANGELOG files:

npx changeset version

Commit the changes:

git commit -a -m 'Version Packages'

Publish to npm and push the changes (with tags) to main.

npx changeset publish
git push && git push --tags