Skip to content

Latest commit

 

History

History
107 lines (74 loc) · 6.37 KB

CONTRIBUTING.md

File metadata and controls

107 lines (74 loc) · 6.37 KB

Contributing To Excalith Start Page

:octocat: Thanks for taking the time to contribute!

The following is a set of guidelines for contributing to this repository.

Code of Conduct

This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code.

Issues and Requests

Reporting Bugs

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.

Feature Requests

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.

Contributing To Source Code

In order to contribute to the source of the project

  1. 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.
  2. Use commit messages guideline for your commits.
  3. 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.

New Themes

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:

  1. Create a new json file in the public/themes folder using the theme name as the file name. Please use kebab-case for the file name. You can use the default theme file as a starting point.
  2. 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.
  3. Test your theme by running the project locally by running yarn dev command
    1. Use set theme command to see your theme on the list
    2. Use set theme <theme-name> to see your theme in action

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.

New Features / Enhancements

Any new features or enhancements should be discussed in discussions first.

  1. Create a new idea and describe the feature or enhancement you'd like to work on.
  2. Wait for the idea to be approved by a maintainer.
  3. If the idea is approved, the discussion will be converted to an issue and will be added to the backlog as an enhancement.
  4. Fork the repository and create a new branch for your feature or enhancement.
  5. Use commit messages guideline for your commits.
  6. Send a pull request to the main branch using the pull request guideline.

Commit and PR Guidelines

Commit Messages

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

Pull Requests

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