Please read the PRIORITY LIST before contributing.
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting an issue
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
The code of conduct is described in CODE_OF_CONDUCT.md
.
All changes happen through pull requests. Pull requests are the best way to propose changes. We actively welcome your pull requests and invite you to submit pull requests directly here, and after review, these can be merged into the project.
This project is using the conventional commits standard. Please follow these steps to ensure your commit messages are standardized:
- Make sure your shell path is in the root of the project (not inside any of the packages).
- Run
yarn
. - Stage the files you are committing with
git add [files]
. - Run
yarn commit
. This will start an interactive prompt that generates your commit message:- Select the type of change.
- Type the scope. This is either
global
for project-wide changes or one of the packages (kibbeh, shawarma etc.). - Write a short, imperative tense description of the change.
- If the above was not sufficient, you may now write a longer description of your change (otherwise press enter to leave blank).
- y or n for whether there are any breaking changes (e.g. changing the props of a component, changing the JSON structure of an API response).
- y or n for whether this change affects an open issue, if positive you will be prompted to enter the issue number.
- Your commit message has now been created, you may push to your fork and open a pull request (read below for further instructions).
- Fork the repo and create your branch (usually named
patch-%the number of PRs you've already made%
) fromstaging
. - If you've added code that should be tested, add some test examples.
- Ensure to describe your pull request.
For VSCode users, we're able to use devcontainers which allows you to create development environments that already have all the tools and services configured and ready to go.
Prerequisite: Install Docker on your local environment.
To get started, read and follow the instructions in Developing inside a Container. The .devcontainer/ directory contains pre-configured devcontainer.json
, docker-compose.yml
and Dockerfile
files, which you can use to set up remote development within a docker container.
- Install the Remote - Containers extension.
- Open VSCode and bring up the Command Palette.
- Type
Remote-Containers: Open Folder in Container
, this will build the container with Elixir and Node installed, this will also start Postgres and RabbitMQ instances.
NOTE: If your bug is a security vulnerability, please instead directly email it to us at
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue. Report a bug by opening a new issue; it's that easy!
- Q: [The Question?]
- A: [The Answer!]
Great Feature Requests tend to have:
- A quick idea summary.
- What & why you wanted to add the specific feature.
- Additional context like images, links to resources to implement the feature etc, etc.
By contributing to LinkedList, you agree that your contributions will be licensed under the LICENSE file.