Skip to content
Liminoid
GitHub

Contributing

Thank you for your interest in contributing to Liminoid πŸ™ A good first step is saying hello in the chatroom. A good second step is figuring out how you might want to contribute!

Ways to Contribute

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):

  1. Spread the word
  2. Help others
  3. πŸ”ŽπŸ›πŸžπŸœ
  4. Committing code

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.

Spread the word

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 πŸ€—

Help others

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.

Find bugs

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.

Committers' Guide

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.

Setting up your environment

Each repository may have slighty different development dependencies (listed in package.json) but generally any pacakge that is:

The colophon is also a good reference of the libraries and pacakges that Liminoid uses.

Example

Below is an example of how to get started contributing to the Javascript REPL (and interface to WebAssembly/Pyodide).

$ git clone https://github.com/[my-fork]/liminoid-js.git
$ cd liminoid-js

Install the devDependencies

$ yarn install

Write some code

$ vsc . # open pwd with VS Code (or your editor of choice)

Run the automated tests

$ yarn test

Format the contribution

$ yarn lint

Send it back

$ git add [changed files]
$ git status # check what you are committing
$ git commit -m "Describe the feature/bug addressed"

We generally follow the Github flow and the fork and pull model.

Versioning

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/

Edit this page on GitHub
GithubChatTwitterStack OverflowContributingColophonCitation