# Contribution Guidelines Unfortunately, not every library/tool/framework can be considered. The aim of the list is to provide a concise list of noteworthy modern software. This means that suggested software is either (a) widely recommended regardless of personal opinion (b) highly discussed in the community due to its innovative nature (c) absolutely unique in its approach and function (d) a niche product that fills a gap There are two required criteria for a pull request: 1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. 2. If an entry does not meet conditions *(a)* to *(d)* there has to be an explanation either in the description or the pull request why it should be added to the list. Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if they criteria match. If a certain entry does not get accepted, you should first look if there has been a discussion before. These discussions are in the issue section and normally marked with the question tag. If there hasn't been such a topic, you are free to create a new issue tagged as question. Furthermore, please ensure your pull request follows the following guidelines: * Please search previous suggestions before making a new one, as yours may be a duplicate. * Please make an individual pull request for each suggestion. * Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. * Entries should be sorted in ascending alphabetical order, i.e. a to z. * New categories, or improvements to the existing categorization are welcome. * Keep descriptions short, simple and unbiased. * End all descriptions with a full stop/period. * Check your spelling and grammar. * Make sure your text editor is set to remove trailing whitespace. Thank you for your suggestions!