|
| 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