Skip to content

Commit cf0c42e

Browse files
committedJun 25, 2024
feat(docs): Added Conventional-Commits guidelines to the CONTRIBUTING.md
1 parent 981ae03 commit cf0c42e

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
 

‎CONTRIBUTING.md

+75
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,81 @@ Significant effort SHOULD be made to give attribution for these lists whenever p
1212

1313
Folders should be named with the train case scheme, for example `File-System`.
1414

15+
## Conventional Commits
16+
17+
All commits related to contributions to seclists are encouraged to use the [Conventional-Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) syntax
18+
19+
> The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
20+
>
21+
> The commit message should be structured as follows:
22+
```xml
23+
<type>[optional scope]: <description>
24+
25+
[optional body]
26+
27+
[optional footer(s)]
28+
```
29+
30+
For example:
31+
```
32+
feat(wordlist): Added "raft" wordlists by Google
33+
```
34+
35+
Below is a flowchart which should assist you in selecting the best conventional-commits syntax for the commit messages of the contributions you wish to make.
36+
37+
```mermaid
38+
flowchart TD
39+
start(You made a commit) --> f1
40+
f1{Does it affect a wordlist?}
41+
f1 --> |YES| q1A{Did you upload a\ncompletely new\nwordlist?}
42+
43+
q1A --> |YES| q1A_opt1(Use the syntax:\nfeat&lpar;wordlist&rpar;: Added &quot;WORDLIST_NAME_HERE&quot; by AUTHOR_NAME_HERE)
44+
q1A --> |NO| q1B{Did you add\ncompletely new\ncontent to an existing\nwordlist?}
45+
46+
q1B --> |YES| q1B_opt1(Use the syntax:\nfeat&lpar;wordlist&rpar;: Added _____ to &quot;WORDLIST_NAME_HERE&quot;)
47+
q1B --> |NO| q1C{Did you fix an error/\nmistake/oversight in an\nexisting wordlist?}
48+
49+
q1C --> |YES| q1C_end(Use the syntax:fix&lpar;wordlist&rpar;: Fixed _____ in &quot;WORDLIST_NAME_HERE&quot;\nfix&lpar;wordlist&rpar;: Removed _____ from &quot;WORDLIST_NAME_HERE&quot;)
50+
q1C --> |NO| q1D{Did you perform a big operation\nwich affects all wordlists \nin a minor way?\nFor example: \n- Moving all wordlists from one \ndirectory to a new one\n- Changing the line-endings of\nall wordlists}
51+
52+
q1D --> |YES| q1D_end(Use the syntax:\nchore&lpar;wordlist&rpar;: _____\n\nFor example:\n\nchore&lpar;wordlist&rpar;: Moved all file-extension wordlists to /Fuzzing/File-Extensions/)
53+
q1D --> |NO| support1(Ask a project-maintainer which commit type you should use)
54+
55+
f1 --> |NO| f2{Does if affect a\nREADME file?}
56+
57+
f2 --> |YES| q2A{Did you create a new\nREADME file?}
58+
59+
q2A --> |YES| q2A_end(Use the syntax:\nfeat&lpar;docs&rpar;: Created documentation for ______)
60+
q2A --> |NO| q2B{Did you fix a typo?\nDid you improve the\nphrasing of a README?}
61+
62+
q2B --> |YES| q2B_end(Use the syntax:\nchore&lpar;docs&rpar;: Fixed typo for _____ docs\nchore&lpar;docs&rpar;: Improved phrasing in ____ docs)
63+
q2B --> |NO| q2C{Did you add new \ncontent to an existing\nREADME?}
64+
65+
q2C --> |YES| q2C_end(Use the syntax:\nfeat&lpar;docs&rpar;: Added documentation for ______)
66+
q2C --> |NO| q2D{Did you fix incorrect\ninformation in a \nREADME?}
67+
68+
q2D --> |YES| q2D_end(Use the syntax:\nfix&lpar;docs&rpar;: Corrected _____\n\nFor example:\nfix&lpar;docs&rpar;: Corrected author name for the raft.txt wordlist)
69+
q2D --> |NO| support2(Ask a project-maintainer which commit type you should use)
70+
71+
72+
f2 --> |NO| q3A{Does it affect the CICD\npipelines? &lpar;github actions&rpar;}
73+
74+
q3A --> |YES| q3B{Did you create a\ncompletely new\nautomation?}
75+
q3A --> |NO| support3(Ask a project-maintainer which commit type you should use)
76+
77+
q3B --> |YES| q3B_end(Use the syntax:\nfeat&lpar;cicd&rpar;: Created ______)
78+
q3B --> |NO| q3C{Did you fix an error or \nfix a vulnerability in an \nexisting automation?}
79+
80+
q3C --> |YES| q3C_end(Use the syntax:\nfix&lpar;cicd&rpar;: Fixed ______ in &quot;AUTOMATION_NAME_HERE&quot;\n\nFor example:\nfix&lpar;cicd&rpar;: Fixed permissions error in &quot;trickest-wordlist auto-updater&quot;)
81+
q3C --> |NO| q3D{Did you add \na new feature \nto an existing \nautomation?}
82+
83+
q3D --> |YES| q3D_end(Use the syntax:\nfeat&lpar;cicd&rpar;: Added _____ to &quot;AUTOMATION_NAME_HERE&quot;\n\nFor example:\nfeat&lpar;cicd&rpar;: Added a file size checker to &quot;dangerous_wordlist_checker.sh&quot;)
84+
q3D --> |NO| q3E{Did you:\n- Fix a typo\n- Move a file\n- Add a code coment}
85+
86+
q3E --> |YES| q3E_end(Use the syntax:\nchore&lpar;cicd&rpar;: Fixed typo in &quot;AUTOMATION_NAME_HERE&quot;\nchore&lpar;cicd&rpar;: Moved ______\nchode&lpar;cicd&rpar;: Added code comment to &quot;AUTOMATION_NAME_HERE&quot;)
87+
q3E --> |NO| support4(Ask a project-maintainer which commit type you should use)
88+
```
89+
1590
## READMEs
1691

1792
If you are uploading a brand-new wordlist into SecLists, an entry must be added to the containing folder's `README.md`. If the folder does not already have a `README.md` file, you may create one.

0 commit comments

Comments
 (0)
Please sign in to comment.