Changeset View
Changeset View
Standalone View
Standalone View
CONTRIBUTING.md
- This file was added.
1 | # Contributing to libkscreen | ||||
---|---|---|---|---|---|
2 | | ||||
3 | - [Code of Conduct](#code-of-conduct) | ||||
4 | - [Submission Guideline](#submission-guideline) | ||||
5 | - [Commit Message Guideline](#commit-message-guideline) | ||||
6 | - [Contact](#contact) | ||||
7 | | ||||
8 | ## Code of Conduct | ||||
9 | The [KDE Community Code of Conduct][kde-coc] is applied. | ||||
10 | | ||||
11 | You can reach out to the [Commmunity Working Group][community-working-group] if you have questions about the Code of Conduct or if you want to get help on solving an issue with another contributor or maintainer. | ||||
12 | | ||||
13 | ## Submission Guideline | ||||
14 | The project follows the [Frameworks Coding Style][frameworks-style]. | ||||
15 | | ||||
16 | All non-trivial patches need to go through [Phabricator reviews][phab-reviews]. | ||||
17 | | ||||
18 | Commits are applied directly on top of master or a bug-fix branch and without merge commits. Larger changes must be split up into smaller logical commits each with a separate review. These reviews must be marked with Phabricator's online tools as dependent on each other. | ||||
19 | | ||||
20 | libkscreen is released as part of Plasma. See the [Plasma schedule][plasma-schedule] for information on when the next new major version is released from master branch or a minor release with changes from one of the bug-fix branches. | ||||
21 | | ||||
22 | ## Commit Message Guideline | ||||
23 | Besides the [KDE Commit Policy][commit-policy] the [Conventional Commits 1.0.0-beta.4][conventional-commits] specification is applied with the following amendments: | ||||
24 | | ||||
25 | * Only the following types are allowed: | ||||
26 | * build: changes to the CMake build system, dependencies or other build-related tooling | ||||
27 | * docs: documentation only changes to overall project or code | ||||
28 | * feat: new feature | ||||
29 | * fix: bug fix | ||||
30 | * perf: performance improvement | ||||
31 | * refactor: rewrite of code logic that neither fixes a bug nor adds a feature | ||||
32 | * style: improvements to code style without logic change | ||||
33 | * test: addition of a new test or correction of an existing one | ||||
34 | * Only the following optional scopes are allowed: | ||||
35 | * api | ||||
36 | * kwayland | ||||
37 | * qscreen | ||||
38 | * randr | ||||
39 | * Angular's [Revert][angular-revert] and [Subject][angular-subject] policies are applied. | ||||
40 | * Breaking changes are supposed to be pointed out only in prose in the commit body. | ||||
41 | * When a commit closes a bug on [Bugzilla][bugzilla] or when the commit has an associated Phabricator review special keywords must be used in the commit body to link the respective bug or review. See [here][commit-policy-keywords] for more information on these and other possible keywords. [Arcanist][arcanist] should be used for automating usage of the review keyword. | ||||
42 | | ||||
43 | Commits deliberately ignoring this guideline will be reverted. | ||||
44 | | ||||
45 | ### Example | ||||
46 | | ||||
47 | fix(api): provide correct return value | ||||
48 | | ||||
49 | For function exampleFunction the return value was incorrect. | ||||
50 | Instead provide the correct value A by changing B to C. | ||||
51 | | ||||
52 | BUG: <bug-number> | ||||
53 | | ||||
54 | Differential Revision: https://phabricator.kde.org/<review-number> | ||||
55 | | ||||
56 | ## Contact | ||||
57 | Real-time communication about the project happens on the IRC channel `#plasma` on freenode and the bridged Matrix room `#plasma:kde.org`. | ||||
58 | | ||||
59 | Emails about the project can be sent to the [plasma-devel][plasma-devel] mailing list. | ||||
60 | | ||||
61 | [kde-coc]: https://kde.org/code-of-conduct | ||||
62 | [community-working-group]: https://ev.kde.org/workinggroups/cwg.php | ||||
63 | [frameworks-style]: https://community.kde.org/Policies/Frameworks_Coding_Style | ||||
64 | [phab-reviews]: https://phabricator.kde.org/differential | ||||
65 | [plasma-schedule]: https://community.kde.org/Schedules/Plasma_5 | ||||
66 | [commit-policy]: https://community.kde.org/Policies/Commit_Policy | ||||
67 | [conventional-commits]: https://www.conventionalcommits.org/en/v1.0.0-beta.4/#specification | ||||
68 | [angular-revert]: https://github.com/angular/angular/blob/3cf2005a936bec2058610b0786dd0671dae3d358/CONTRIBUTING.md#revert | ||||
69 | [angular-subject]: https://github.com/angular/angular/blob/3cf2005a936bec2058610b0786dd0671dae3d358/CONTRIBUTING.md#subject | ||||
70 | [bugzilla]: https://bugs.kde.org/describecomponents.cgi?product=KScreen | ||||
71 | [commit-policy-keywords]: https://community.kde.org/Policies/Commit_Policy#Special_keywords_in_GIT_and_SVN_log_messages | ||||
72 | [arcanist]: https://secure.phabricator.com/book/phabricator/article/arcanist | ||||
73 | [plasma-devel]: https://mail.kde.org/mailman/listinfo/plasma-devel |