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
+91-17Lines changed: 91 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,36 +1,45 @@
1
1
# 🚀 Contributing to Trevas
2
2
3
-
Thank you for your interest in contributing to Trevas! Your help is invaluable in improving this project. Here’s how you can get started.
3
+
Thank you for your interest in contributing to Trevas! Your help is invaluable in improving this project. Here’s how you
4
+
can get started.
4
5
5
6
## 🛠️ Contribution Guidelines
6
7
7
8
### 📌 Roles & Responsibilities
8
9
9
-
-**[Insee](https://www.insee.fr/en)** is responsible for the overall **project governance**. They guide the vision of the project, make final decisions, and ensure the project aligns with its long-term goals.
10
-
-**[Making Sense](https://making-sense.info/)** are responsible for reviewing **Pull Requests (PRs)**, merging them into the master branch, adjusting the **GitHub project board**, and tagging issues to ensure proper tracking. They ensure the code meets the project's standards before merging and help prioritize tasks.
11
-
-**Maintainers** (which can include anyone who is granted this role) help with day-to-day management of the project, such as reviewing code, merging PRs, and managing the project's direction. If you're interested in becoming a maintainer, please see the section below.
10
+
-**[Insee](https://www.insee.fr/en)** is responsible for the overall **project governance**. They guide the vision of
11
+
the project, make final decisions, and ensure the project aligns with its long-term goals.
12
+
-**[Making Sense](https://making-sense.info/)** are responsible for reviewing **Pull Requests (PRs)**, merging them
13
+
into the master branch, adjusting the **GitHub project board**, and tagging issues to ensure proper tracking. They
14
+
ensure the code meets the project's standards before merging and help prioritize tasks.
15
+
-**Maintainers** (which can include anyone who is granted this role) help with day-to-day management of the project,
16
+
such as reviewing code, merging PRs, and managing the project's direction. If you're interested in becoming a
17
+
maintainer, please see the section below.
12
18
13
19
### 📌 Issues & Pull Requests
14
20
15
21
- Every **Pull Request (PR) must be linked to an existing issue**
16
22
- When creating a PR, use the following naming convention:
17
-
-**`feat/your-feature-name`** for new features
18
-
-**`fix/your-bug-fix`** for bug fixes
23
+
-**`feat/your-feature-name`** for new features
24
+
-**`fix/your-bug-fix`** for bug fixes
19
25
- Discuss your ideas in an issue before starting major work
20
26
21
27
### 👀 Four Eyes Principle & Code Review Practices
22
28
23
-
To ensure the quality, reliability, and security of Trevas, we follow the **Four Eyes Principle** for all code contributions.
29
+
To ensure the quality, reliability, and security of Trevas, we follow the **Four Eyes Principle** for all code
30
+
contributions.
24
31
25
32
#### 🔍 What is the Four Eyes Principle?
26
33
27
-
The **Four Eyes Principle** means that **at least two people must review and approve any important action** before it is finalized. In the context of Trevas, this applies specifically to:
34
+
The **Four Eyes Principle** means that **at least two people must review and approve any important action** before it is
35
+
finalized. In the context of Trevas, this applies specifically to:
28
36
29
37
- Pull Request (PR) reviews and approvals
30
38
- Merges into the `develop` or `master` branches
31
39
- Structural changes in architecture, testing strategy, or documentation
32
40
33
41
This principle helps:
42
+
34
43
- Catch potential bugs or security issues early
35
44
- Encourage collaborative development
36
45
- Share knowledge across the team
@@ -49,10 +58,12 @@ All Pull Requests should:
49
58
50
59
**Only after meeting these conditions can a PR be merged**.
51
60
52
-
Maintainers are expected to **uphold these principles** and ensure reviews are thoughtful, constructive, and inclusive.
61
+
Maintainers are expected to **uphold these principles** and ensure reviews are thoughtful, constructive, and
62
+
inclusive.
53
63
We believe that code review is not just a checkpoint, but a space to learn, improve, and grow as a team.
54
64
55
-
> 🤝 If you're contributing regularly and want to become a maintainer, don't hesitate to reach out to us at **contact@making-sense.info** — we’d love to welcome more eyes to the team!
65
+
> 🤝 If you're contributing regularly and want to become a maintainer, don't hesitate to reach out to us at *
66
+
*contact@making-sense.info** — we’d love to welcome more eyes to the team!
56
67
57
68
### 🧪 Test-Driven Development (TDD)
58
69
@@ -62,20 +73,82 @@ We encourage a **test-driven approach** to ensure code reliability and maintaina
62
73
2.**Implement the code** needed to pass the test
63
74
3.**Refactor** while ensuring all tests remain green
64
75
65
-
### 🎨 Code Formatting
76
+
### 🎨 Code Formatting with Spotless
77
+
78
+
We use [Spotless](https://github.com/diffplug/spotless) to enforce consistent code formatting based on the *
[](http://www.awesomeofficialstatistics.org)
11
12
12
-
Trevas is a Java engine for the Validation and Transformation Language (VTL), an [SDMX standard](https://sdmx.org/?page_id=5096) that allows the formal definition of algorithms to validate statistical data and calculate derived data. VTL is user oriented and provides a technology-neutral and standard view of statistical processes at the business level. Trevas supports the latest VTL version (v2.1, July 2024).
13
+
Trevas is a Java engine for the Validation and Transformation Language (VTL),
14
+
an [SDMX standard](https://sdmx.org/?page_id=5096) that allows the formal definition of algorithms to validate
15
+
statistical data and calculate derived data. VTL is user oriented and provides a technology-neutral and standard view of
16
+
statistical processes at the business level. Trevas supports the latest VTL version (v2.1, July 2024).
13
17
14
-
For actual execution, VTL expressions need to be translated to the target runtime environment. Trevas provides this step for the Java platform, by using the VTL formal grammar and the [Antlr](https://www.antlr.org/) tool. For a given execution, Trevas receives the VTL expression and the data bindings that associate variable names in the expression to actual data sets. The execution results can then be retrieved from the bindings for further treatments.
18
+
For actual execution, VTL expressions need to be translated to the target runtime environment. Trevas provides this step
19
+
for the Java platform, by using the VTL formal grammar and the [Antlr](https://www.antlr.org/) tool. For a given
20
+
execution, Trevas receives the VTL expression and the data bindings that associate variable names in the expression to
21
+
actual data sets. The execution results can then be retrieved from the bindings for further treatments.
15
22
16
23
Trevas provides an abstract definition of a Java VTL engine, as well as two concrete implementations:
17
24
18
-
- an in-memory engine for relatively small data, for example at design time when developing and testing VTL expressions on data samples
25
+
- an in-memory engine for relatively small data, for example at design time when developing and testing VTL expressions
26
+
on data samples
19
27
- an [Apache Spark](https://spark.apache.org/) engine for Big Data production environments
20
28
21
29
Other implementations can be easily developed for different contexts.
22
30
23
31
## Documentation
24
32
25
-
The documentation can be found in the [docs](https://github.com/InseeFr/Trevas/tree/master/docs) folder and [browsed online](https://inseefr.github.io/Trevas).
33
+
The documentation can be found in the [docs](https://github.com/InseeFr/Trevas/tree/master/docs) folder
34
+
and [browsed online](https://inseefr.github.io/Trevas).
26
35
27
36
If you want to contribute, see this [guide](docs/CONTRIBUTING.md).
28
37
@@ -48,4 +57,5 @@ Trevas is part of the [sdmx.io](https://www.sdmx.io/) ecosystem.
0 commit comments