Skip to content

Contributing Guidelines

ransome edited this page Jan 11, 2024 · 13 revisions

👩🏾‍💻 Become a contributer

We're actively inviting passionate contributors skilled in React, TypeScript, Electron, and Jest/Playwright to join our collaborative effort. The develop branch reflects the most recent progress. Here you'll find our roadmap.

Table of Contents

  1. Getting Started
  2. Contributing
  3. Development Setup
  4. Testing
  5. Coding Guidelines
  6. Commit Guidelines

Getting Started

Before contributing, make sure you have the latest version of Git, Node.js and yarn installed on your system.

Contributing

Refactoring

Our goal for Sleek is to maintain a clean and well-coded project. We prioritize refactoring efforts over adding an excessive number of features. By focusing on improving the code base, we increase the likelihood of attracting participants who are interested in joining the project and contributing.

Reporting Issues

If you encounter any issues or bugs while using sleek, please open an issue on the GitHub repository. When reporting issues, please provide detailed information about the problem, including steps to reproduce and any error messages or logs if applicable.

Feature Requests

If your feature request is more of a loose idea and you are unsure about its implementation or potential impact, please discuss it first in the GitHub Discussions section. Engage with the community and gather feedback before submitting a formal feature request.

If you have ideas for new features or improvements, we encourage you to open a feature request issue on GitHub. Describe the desired functionality or improvement in detail to help us understand and evaluate the suggestion.

Pull Requests

We welcome pull requests for bug fixes, enhancements, or new features. To contribute code, please follow these steps:

  1. Fork the repository and create a new branch for your feature or bug fix.
  2. Make your changes in the new branch, adhering to the coding guidelines.
  3. Write tests using Jest to cover your changes.
  4. Ensure that your code and tests pass by running yarn test.
  5. Commit your changes using proper commit guidelines.
  6. Push your branch to your forked repository.
  7. Open a pull request against the main repository's main branch.
  8. Provide a clear description of your changes and the problem they solve.

We will review your pull request as soon as possible. Your contributions are greatly appreciated!

GitHub Issue Backlog

Before starting work on sleek, we recommend reviewing the GitHub Issue backlog to align your contributions with existing issues. This helps avoid duplication of efforts and ensures that your work aligns with the project roadmap. If you find an issue that you would like to contribute to, please indicate your interest by commenting on the issue.

Development Setup

To set up the development environment and run sleek locally, follow these steps:

  1. Clone the repository: git clone https://github.com/ransome1/sleek.git
  2. Install project dependencies: yarn
  3. Build main and renderer once: yarn run build
  4. Start the development server: yarn start

Testing

sleek uses Jest as the testing framework. To run tests, use the following command: yarn test

To contribute to the testing efforts, consider the following:

  • Write tests to cover new features or changes in functionality.
  • Ensure that existing tests pass before making new contributions.
  • Aim for high test coverage to maintain code quality.

Coding Guidelines

To maintain code consistency, readability, and quality, please adhere to the following guidelines:

  • Write lean and efficient code. Avoid unnecessary complexity or redundant logic.
  • Follow the React coding style guide for writing React components.
  • Use meaningful and descriptive variable and function names.
  • Write clear and concise comments when necessary.
  • Prioritize code readability over cleverness.
  • Consider the user interface and user experience when adding new functionality. Strive for an intuitive and visually appealing interface.

Commit Guidelines

When making commits, please follow these guidelines:

  • Use descriptive and meaningful commit messages.
  • Separate the subject from the body with a blank line.
  • Start the subject with a verb in the imperative mood (e.g., "Add," "Fix," "Update").
  • Keep the subject line short and concise (preferably 50 characters or less).
  • Provide additional details in the body if needed.
  • Reference relevant issues or pull requests in the commit message if applicable.
  • Inform the maintainer if you've integrated dependencies that require acknowledgment.

Example:

Add new feature

Implement a new feature that allows users to customize settings.

Fixes #123

Thank you for taking the time to review these contributing guidelines. We appreciate your contributions and look forward to collaborating with you! If you have any questions, feel free to reach out to us.

Happy coding and testing!