Contributing doesn't mean having to write code™ and it is often the other (less tangible) contributions that really make a project successful (and fun):
Regardless of how you want to get involved, please note that this community follows and enforces an inclusive Code of Conduct. By participating you agree to abide by its terms.
The easiest way to contribute is by spreading the word! This could be sharing a project you built with Liminoid, telling a friend who might be interested, or chiming in on social media @liminoid_io 🤗
The most impactful way to contribute is by helping others. You could write a tutorial or guide on how to use Liminoid, improve the documentation, or answer questions on Stack Overflow.
If you find a bug or have a suggestion on how to make Liminoid better, first check the issues of the relevant sub-project on Github. If there isn't an existing outstanding issue, feel free to inquire in the chatroom or create a new issue.
If you would like to help develop Liminoid, a good starting place is to familiarize yourself with the sub-projects to figure out how/where you might want to contribute. Looking at any of the existing issues in any of the repositories can provide more bite-sized tasks and writing more tests is a gentle way to familiarize yourself with the code. Before working on fixing a bug, developing a new feature, or writing code, ask if anyone is already working on something similar in the chatroom to find potential collaborators and to prevent duplicating work.
Each repository may have slighty different development dependencies (listed in
package.json) but generally any pacakge that is:
- bundled uses ES6 modules and Rollup
- transpiled uses Babel with the latest ES6 class syntax enabled.
- formatted uses Pretttier for styling and ESLint for linting (loosely following Airbnb's guide)
- documented uses MDX (and Markdown) for integrating components into the docs.
The colophon is also a good reference of the libraries and pacakges that Liminoid uses.
$ git clone https://github.com/[my-fork]/liminoid-js.git$ cd liminoid-js
$ yarn install
$ vsc . # open pwd with VS Code (or your editor of choice)
$ yarn test
$ yarn lint
$ git add [changed files]$ git status # check what you are committing$ git commit -m "Describe the feature/bug addressed"
TLDR; from https://semver.org/:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Long(er) read: https://nodesource.com/blog/semver-a-primer/