You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+75
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,81 @@ Significant effort SHOULD be made to give attribution for these lists whenever p
12
12
13
13
Folders should be named with the train case scheme, for example `File-System`.
14
14
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(wordlist): Added "WORDLIST_NAME_HERE" 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(wordlist): Added _____ to "WORDLIST_NAME_HERE")
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(wordlist): Fixed _____ in "WORDLIST_NAME_HERE"\nfix(wordlist): Removed _____ from "WORDLIST_NAME_HERE")
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(wordlist): _____\n\nFor example:\n\nchore(wordlist): 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(docs): 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(docs): Fixed typo for _____ docs\nchore(docs): 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(docs): 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(docs): Corrected _____\n\nFor example:\nfix(docs): 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? (github actions)}
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(cicd): 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(cicd): Fixed ______ in "AUTOMATION_NAME_HERE"\n\nFor example:\nfix(cicd): Fixed permissions error in "trickest-wordlist auto-updater")
81
+
q3C --> |NO| q3D{Did you add \na new feature \nto an existing \nautomation?}
82
+
83
+
q3D --> |YES| q3D_end(Use the syntax:\nfeat(cicd): Added _____ to "AUTOMATION_NAME_HERE"\n\nFor example:\nfeat(cicd): Added a file size checker to "dangerous_wordlist_checker.sh")
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(cicd): Fixed typo in "AUTOMATION_NAME_HERE"\nchore(cicd): Moved ______\nchode(cicd): Added code comment to "AUTOMATION_NAME_HERE")
87
+
q3E --> |NO| support4(Ask a project-maintainer which commit type you should use)
88
+
```
89
+
15
90
## READMEs
16
91
17
92
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