Thanks for your interest in contributing to LibrePay!
The following is a set of guidelines for contributing to LibrePay, hosted on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a Pull Request.
I don't want to read this whole thing, I just have a question!!!
This project and everyone participating in it is governed by the LibrePay Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
We still don't have a Message Board, Facebook group or whatever. So, by now, just send an email to [email protected].
This section guides you through submitting a Bug Report for LibrePay. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Before creating a Bug Report, please test the "nightly" development branch, 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: Regressions can happen. If you find a Closed issue that seems like your issue, go ahead and open a new issue and include a link to the original issue in the body of your new one. All you need to create a link is the issue number, preceded by #. For example, #8888.
Bugs are tracked as GitHub issues. Use the New Issue button to create an issue and 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.
- Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining how you started LibrePay, e.g. which icon you touched on your device, or how you started LibrePay otherwise. When listing steps, don't just say what you did, but explain how you did it. For example, if you moved the cursor to the end of a line, explain if you used the mouse, or a keyboard shortcut or a LibrePay command, and if so which one?
- 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 or log output 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 detailed log output as provided on the IDE.
- Include screenshots, links to videos, etc. which clearly demonstrate the problem.
- Include the steps (if relevant) that reliably causes the problem to show itself.
- 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.
Provide more context:
- Can you reproduce the problem with a minimum of steps?
- Did the problem start happening recently (e.g. after updating to a new version of LibrePay) or was this always a problem?
- If the problem started happening recently, can you reproduce the problem in an older version of LibrePay? What's the most recent version in which the problem doesn't happen? You can download older versions of LibrePay from the releases page.
- Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.
Include details about your configuration and environment:
- Which version of LibrePay are you using? LibrePay's exact version and build date can be seen in the about page.
- What kind of device and operational system are you using?
- What kind of add-ons (if relevant) do you have?
- Include your Configuration. Make a screenshot of the configuration page, but please hide any personal information as API keys.
This section guides you through submitting a suggestion for LibrePay, 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 a suggestion, please check this list 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.
- Check the LibrePay website for tips — you might discover that the feature is already included. Most importantly, check if you're using the latest version of LibrePay and if you can get the desired behavior by changing LibrePay's config settings.
- Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
Feature Requests are tracked as GitHub issues. Please follow these guidelines in your request:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the requested feature in as much detail as possible.
- Provide specific examples to demonstrate the steps.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and links to videos which demonstrate the feature or point out the part of LibrePay to which the request is related.
- Explain why this feature would be useful to most LibrePay users.
- Name other applications that have this feature, if any.
Unsure where to begin contributing to LibrePay? You can start by looking through these good-first-issue
and help-wanted
issues:
- [Beginner issues][good-first-issue] - issues which should only require a few lines of code, and a test or two.
- [Help Wanted issues][help-wanted] - issues which should be a bit more involved than
beginner
issues.
Pull Requests should always be targeted to working branches (e.g., issue-8888
) and never to release branches (e.g., master
). If this is your first Pull Request, please read Github's Pull Request documentation.
- Fill in the required template.
- Don't include issue numbers in the PR title.
- Include pictures, diagrams, and links to videos in your Pull Request to demonstrate your changes, if needed.
- Follow the Coding Standards.
- Document new code with clear and concise comments.
- End all files with a newline.
- 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 fewer.
- Reference issues and Pull Requests liberally after the first line.
- Please read and follow the Coding Standards. Failure to follow these guidelines will delay evaluation and acceptance of Pull Requests.
- Guidelines for documentation are still under development. In-general, be clear, concise, and to-the-point.
- This gidelines were adapted from the ones at the wonderful @LibrePayFirmware. Thank you @thinkyhead and everyone working at LibrePay project.