|
1 | | -# How to contribute |
| 1 | +# How to Contribute? |
2 | 2 |
|
3 | 3 | Hello and thanks for wanting to contribute to the development of bim2sim. By this you can help to improve the quality of buildings in the future! |
4 | 4 |
|
5 | 5 | To get an idea how bim2sim works and how you can contribute please have a look at the [documentation](https://ebc.pages.git-ce.rwth-aachen.de/projects/EBC0438_BMWi_BIM2SIM_GES/bim2sim-coding/development/docs/index.html). |
6 | 6 |
|
7 | 7 | If you are missing any relevant information, please don't hesitate to open an Issue! |
| 8 | + |
| 9 | +## Version Control Guidelines |
| 10 | + |
| 11 | +### Versioning Rules |
| 12 | + |
| 13 | +When pushing changes to development, always update the version number in `pyproject.toml` according to the following semantic versioning guidelines: |
| 14 | + |
| 15 | +#### Current Status |
| 16 | +- Project is in alpha phase |
| 17 | +- Version format: `0.x.x` |
| 18 | +- Transition to `1.0.0` will mark exit from alpha phase |
| 19 | + |
| 20 | +#### Version Number Components |
| 21 | + |
| 22 | +1. **Major Version** (`0.x.x`) |
| 23 | + - Reserved for breaking changes |
| 24 | + - Currently locked at `0` during alpha phase |
| 25 | + - Increment to `1` will indicate production-ready release |
| 26 | + |
| 27 | +2. **Minor Version** (`x.1.x`) |
| 28 | + - Increment for new features or significant changes |
| 29 | + - Examples: |
| 30 | + - Adding new plugins |
| 31 | + - Major architectural changes (e.g., replacing cached properties with attribute system) |
| 32 | + - Functionality enhancements |
| 33 | + |
| 34 | +3. **Patch Version** (`x.x.1`) |
| 35 | + - Increment for bug fixes and minor improvements |
| 36 | + - No significant feature changes |
| 37 | + |
| 38 | +### Implementation |
| 39 | + |
| 40 | +1. Create your feature branch |
| 41 | +2. Update version in `pyproject.toml` |
| 42 | +3. Commit changes |
| 43 | +4. Create PR to development |
| 44 | + |
| 45 | +### Example |
| 46 | +```toml |
| 47 | +# Before: |
| 48 | +version = "0.1.0" |
| 49 | +# After adding new plugin: |
| 50 | +version = "0.2.0" |
| 51 | +# After bug fix: |
| 52 | +version = "0.2.1" |
| 53 | +``` |
| 54 | + |
| 55 | +> **Note:** Always commit version changes along with your code changes in the same branch. |
0 commit comments