Skip to content

Commit da73db2

Browse files
committed
Add Contributing.md
Motivation Currently, PaNET does not fulfill the community standards for GitHub repositories, e.g. missing license, code of conduct, contributing, security policy, pull request template. Modification A CONTRIBUTING.md file has been added. Result Improving the overall quality of the repository. Contributes to #324
1 parent 27fb38c commit da73db2

1 file changed

Lines changed: 143 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Table of Contents
2+
1. [Code of Conduct](#codeOfConduct)
3+
2. [How to Contribute](#howToContribute)
4+
1. [Reporting Bugs / Suggesting Enhancements](#bugAndEnhancements)
5+
2. [Submitting a Pull Request](#pullRequest)
6+
3. [Development Setup](#developmentSetup)
7+
4. [Branching & Naming Conventions](#branchesAndNames)
8+
5. [Commit Message Guidelines](#commits)
9+
6. [Style & Linting](#styleAndLinting)
10+
7. [Testing](#testing)
11+
8. [Documentation](#documentation)
12+
9. [Release Process (maintainers only)](#release)
13+
10. [License](#license)
14+
15+
## Code of Conduct <a name="codeOfConduct"></a>
16+
17+
We adopt the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/). By participating in this project you agree to abide by its terms. Please read it before interacting with the community.
18+
19+
## How to Contribute <a name="howToContribute"></a>
20+
21+
### Reporting Bugs / Suggesting Enhancements <a name="bugAndEnhancements"></a>
22+
23+
1. Search first – check the existing issues to avoid duplicates.
24+
2. Open a new issue; use the provided template if you want to add a new term.
25+
3. Provide a clear title.
26+
4. Add a concise description that includes:
27+
- What you expected to happen.
28+
- What actually happened (include error messages, stack traces, screenshots, etc.).
29+
- Steps to reproduce (if applicable).
30+
- Your environment (OS, Node/Python version, browser, etc.).
31+
32+
### Submitting a Pull Request (PR) <a name="pullRequest"></a>
33+
34+
#### 1. Setup up the Development Environment (see Development Setup below).
35+
#### 2. Fetch from original repository.
36+
`git fetch upstream`
37+
38+
#### 3. Merge all changes from fork and you local repo
39+
`git merge upstream/master`
40+
41+
#### 4. Create a branch (see naming conventions below).
42+
create a branch based on master state and goes there
43+
`git checkout -b ISS123-meaningful-name master`
44+
45+
#### 5. Make your changes; keep them focused on a single purpose.
46+
47+
#### 6. Make sure you changes only affect the intended files and lines
48+
`git diff`
49+
50+
#### 7. Test you changes on PaNET.csv with ROBOT
51+
???
52+
53+
#### 8. Update documentation (md files in the repository and documentation webpage)
54+
#### 9. Commit using the guidelines below and push your branch to your fork.
55+
```
56+
git add PaNET.csv
57+
git commit
58+
git push origin HEAD
59+
```
60+
61+
#### 10. Open a PR against the master branch.
62+
#### 11. Fill out the PR template, linking any related issue (e.g., Fixes #123, Contributes to #420).
63+
64+
65+
> Tip: If you’re unsure whether a change is welcome, open a draft PR or comment on the related issue first.
66+
67+
## Development Setup <a name="developmentSetup"></a>
68+
69+
### 1. Clone the repo (necessary only once)
70+
```
71+
git clone https://github.com/ExPaNDS-eu/ExPaNDS-experimental-techniques-ontology
72+
cd your-repo
73+
```
74+
75+
### 2. Add remote repository (necessary only once)
76+
`git remote add upstream git@github.com:ExPaNDS-eu/ExPaNDS-experimental-techniques-ontology.git`
77+
78+
### 3. Install ROBOT (necessary only once)
79+
The PaNET.owl is generated from an Excel/CSV file using [ROBOT](https://central.sonatype.com/artifact/org.obolibrary.robot/robot?smo=true) software. Here are some instructions to generate the OWL file:
80+
???
81+
82+
83+
## Branching & Naming Conventions <a name="branchesAndNames"></a>
84+
| Type | Prefix | Example |
85+
| :----------- | :-------------- | :-------------|
86+
| Feature | `feat/` | `feat/add-user-auth` |
87+
| Bug fix | `fix/` | `fix/incorrect‑date‑format` |
88+
| Documentation | `docs/` | `docs/update‑readme` |
89+
| Refactor | `refactor/` | `refactor/optimize‑loop` |
90+
| Chore (build, CI, etc.) | `chore/` | `chore/update‑dependencies` |
91+
| New Term | `newTerm/` | `newTerm/XPCI` |
92+
93+
All branches should be based on the latest `master`.
94+
95+
## Commit Message Guidelines <a name="commits"></a>
96+
97+
We follow the Conventional Commits specification:
98+
99+
```
100+
<title>
101+
102+
<motivation>
103+
104+
<modification>
105+
106+
<result>
107+
108+
<related issues> # optional (e.g., "Closes #123", "BREAKING CHANGE: ...")
109+
```
110+
111+
## Style & Linting <a name="styleAndLinting"></a>
112+
113+
Currently no recommendations.
114+
115+
## Testing <a name="testing"></a>
116+
117+
Check that you only made changes that you intended, e.g. that the linebreak symbol did not change, by using `git diff`.
118+
119+
All changes to `source/PaNET.csv` must be compared to the previous version using the ROBOT tool.
120+
121+
### TODO: add the code here
122+
123+
## Documentation <a name="documentation"></a>
124+
125+
1. Keep the README, docs/ folder, and any generated API docs up‑to‑date.
126+
2. Use Markdown for all docs.
127+
3. When adding a public function/class, update the corresponding section in docs/ and/or the automatically generated docs (e.g., JSDoc, Sphinx).
128+
129+
If your PR changes user‑visible behavior, include a short "Usage" snippet in the relevant doc page.
130+
131+
## Release Process (maintainers only) <a name="release"></a>
132+
133+
The details of the release process are described in detail in the documentation. A link will be added soon.
134+
135+
> Note: Contributors do not need to follow these steps; they are for maintainers.
136+
137+
## License <a name="license"></a>
138+
139+
By contributing, you agree that your contributions will be licensed under the same license as the project (see LICENSE.md). If you need to discuss licensing, please open an issue or contact a maintainer directly.
140+
141+
## Thank you!
142+
143+
Your effort makes this project better for everyone. Happy coding!

0 commit comments

Comments
 (0)