Thanks for taking the time to contribute!
The following is a set of guidelines for contributing to this repository.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please perform a cursory search on issues to see if the problem has already been reported. If it has and the issue is still open, add a comment to the existing issue instead of opening a new one. When you are creating a bug report, please include as many details as possible. Fill out the required template, the information it asks for will help maintainers resolve it faster.
To report a new issue, please follow these steps:
- Use a clear and descriptive title for the issue to identify the problem after the prefix (ie.
[BUG] Page Freezes Upon Returning
) - Use the bug report template and fill out the required fields.
- Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining how you started the app, e.g. which command exactly you used in the terminal. When listing steps, don't just say what you did, but explain how you did it.
- Explain the expected behaviour
- Provide your OS and Browser information.
- Add any additional Context about the problem here such as console logs and screenshots. If you do not know how to get the console logs, please check your browser's documentation on how to get the console logs. If you cannot find the console logs, please mention that in the issue so that maintainers can help you get the logs.
Note If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
All feature requests must be discussed in discussions first before being converted to an issue. Before suggesting an enhancement or feature request, please perform a cursory search on discussions to see if the suggestion has already been submitted.
- User a clear descriptive title for the suggestion
- Describe the current behavior and explain which behavior you expected to see instead and why
- Provide any additional context for the enhancement or feature request if possible
If maintainers approve your suggestion, the discussion will be converted to an issue and will be added to the backlog as an enhancement
.
In order to contribute to the source of the project
- Fork the repository and create a new branch for your feature or enhancement
kebab-case
for the branch name.- For new documents, please use the
theme-theme-name
as the branch name. - For features or enhancements, please use the
feat-feat-name
as the branch name. - For fixes, please use the
fix-issue-name
as the branch name.
- For new documents, please use the
- Use commit messages guideline for your commits.
- Send a pull request to the
main
branch using the pull request guideline.
Warning Please do not change design into a complicated and / or overwhelming experience. It should launch fast, be easy to use and not distract from the functionality.
I really appreciate contributions in the form of new themes to the project. If you'd like to add a new theme, please follow these steps:
- Create a new
json
file in thepublic/themes
folder using the theme name as the file name. Please usekebab-case
for the file name. You can use the default theme file as a starting point. - Add the theme name to the array in the
src/utils/themes.js
file. Please use the same name as the file and use alphabetical order. - Test your theme by running the project locally by running
yarn dev
command- Use
set theme
command to see your theme on the list - Use
set theme <theme-name>
to see your theme in action
- Use
Warning Since themes are stored in the local storage, you should run the
set theme <theme-name>
command to see your changes.
More information about themes can be found in the Wiki Page.
Any new features or enhancements should be discussed in discussions first.
- Create a new idea and describe the feature or enhancement you'd like to work on.
- Wait for the idea to be approved by a maintainer.
- If the idea is approved, the discussion will be converted to an issue and will be added to the backlog as an
enhancement
. - Fork the repository and create a new branch for your feature or enhancement.
- Use commit messages guideline for your commits.
- Send a pull request to the
main
branch using the pull request guideline.
When writing commit messages, please follow these guidelines:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
While creating a Pull Request, please use the provided pull request tempalte and keep the following guidelines in mind:
- Do not include issue numbers in the PR title if any
- Use issue numbers within the PR body
- If applicable, include screenshots or animated GIFs to showcase new features