Warning, /libraries/atcore/CONTRIBUTING.md is written in an unsupported language. File is not indexed.

0001 <!--
0002     SPDX-FileCopyrightText: AtCore Authors
0003     SPDX-License-Identifier: CC-BY-SA-4.0
0004 -->
0005 # Contributing To AtCore
0006 AtCore is an open source project and all open source projects need contrubitors. Thank you for taking the time to read this document and Thank you for your future contributions to this project. 
0007 
0008 ----
0009 ## Prerequisites
0010 In order to contrbute directly to AtCore you will need to have a [KDE Identity]. You should create a fork on [KDE Invent] to work within. You may wish to join us on [IRC] or [Telegram].
0011 
0012 ## Ways you can contribute
0013 There are several ways you can contribute
0014  - Submit or Help to confirm bugs in our [Bug Tracker].
0015  - Find Errors in the documentation or help to otherwise improve it
0016  - Help users solve their issues
0017  - Help to review Code (Watch the project on [KDE Invent])
0018  - Commit new code or code to fix bugs. 
0019 
0020 ## General Contribution Workflow
0021 The Following Is the General work flow for most contrubitions
0022  - Create changes on your local fork in a new branch
0023  - Format your code by building the clang-format target.
0024  - Submit your change create a Merge Request on [KDE Invent]
0025  - Wait for review
0026  - Update your commits with any changes, and update your Merge Request after.
0027  - Mark all your "Issues" resolved in your MR. 
0028  - Repeat Review / Update until changes is accepted.
0029  - A Maintainer will Merge when the changes is ready.
0030  
0031 ### General Coding Guidelines
0032 The following guidelines apply to all submited code.
0033 
0034  - Follow the [KDE style guidelines]
0035  - Use constant referances when possible
0036  - Includes should be alphabetical.
0037  - Use the target clang-format before you commit to format your code. 
0038  - Headers should use `#pragma once`.
0039  - Auto should not be used if the type is not explict.
0040  - Doxygen comments should be created/updated with code.
0041  - Objects should have logical varible and function names
0042  - Code should always be readable, comment your code when it makes sense.
0043 
0044 #### Using Clang format
0045     You can use the make target clang-format to format your source code correctly.
0046     to do so you must first have run cmake to generate build file.
0047     In your IDE you can build the target "clang-format" 
0048     Or manually from inside your build directory with `make clang-format`
0049 
0050 ### Commit Guidelines
0051 Keeping a clean project history requires that we take care when choosing how we will commit our code. Consider the following when creating commits. ALL COMMITS MUST BE REVIEWED BEFORE PUSHING TO MASTER.
0052 
0053  - Follow the [KDE commit guidelines]
0054  - Format your code using the clang-format make target (see above)
0055  - Reviewers: rizzitello, patrickelectric, laysrodrigues, tcanabrava
0056  - Be sure to make any review issues as resolved.
0057  - Keep your base upto date. 
0058  - Amend your local commits to fix review issues.
0059  - Always Ammend commits to update them
0060  - Never fix a commit with another commit.
0061  - Update your commits with `git commit --amend`
0062  - Update your MR with `git push --force`
0063  - Revisions require a majority acceptance rate before landing
0064  - Your Merge Request will be merged when your code when its ready
0065 
0066 [IRC]: https://web.libera.chat/
0067 [Telegram]: https://telegram.me/KDEAtelier
0068 [Bug Tracker]: https://bugs.kde.org/enter_bug.cgi?product=Atelier&component=AtCore
0069 [KDE Identity]: https://identity.kde.org/
0070 [KDE Invent]: https://invent.kde.org
0071 [KDE style guidelines]: https://community.kde.org/Policies/Kdelibs_Coding_Style
0072 [KDE commit guidelines]: https://community.kde.org/Policies/Commit_Policy