measur-tools-suite 1.0.11-beta.97 → 1.0.11-beta.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +135 -104
- package/DoxygenLayout.xml +269 -0
- package/EMSCRIPTEN_BINDINGS_CHANGES.md +12 -8
- package/README.md +95 -38
- package/bin/client.js +1 -1
- package/bin/client.wasm +0 -0
- package/bin/package.json +1 -1
- package/contributing/documentation.md +107 -94
- package/docs/calculators/wall_heat_loss_calculator.dox +90 -0
- package/docs/mainpage.dox +24 -21
- package/docs/references.bib +19 -0
- package/package.json +1 -1
package/CONTRIBUTING.md
CHANGED
|
@@ -58,9 +58,13 @@ Use Conventional Commits to structure your commit messages. This helps maintain
|
|
|
58
58
|
- [How to Format Code](#how-to-format-code)
|
|
59
59
|
- [Best Practices](#best-practices)
|
|
60
60
|
- [Documentation](#documentation)
|
|
61
|
-
- [
|
|
62
|
-
- [
|
|
61
|
+
- [Doxygen Commands](#doxygen-commands)
|
|
62
|
+
- [Doxygen Aliases](#doxygen-aliases)
|
|
63
63
|
- [Documenting Code](#documenting-code)
|
|
64
|
+
- [Math](#math)
|
|
65
|
+
- [Units](#units)
|
|
66
|
+
- [Formulas](#formulas)
|
|
67
|
+
- [Symbols](#symbols)
|
|
64
68
|
- [Files](#files-1)
|
|
65
69
|
- [Namespaces](#namespaces-2)
|
|
66
70
|
- [Classes \& Structs](#classes--structs)
|
|
@@ -68,9 +72,8 @@ Use Conventional Commits to structure your commit messages. This helps maintain
|
|
|
68
72
|
- [Member Variables](#member-variables-1)
|
|
69
73
|
- [Constants](#constants)
|
|
70
74
|
- [Enums](#enums)
|
|
71
|
-
- [
|
|
72
|
-
|
|
73
|
-
- [Modules](#modules)
|
|
75
|
+
- [Groups](#groups)
|
|
76
|
+
- [Generating Doxygen Documentation](#generating-doxygen-documentation)
|
|
74
77
|
- [Conventional Commits](#conventional-commits)
|
|
75
78
|
- [Commit Format](#commit-format)
|
|
76
79
|
- [Commit Types](#commit-types)
|
|
@@ -698,7 +701,7 @@ If you have questions about the formatting rules or need help configuring your e
|
|
|
698
701
|
|
|
699
702
|
# Documentation
|
|
700
703
|
|
|
701
|
-
This project uses [Doxygen](https://www.doxygen.nl/) to generate documentation from annotated source code. Doxygen comments are used to describe the purpose, behavior, and usage of classes, functions, and other entities in the codebase. Follow these guidelines to ensure your code is well-documented and easy to understand. Always use `@` for Doxygen commands
|
|
704
|
+
This project uses [Doxygen](https://www.doxygen.nl/) to generate documentation from annotated source code. Doxygen comments are used to describe the purpose, behavior, and usage of classes, functions, and other entities in the codebase. Follow these guidelines to ensure your code is well-documented and easy to understand. Always use `@` for Doxygen commands.
|
|
702
705
|
|
|
703
706
|
<!-- START mdsplit-ignore -->
|
|
704
707
|
<a id="documentation-index"></a>
|
|
@@ -706,9 +709,13 @@ This project uses [Doxygen](https://www.doxygen.nl/) to generate documentation f
|
|
|
706
709
|
<summary><Strong>Index</Strong></summary>
|
|
707
710
|
|
|
708
711
|
- [Documentation](#documentation)
|
|
709
|
-
- [
|
|
710
|
-
- [
|
|
712
|
+
- [Doxygen Commands](#doxygen-commands)
|
|
713
|
+
- [Doxygen Aliases](#doxygen-aliases)
|
|
711
714
|
- [Documenting Code](#documenting-code)
|
|
715
|
+
- [Math](#math)
|
|
716
|
+
- [Units](#units)
|
|
717
|
+
- [Formulas](#formulas)
|
|
718
|
+
- [Symbols](#symbols)
|
|
712
719
|
- [Files](#files-1)
|
|
713
720
|
- [Namespaces](#namespaces-2)
|
|
714
721
|
- [Classes \& Structs](#classes--structs)
|
|
@@ -716,68 +723,53 @@ This project uses [Doxygen](https://www.doxygen.nl/) to generate documentation f
|
|
|
716
723
|
- [Member Variables](#member-variables-1)
|
|
717
724
|
- [Constants](#constants)
|
|
718
725
|
- [Enums](#enums)
|
|
719
|
-
- [
|
|
720
|
-
|
|
721
|
-
- [Modules](#modules)
|
|
726
|
+
- [Groups](#groups)
|
|
727
|
+
- [Generating Doxygen Documentation](#generating-doxygen-documentation)
|
|
722
728
|
|
|
723
729
|
</details>
|
|
724
730
|
<!-- END mdsplit-ignore -->
|
|
725
731
|
|
|
726
732
|
## Doxygen Commands
|
|
727
733
|
|
|
728
|
-
All commands start with `@`.
|
|
734
|
+
All commands must start with `@`.
|
|
729
735
|
|
|
730
|
-
|
|
731
|
-
- If `<sharp>` braces are used the argument is a single word.
|
|
732
|
-
- If `(round)` braces are used the argument extends until the end of the line on which the command was found.
|
|
733
|
-
- If `{curly}` braces are used the argument extends until the next paragraph. Paragraphs are delimited by a blank line or by a section indicator.
|
|
734
|
-
|
|
735
|
-
Commands:
|
|
736
|
+
Useful Commands:
|
|
736
737
|
- `@file <name>`
|
|
737
|
-
- `@authors
|
|
738
|
-
- `@ingroup
|
|
739
|
-
- `@defgroup <name>
|
|
738
|
+
- `@authors <authors>`
|
|
739
|
+
- `@ingroup <group-name>`
|
|
740
|
+
- `@defgroup <name> <group-title>`
|
|
740
741
|
- `@namespace <name>`
|
|
741
742
|
- `@class <name>`
|
|
742
743
|
- `@struct <name>`
|
|
743
744
|
- `@enum <name>`
|
|
744
|
-
- `@brief
|
|
745
|
-
- `@details
|
|
746
|
-
- `@param[<
|
|
747
|
-
- `@tparam <template-parameter-name>
|
|
748
|
-
- `@return
|
|
749
|
-
- `@throws <exception-object>
|
|
750
|
-
- `@note
|
|
751
|
-
- `@bug
|
|
752
|
-
- `@see
|
|
753
|
-
- `@
|
|
754
|
-
- `@
|
|
745
|
+
- `@brief <brief description>`
|
|
746
|
+
- `@details <detailed description>`
|
|
747
|
+
- `@param[<direction>] <parameter-name> <parameter-description>`
|
|
748
|
+
- `@tparam <template-parameter-name> <description>`
|
|
749
|
+
- `@return <description>`
|
|
750
|
+
- `@throws <exception-object> <description>`
|
|
751
|
+
- `@note <text>`
|
|
752
|
+
- `@bug <description>`
|
|
753
|
+
- `@see <reference>`
|
|
754
|
+
- `@copyright <text>`
|
|
755
|
+
- `@cite <reference>`
|
|
756
|
+
- `@ref <reference> <display-text>`
|
|
755
757
|
|
|
756
758
|
<!-- START mdsplit-ignore -->
|
|
757
759
|
**[Return to Index](#documentation-index)**
|
|
758
760
|
<!-- END mdsplit-ignore -->
|
|
759
761
|
|
|
760
|
-
##
|
|
762
|
+
## Doxygen Aliases
|
|
761
763
|
|
|
764
|
+
The following Doxygen aliases are defined in the `Doxyfile` to simplify common documentation tasks:
|
|
762
765
|
- `@math{<math expression>}`
|
|
763
|
-
- `@
|
|
766
|
+
- `@unitr{<unit expression>}`
|
|
767
|
+
- `@unitb{<unit expression>}`
|
|
768
|
+
- `@unitp{<unit expression>}`
|
|
764
769
|
- `@formula{<label>; <equation>}`
|
|
765
|
-
- `
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
**[Return to Index](#documentation-index)**
|
|
769
|
-
<!-- END mdsplit-ignore -->
|
|
770
|
-
|
|
771
|
-
## Generating Doxygen Documentation
|
|
772
|
-
|
|
773
|
-
1. Ensure [Doxygen](https://www.doxygen.nl/) is installed on your system.
|
|
774
|
-
2. From the project root, run:
|
|
775
|
-
```bash
|
|
776
|
-
doxygen Doxyfile
|
|
777
|
-
```
|
|
778
|
-
3. The generated HTML and/or LaTeX documentation will appear in the output directory specified in your `Doxyfile`.
|
|
779
|
-
|
|
780
|
-
For more details on configuring or customizing Doxygen output, see the official [Doxygen manual](https://www.doxygen.nl/manual/index.html) or review the `Doxyfile` in the project root.
|
|
770
|
+
- `@symtable`
|
|
771
|
+
- `@symrow{<symbol>; <description>; <unit expression>}`
|
|
772
|
+
- `@endsymtable`
|
|
781
773
|
|
|
782
774
|
<!-- START mdsplit-ignore -->
|
|
783
775
|
**[Return to Index](#documentation-index)**
|
|
@@ -809,13 +801,13 @@ Use the `@math{<math expression>}` command to to write LaTeX-style mathematical
|
|
|
809
801
|
|
|
810
802
|
### Units
|
|
811
803
|
|
|
812
|
-
Use the `@
|
|
804
|
+
Use the `@unitb{<unit expression>}` command to document units. The `@unitb{}` command uses the siunitx package to format units in LaTeX style and encloses them in brackets.
|
|
813
805
|
|
|
814
806
|
#### Example
|
|
815
807
|
|
|
816
808
|
```cpp
|
|
817
809
|
/**
|
|
818
|
-
* The speed of light in water is often denoted as @math{C_w} and is approximately 2.25 @
|
|
810
|
+
* The speed of light in water is often denoted as @math{C_w} and is approximately 2.25 @unitb{\meter\per\second}.
|
|
819
811
|
*/
|
|
820
812
|
```
|
|
821
813
|
|
|
@@ -826,7 +818,7 @@ Use the `@unit{<unit expression>}` command to document units. The `@unit{}` comm
|
|
|
826
818
|
### Formulas
|
|
827
819
|
|
|
828
820
|
Use the `@formula{<label>; <equation>}` command to document formulas. The command takes 2 arguments, separated by `;`:
|
|
829
|
-
1. A label for the formula, which can be used to reference the formula in the documentation by using `\eqref{eq
|
|
821
|
+
1. A label for the formula, which can be used to reference the formula in the documentation by using `\eqref{eq:<formula-label>}`.
|
|
830
822
|
- All labels are automatically prefixed with `eq:` to avoid conflicts.
|
|
831
823
|
2. The formula itself, written in LaTeX syntax.
|
|
832
824
|
|
|
@@ -849,9 +841,10 @@ Use the `@formula{<label>; <equation>}` command to document formulas. The comman
|
|
|
849
841
|
|
|
850
842
|
### Symbols
|
|
851
843
|
|
|
852
|
-
Use the `symbol{<symbol>; <description>}` command
|
|
844
|
+
Use the `@symtable` and `@endsymtable` commands to create a table of symbols used in formulas. Each symbol is documented using the `@symrow{<symbol>; <description>; <unit expression>}` command, which takes three arguments, separated by `;`:
|
|
853
845
|
1. The symbol itself, written in LaTeX syntax.
|
|
854
846
|
2. A description of the symbol.
|
|
847
|
+
3. The unit of the symbol, written in LaTeX syntax and formatted using the siunitx package.
|
|
855
848
|
|
|
856
849
|
#### Example
|
|
857
850
|
|
|
@@ -860,9 +853,11 @@ Use the `symbol{<symbol>; <description>}` command to document mathematical symbo
|
|
|
860
853
|
* The area of a circle can be computed using the formula:
|
|
861
854
|
* @formula{circle-area; A = \pi r^2}
|
|
862
855
|
* where:
|
|
863
|
-
*
|
|
864
|
-
*
|
|
865
|
-
*
|
|
856
|
+
* @symtable
|
|
857
|
+
* @symrow{A; is the area of the circle; \meter\squared}
|
|
858
|
+
* @symrow{\pi; is the mathematical constant pi; 1}
|
|
859
|
+
* @symrow{r; is the radius of the circle; \meter}
|
|
860
|
+
* @endsymtable
|
|
866
861
|
*/
|
|
867
862
|
```
|
|
868
863
|
|
|
@@ -874,25 +869,27 @@ Use the `symbol{<symbol>; <description>}` command to document mathematical symbo
|
|
|
874
869
|
|
|
875
870
|
Use a **Doxygen block** at the very top of each header file to document the file's purpose, authors, and any relevant notes.
|
|
876
871
|
|
|
877
|
-
####
|
|
878
|
-
|
|
879
|
-
`@file`, `@authors`, `@ingroup`, `@brief`
|
|
872
|
+
#### Relevant commands
|
|
880
873
|
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
874
|
+
- `@ingroup`
|
|
875
|
+
- `@file`
|
|
876
|
+
- `@authors`
|
|
877
|
+
- `@brief`
|
|
878
|
+
- `@details`
|
|
879
|
+
- `@note`
|
|
880
|
+
- `@see`
|
|
881
|
+
- `@copyright`
|
|
884
882
|
|
|
885
883
|
#### Example
|
|
886
884
|
|
|
887
885
|
```cpp
|
|
888
886
|
/**
|
|
887
|
+
* @ingroup geometry
|
|
889
888
|
* @file polygon.h
|
|
890
889
|
* @authors Alice Brown, Carlos Diaz
|
|
891
|
-
* @ingroup geometry
|
|
892
890
|
* @brief Defines the Polygon class for representing simple 2-D polygons.
|
|
893
891
|
* @details This file contains the Polygon class, which provides methods for adding vertices, computing area, and checking point containment.
|
|
894
892
|
* @note The Polygon class assumes vertices are provided in counter-clockwise order.
|
|
895
|
-
* @bug Self-intersection checks are not implemented.
|
|
896
893
|
* @see https://en.wikipedia.org/wiki/Polygon
|
|
897
894
|
* @copyright 2025 Geometry Toolkit
|
|
898
895
|
*/
|
|
@@ -906,20 +903,21 @@ Use a **Doxygen block** at the very top of each header file to document the file
|
|
|
906
903
|
|
|
907
904
|
Use a **Doxygen block** above each namespace declaration in header files to document the namespace's purpose and contents.
|
|
908
905
|
|
|
909
|
-
####
|
|
910
|
-
|
|
911
|
-
`@namespace`, `@ingroup`, `@brief`
|
|
906
|
+
#### Relevant commands
|
|
912
907
|
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
908
|
+
- `@ingroup`
|
|
909
|
+
- `@namespace`
|
|
910
|
+
- `@brief`
|
|
911
|
+
- `@details`
|
|
912
|
+
- `@note`
|
|
913
|
+
- `@see`
|
|
916
914
|
|
|
917
915
|
#### Example
|
|
918
916
|
|
|
919
917
|
```cpp
|
|
920
918
|
/**
|
|
921
|
-
* @namespace constants
|
|
922
919
|
* @ingroup math
|
|
920
|
+
* @namespace constants
|
|
923
921
|
* @brief Defines mathematical constants used throughout the project.
|
|
924
922
|
*/
|
|
925
923
|
namespace constants {}
|
|
@@ -933,20 +931,24 @@ namespace constants {}
|
|
|
933
931
|
|
|
934
932
|
Use a **Doxygen block** above each class or struct declaration in header files to document its purpose, behavior, and any important details. This applies to both classes and structs.
|
|
935
933
|
|
|
936
|
-
####
|
|
934
|
+
#### Relevant commands
|
|
937
935
|
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
`@details
|
|
936
|
+
- `@ingroup`
|
|
937
|
+
- `@class`
|
|
938
|
+
- `@struct`
|
|
939
|
+
- `@brief`
|
|
940
|
+
- `@details`
|
|
941
|
+
- `@tparam`
|
|
942
|
+
- `@note`
|
|
943
|
+
- `@bug`
|
|
944
|
+
- `@see`
|
|
943
945
|
|
|
944
946
|
#### Example
|
|
945
947
|
|
|
946
948
|
```cpp
|
|
947
949
|
/**
|
|
948
|
-
* @struct Point2
|
|
949
950
|
* @ingroup geometry
|
|
951
|
+
* @struct Point2
|
|
950
952
|
* @brief Lightweight 2-D point with double precision.
|
|
951
953
|
*/
|
|
952
954
|
struct Point2 {
|
|
@@ -955,8 +957,8 @@ struct Point2 {
|
|
|
955
957
|
};
|
|
956
958
|
|
|
957
959
|
/**
|
|
958
|
-
* @class Polygon
|
|
959
960
|
* @ingroup geometry
|
|
961
|
+
* @class Polygon
|
|
960
962
|
* @brief Simple 2-D polygon representation.
|
|
961
963
|
* @details Stores vertices in counter-clockwise order.
|
|
962
964
|
* @note Capacity is fixed at construction.
|
|
@@ -984,9 +986,12 @@ public:
|
|
|
984
986
|
* @details Uses the Shoelace formula to compute the area:
|
|
985
987
|
* @formula{polygon-area; A = \frac{1}{2} \sum_{i=1}^{n} (x_i y_{i+1} - x_{i+1} y_i)}
|
|
986
988
|
* where:
|
|
987
|
-
*
|
|
988
|
-
*
|
|
989
|
-
*
|
|
989
|
+
* @symtable
|
|
990
|
+
* @symrow{A; is the signed area of the polygon; \meter\squared}
|
|
991
|
+
* @symrow{n; is the number of vertices; 1}
|
|
992
|
+
* @symrow{x_i, y_i; are the coordinates of vertex i; \meter}
|
|
993
|
+
* @symrow{x_{n+1}, y_{n+1}; are the coordinates of vertex 1 (wrap-around); \meter}
|
|
994
|
+
* @endsymtable
|
|
990
995
|
* @note The area is positive if vertices are in counter-clockwise order.
|
|
991
996
|
* @return The signed area of the polygon.
|
|
992
997
|
*/
|
|
@@ -1005,13 +1010,17 @@ private:
|
|
|
1005
1010
|
|
|
1006
1011
|
Use a **Doxygen block** above each public function or method declaration in header files. This applies to both free functions and member functions of classes or structs.
|
|
1007
1012
|
|
|
1008
|
-
####
|
|
1009
|
-
|
|
1010
|
-
`@brief`, `@param[in]` **or** `param[out]` **or** `param[in,out]`, `@return` (if applicable)
|
|
1013
|
+
#### Relevant commands
|
|
1011
1014
|
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
+
- `@brief`
|
|
1016
|
+
- `@param[in]` **or** `param[out]` **or** `param[in,out]`
|
|
1017
|
+
- `@return`
|
|
1018
|
+
- `@details`
|
|
1019
|
+
- `@tparam`
|
|
1020
|
+
- `@throws`
|
|
1021
|
+
- `@note`
|
|
1022
|
+
- `@bug`
|
|
1023
|
+
- `@see`
|
|
1015
1024
|
|
|
1016
1025
|
#### Example
|
|
1017
1026
|
|
|
@@ -1050,7 +1059,7 @@ Use inline comments with `///<` to document constants and their purpose.
|
|
|
1050
1059
|
#### Example
|
|
1051
1060
|
|
|
1052
1061
|
```cpp
|
|
1053
|
-
constexpr double kPi = 3.141592653589793; ///< Circle ratio @
|
|
1062
|
+
constexpr double kPi = 3.141592653589793; ///< Circle ratio @unitb{radians}.
|
|
1054
1063
|
inline constexpr Point2 kOrigin {0.0, 0.0}; ///< Reference point (0,0).
|
|
1055
1064
|
```
|
|
1056
1065
|
|
|
@@ -1062,20 +1071,22 @@ inline constexpr Point2 kOrigin {0.0, 0.0}; ///< Reference point (0,0).
|
|
|
1062
1071
|
|
|
1063
1072
|
Use a **Doxygen block** above each enum declaration in header files to document the enum type and its enumerators. Each enumerator should have an inline comment describing its purpose.
|
|
1064
1073
|
|
|
1065
|
-
####
|
|
1066
|
-
|
|
1067
|
-
`@enum`, `@ingroup`, `@brief`
|
|
1074
|
+
#### Relevant commands
|
|
1068
1075
|
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1076
|
+
- `@ingroup`
|
|
1077
|
+
- `@enum`
|
|
1078
|
+
- `@brief`
|
|
1079
|
+
- `@details`
|
|
1080
|
+
- `@note`
|
|
1081
|
+
- `@bug`
|
|
1082
|
+
- `@see`
|
|
1072
1083
|
|
|
1073
1084
|
#### Example
|
|
1074
1085
|
|
|
1075
1086
|
```cpp
|
|
1076
1087
|
/**
|
|
1077
|
-
* @enum Axis
|
|
1078
1088
|
* @ingroup geometry
|
|
1089
|
+
* @enum Axis
|
|
1079
1090
|
* @brief Principal 3-D axes.
|
|
1080
1091
|
*/
|
|
1081
1092
|
enum class Axis {
|
|
@@ -1093,21 +1104,23 @@ enum class Axis {
|
|
|
1093
1104
|
|
|
1094
1105
|
Use **Doxygen groups** to organize related namespaces, classes, and functions into logical modules.
|
|
1095
1106
|
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
#### Required tags
|
|
1099
|
-
|
|
1100
|
-
`@defgroup`, `@brief`
|
|
1107
|
+
Large groups must be defined in their own file (e.g., `math.dox`, `geometry.dox`) to avoid cluttering header files. These files should be placed in the `docs/` directory or one of its subdirectories.
|
|
1101
1108
|
|
|
1102
|
-
####
|
|
1109
|
+
#### Relevant commands
|
|
1103
1110
|
|
|
1104
|
-
|
|
1111
|
+
- `@defgroup`
|
|
1112
|
+
- `ingroup`
|
|
1113
|
+
- `@brief`
|
|
1114
|
+
- `@details`
|
|
1115
|
+
- `@copydoc`
|
|
1116
|
+
- `@see`
|
|
1105
1117
|
|
|
1106
1118
|
#### Example
|
|
1107
1119
|
|
|
1108
1120
|
```cpp
|
|
1109
1121
|
/**
|
|
1110
1122
|
* @defgroup geometry Geometry
|
|
1123
|
+
* @ingroup math
|
|
1111
1124
|
* @brief Geometry module for 2D and 3D shapes.
|
|
1112
1125
|
*/
|
|
1113
1126
|
```
|
|
@@ -1116,6 +1129,24 @@ Place a **Doxygen block** in a central location (e.g., `mainpage.dox`) to define
|
|
|
1116
1129
|
**[Return to Index](#documentation-index)**
|
|
1117
1130
|
<!-- END mdsplit-ignore -->
|
|
1118
1131
|
|
|
1132
|
+
<!-- START mdsplit-ignore -->
|
|
1133
|
+
## Generating Doxygen Documentation
|
|
1134
|
+
|
|
1135
|
+
Use the `Doxyfile` to configure Doxygen settings like input/output directories, file patterns, and more.
|
|
1136
|
+
|
|
1137
|
+
Use the `DoxygenLayout.xml` file to customize the layout of the generated documentation.
|
|
1138
|
+
|
|
1139
|
+
To generate the documentation, follow these steps:
|
|
1140
|
+
1. Ensure [Doxygen](https://www.doxygen.nl/) is installed.
|
|
1141
|
+
2. From the project root, run:
|
|
1142
|
+
```bash
|
|
1143
|
+
doxygen Doxyfile
|
|
1144
|
+
```
|
|
1145
|
+
3. The generated HTML and/or LaTeX documentation will appear in the output directory specified in the `Doxyfile`.
|
|
1146
|
+
|
|
1147
|
+
**[Return to Index](#documentation-index)**
|
|
1148
|
+
<!-- END mdsplit-ignore -->
|
|
1149
|
+
|
|
1119
1150
|
# Conventional Commits
|
|
1120
1151
|
|
|
1121
1152
|
This project follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for commit messages to ensure clarity, consistency, and automation in version control. This helps in generating changelogs, automating releases, and improving collaboration among contributors.
|