Skip to main content

Contributing Guidelines

Thanks a lot for your interest in contributing to Resuminator! It's because of developers and designers like you that Resuminator thrives to become a better product for our community. โœจ

The Open Source Guides website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:

The following is a set of guidelines for contributing to three primary repositories of Resuminator which are resuminator/resuminator, resuminator/resuminator-server, resuminator/docs which are hosted in the Resuminator Organization on GitHub. Although most of the guidelines would be same across all qualifying repositories and excepts would been mentioned properly. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Code Of Conduct#

This project and everyone participating in it is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to conduct@resuminator.in.

Get involved#

There are many ways to contribute to Resuminator, and many of them do not involve writing any code. Here's a few ideas to get started:

  • Start using Resuminator! Go through the Quick Start guides. Does everything work as expected? If not, we're always looking for improvements. Let us know by opening an issue.

  • Help us make the docs better. File an issue if you find anything that is confusing or can be improved. We also have an umbrella issue for docs where we are planning and working on all docs. You may adopt a doc piece there to work on.

  • Take a look at the features requested by others in the community and consider opening a pull request if you see something you want to work on.

  • Look through the issues. If you find an issue you would like to fix, open a pull request. Issues tagged as Good first issue are a good place to get started.

Contributions are very welcome. If you think you need help planning your contribution, please ping us on Twitter at @resuminator and let us know you are looking for a bit of help.

Join our Discord channel#

To participate in Resuminator DEV, join the #contributors channel.

How can I contribute?#

Reporting Bugs#

This section guides you through submitting a bug report for Resuminator. Following these guidelines helps maintainers and the community understand your report ๐Ÿ“, reproduce the behavior ๐Ÿ’ป ๐Ÿ’ป, and find related reports ๐Ÿ”Ž

Before creating bug reports, please check the existing issues as you might find out that you don't need to create 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 helps us resolve issues faster.

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.

Reporting Security Bugs#

Resuminator being a Open Source Software and maintained by duo out of their passion for open source and community are not able to offer Bounty as such but we as a developer and maintainers value your time and contribution and definitely will have something to honour your time. With that in mind, please do not file public issues.

Drop a mail to himanshu@resuminator.in and He'll take good of things thereafter.

How do I submit a (good) bug report?#

Bugs are tracked as GitHub issues. Provide the following information by filling in the template.

Explain the problem and include additional details to help maintainers reproduce the problem:

  • Use a clear and descriptive title for the issue to identify the problem.
  • Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use Markdown code blocks.
  • Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
  • Explain which behavior you expected to see instead and why.
  • Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem. You can use this tool to record GIFs on macOS and Windows, and this tool on Linux.
  • If the problem is related to performance or memory, include a CPU profile capture with your report.
  • If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.

Suggesting Enhancements#

This section guides you through submitting an enhancement suggestion for Resuminator, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion ๐Ÿ“ and find related suggestions ๐Ÿ”Ž.

Before creating enhancement suggestions, please check existing issues as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please include as many details as possible. Fill in the template, including the steps that you imagine you would take if the feature you're requesting existed.

How do I submit a (good) enhancement suggestion?#

Enhancement suggestions are tracked as GitHub issues. After you've determined platform your enhancement suggestion is related to, create an issue on that repository and provide the following information:

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement in as many details as possible.
  • Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
  • Describe the current behavior and explain which behavior you expected to see instead and why.
  • Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of Resuminator which the suggestion is related to. You can use this tool to record GIFs on macOS and Windows, and this tool on Linux.
  • Explain why this enhancement would be useful to most Resuminator users.

Your First Code Contribution#

So you have decided to contribute code back to upstream by opening a pull request. You've invested a good chunk of time, and we appreciate it. We will do our best to work with you and get the PR looked at.

Working on your first Pull Request? You can learn how from this free video series:

How to Contribute to an Open Source Project on GitHub

Unsure where to begin contributing to Resuminator? You can start by looking through these Level 1 and good-first-issue issues:

  • Level 1 - Easy issues, which can be fixed with few commits.
  • Good First Issue - issues which should be a bit more involved than Level 1 issues.

Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have

Pull Requests#

The process described here has several goals:

  • Maintain Resuminator's quality
  • Fix problems that are important to users
  • Engage the community in working toward the best possible Resuminator
  • Enable a sustainable system for Resuminator's maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers:

  1. Follow all instructions in the template

  2. After you submit your pull request, verify that all status checks are passing.

    What if the status checks are failing?

    If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.

  3. Semantic commit messages

    See how a minor change to your commit message style can make you a better programmer.

    Format: <type>(<scope>): <subject>

    <scope> is optional

    feat: allow overriding of webpack config^--^  ^------------^|     ||     +-> Summary in present tense.|+-------> Type: chore, docs, feat, fix, refactor, style, or test.

    The various types of commits:

    • feat: new feature for the user, not a new feature for build script
    • fix: bug fix for the user, not a fix to a build script
    • docs: changes to the documentation
    • style: formatting, missing semi colons, etc; no production code change
    • refactor: refactoring production code, eg. renaming a variable
    • test: adding missing tests, refactoring tests; no production code change
    • chore: updating grunt tasks etc; no production code change

    Use the present tense ("Add feature" not "Added feature")

    caution

    Non-sematic commit message in repository like resuminator/server will not be accepted. Multiple failure to comply will lead to ban from repository or invalid/spam contribution for any event.

  4. Lint: All of our repositories uses linting. Please setup and use specified linting.

  5. Breaking Changes

    When adding a new breaking change, follow this template in your pull request:

    ### New breaking change here
    - **Who does this affect**:- **How to migrate**:- **Why make this breaking change**:- **Severity (number of people affected x effort)**:
  6. Copyright header for source code

    Copy & Paste Copyright header on top of every new file while contributing to resuminator/resuminator and resuminator/resuminator-server. You can find respective header in respective repositories.

  7. Contributor License Agreement (CLA)

    In order to accept your pull request, we need you to submit a CLA. You only need to do this once. If you are submitting a pull request for the first time, the CLA Assistant will reply with a link to the CLA form.

What happens next?#

The core Resuminator team will be monitoring for pull requests. Do help us by keeping pull requests consistent by following the guidelines above.

License#

By contributing to Resuminator, you agree that your contributions will be licensed under its GNU GPL v3.