First off, thanks for taking the time to contribute! ❤️
We welcome contributions from the community and first want to thank you for taking the time to contribute!
Please familiarize yourself with the Code of Conduct before contributing.
Before you start working with sudo-for-microsoft-windows, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch.
See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
- Star the project
- Refer this project in your project's readme
- Mention the project in your group and in interfacing with others
- Code of Conduct
- I Have a Question
- I Want To Contribute
- Reporting Bugs
- Suggesting Enhancements
- Your First Code Contribution
If you want to ask a question, we assume that you have read the available Documentation. The best way at this time to reach out with a question or a request for clarification is to either ask on the existing Github issue for a specific problem, or if there is no existing issue, create a new one with the appropriate information:
- Provide as much context as you can about what you're running into.
- Provide details about the specific configuration, environment, and issues you are seeing
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.
- Make sure that you are using the latest version of the tool.
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the documentation. If you are looking for support, you might want to check this section).
- Collect information about the bug:
- Windows version, Command being run, etc
- Possibly your input and the output
- Can you reliably reproduce the issue? If so, can you provide an example showing the issue?
- Explain the behavior you would expect and the actual behavior.
- Explain the goal you are trying to achieve (It may be that there are better/other ways to achieve the same goal)
- Please provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
Once it's filed:
- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps.
- If the team is able to reproduce the issue, the Github issue will be triaged and prioritized according to the specifics of the issue
- If you wish to fix the bug yourself, feel free to assign the issue to yourself and check out details on how..
This section guides you through submitting an enhancement suggestion for Sudo for Windows. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
- Make sure that you are using the latest version.
- Read the documentation carefully and find out if the functionality is already covered.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we will prioritize features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider contributing all or part of a feature yourself.
Enhancement suggestions are tracked in our internal Jira instance
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Describe the current behavior and explain which behavior you expected to see instead and why. At this point you can also tell which alternatives do not work for you.
- You may want to include screenshots and animated GIFs which help you demonstrate the steps or point out the part which the suggestion is related to. You can use this tool to record GIFs on Windows.
- Explain why this enhancement would be useful to other Sudo for Microsoft Windows users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
This is a rough outline of what a contributor's workflow looks like:
- Make a fork of the repository within your GitHub account
- Create a topic branch in your fork from where you want to base your work
- Make commits of logical units
- Make sure your commit messages are with the proper format, quality and descriptiveness (see below)
- Push your changes to the topic branch in your fork
- Create a pull request containing that commit
We follow the GitHub workflow and you can find more details on the GitHub flow documentation.
Before submitting your pull request, we advise you to use the following:
- Check if your code changes will pass both code linting checks and unit tests.
- Ensure your commit messages are descriptive. We follow the conventions on How to Write a Git Commit Message. Be sure to include any related GitHub issue references in the commit message. See GFM syntax for referencing issues and commits.
- Check the commits and commits messages and ensure they are free from typos.
This guide is based on the contributing-gen. Make your own!