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
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ Thank you for inquiring `facil.io`'s contribution guide. It's people like you an
6
6
7
7
* Play nice.
8
8
9
+
* Contributions and edits to the code should be placed in the `/fio-stl` folder and its many header files which are numbered by priority and classification (**NOT** in the auto-generated `fio-stl.h` header).
10
+
9
11
* PRs are appreciated. Most likely the code you're looking for is @ the [facil.io C STL repository](https://github.com/facil-io/cstl).
10
12
11
13
* Always add a comment in the CHANGELOG to say what you did and credit yourself.
@@ -60,6 +62,26 @@ Thank you for inquiring `facil.io`'s contribution guide. It's people like you an
60
62
61
63
See the License section below. Contributions must relinquish ownership of contributed code, so licensing and copyright can be managed without the need to reach out to every past contributor.
62
64
65
+
### File Naming and Edits
66
+
67
+
The `fio-stl.h` header is **Auto-Generated** - do **not** edit it.
68
+
69
+
Any new features or changes should be made in the individual headers placed in the `./fio-stl`**folder**. This avoids manual edits and ensures consistency during the generation process.
70
+
71
+
#### Boilerplate for New Modules
72
+
73
+
There's a template or boilerplate for new modules provided the [`./fio-stl/699 empty module.h`](https://github.com/facil-io/cstl/blob/master/fio-stl/699%20empty%20module.h), which should be used as the starting point for adding any new functionality. This includes the necessary structure and naming conventions for creating new modules within the CSTL.
74
+
75
+
#### Numbering Scheme for Header Files
76
+
77
+
The numbering at the beginning of the header filenames serves a dual purpose:
78
+
79
+
* Prioritization in the generated fio-stl.h file (e.g., headers that require dynamic memory allocation begin from 100).
80
+
81
+
* Feature classification (e.g., core types that require memory allocation are in the 100-199 range while new type templates are placed in the 200-299 range). This numbering ensures that modules are added in the correct sequence and can manage their dependencies efficiently.
82
+
83
+
* Please remember to add your module to both the `include.h` and `000 dependencies.h` header files, so people can access it.
84
+
63
85
### Community Guideline - Play Nice
64
86
65
87
As a child, I wasn't any good with people (I'm not sure I'm any better now that I'm older)... which is how come I became good with computers and why we have `facil.io` and other open source projects ;-)
0 commit comments