First off, thank you for considering contributing to org-parser. It’s people like you that make org-parser such a great tool!
What do we consider a bug? A bug is when an existing feature is broken.
A feature request is to ask for change in an existing feature or to ask for a completely new feature.
Hence, if your request is about a feature that Emacs Org mode has, but org-parser lacks, this is a feature request, not a bug.
- Ensure the bug or feature was not already reported by searching on GitHub under Issues.
- Ensure that the the bug you want to report is not known behavior by reading the readme and the wiki.
- If you’re unable to find an open issue addressing the problem, open
a new one.
- If you want to report a bug or request a feature, please use the “Bug report” or “Feature request” ticket and fill out the asked for metadata.
- If your request is neither about a bug nor feature, please do open a blank issue.
One of our quality goals is to keep the amount of issues manageable. This means that a single person has to be able to groom the backlog (review the open issues) in a reasonable amount of time.
These are the steps we take to ensure a high quality in the backlog:
- We only keep issues open on a longer term basis that fulfill one of
the following criteria
- Someone has committed to work on it or plausibly plans to do so in the future
- It is a bug or regression
- If someone files a bug or feature request which is either not clear to the maintainers or is likely not a bug, but known and documented behavior, we ask a question or link to the documentation. We also add a ‘question’ label to the issue. If the issue creator does not respond to the question within 5 days, we close the issue. If she does choose to respond at some point, she can re-open the issue.
We have good quality assurance and an established workflow. This is it:
- Open a new GitHub pull request
- Ensure the PR title and description clearly describes the problem and solution. Include the relevant issue number if applicable.
- New Branch in Git
- Naming:
(feature|fix|chore)/issue-id/short-description
- Develop / Test locally until tests pass
- If you’re using Emacs, you can autoformat your source files using
Cider
cider-format-buffer
: https://github.com/munen/emacs.d/#auto-formatting
- If you’re using Emacs, you can autoformat your source files using
Cider
- Create Pull Request on Github to
master
- Check that the tests also pass on CI
- Core Team: Merge to
master
, deploy and accept the Issue on Github
An issue is done when:
- Functionality has been implemented
- Functionality has been verified
- Surrounding main functionality has been regression tested
- Code has been reviewed
- Proper code style
- Code has tests (acceptance tests for user visible changes, otherwise at least unit tests)
- Follows clean code guidelines and architecture best practices
- Code has been documented
- Code has been merged
- Tested on supported browsers
Clean code guidelines
- Create small and highly cohesive modules
- Avoid long modules
- Extract modules to separate responsibilities
- Create small methods or functions
- Avoid long methods or functions
- Extract methods or functions to separate responsibilities
- Do one thing
Thanks! 🙏 🙇
org-parser Team
200ok llc and all contributors