1 Commits

Author SHA1 Message Date
d2856e033e Docs: Added README and contributing guide
Co-authored-by: Burer
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-03-12 00:00:48 +03:00
2 changed files with 65 additions and 51 deletions

View File

@@ -2,76 +2,81 @@
## Type of contributing
There are two main types of contributions: submitting issues about problems and submitting pull requests. Each of these types of contributions is described in detail below.
There are two main types of contributions, accepted in KolibriOS:
- Submitting issues about problems in project
- Submitting code to project via pull requests
Each of these types is described in details below.
## Issues
You can help us by submitting issues to repository. At the moment there are 2 main ways of submitting an issue in the project: _bug reports_ and _feature requests_. All existing forms are provided with brief explanations
You can help us by submitting issues about problems, found in system. Currently, there are two main ways of submitting an issue in the project: **Bug Reports** and **Feature Requests**:
- Reports are suitable if you find a __bug__ in some part of the project and want to create a report;
- Also there is a possibility submit a __feature request__ if it seems to you that the project lacks any feature.
- Bug Reports are suitable if you find a **bug** (crash, error, inexcpected behaviour) in some part of the system (kernel, drivers, apps etc.) and want to report it
- Feature Request are used, when you wont to propose some **improvement** to the system (missing features, impoved user experience, etc.)
## Pull requests
You can also help us by submitting pull requests. The process of submitting a pull request consists of several steps:
You can also help us by submitting code via pull requests. The process of submitting a pull request consists of following steps:
- Find what you want to implement or improve;
- Make a fork (not relevant for owners);
- Create a branch with a name that matches your changes;
- Make and test the changes;
- Create commits according to the [accepted style](##commit-style);
- Create and submit a pull request;
- Wait for CI/CD pipelines and code review to pass.
1. Find what you want to implement or improve
2. Make a fork of kolibrios repository
3. Create a branch with a name that matches your changes
4. Implement and test the changes
5. Create commits according to the [accepted style](##commit-style)
6. Create and submit a pull request into main branch
7. Wait for CI/CD pipelines and code review to pass
When a pull request is submitted, at least two project participants must conduct a code review, after which the changes are corrected (if it's necessary) and merged into the project.
When a pull request is submitted, at least two project participants must conduct a code review, after which the proposed changes can be corrected (if it's necessary) and merged into the project.
## Commit style
### Naming
### Pattern
- Pattern
Кegular commit message should adhere to the following pattern
Regular commit message should consist of several parts and be built according to the following template:
```test
[Category] Commit message header
```test
Category: Commit message body
Commit message body, if needed
```
Long description if necessary
```
- Commit message header and body should reflect changes made in commit
- Commit message header should start with a capital letter
- Commit message body should be separated from the header by one empty line
- Commit message body and description should briefly reflect the meaning of the commit changes;
- Commit message body should be written starting with a capital letter;
- Description should be separated from the body by one empty line.
### Length
- Length
Maximum number of characters in a commit header is **72** (standard for **Git**). Also, **72** is the maximum length of a line in a commit body.
The maximum number of characters in a commit header is __72__ (standard for __Git__). Additionally, __72__ is the maximum length of a line in a commit body.
### Categories
- Categories
List of existing categories accepted in the project:
List of existing categories accepted in the project:
- `Krn` - kernel
- `Drv` - drivers
- `Libs` - libraries
- `Apps` - user-space applications
- `Skins` - skins
- `Build` - build system
- `CI/CD` - CI/CD
- `Docs` - documentation
- `Data` - images, configs, resources, etc.
- `All` - global changes
- `Krn` - kernel
- `Drv` - drivers
- `Libs` - libraries
- `Skins` - skins
- `Build` - build system
- `CI/CD` - CI/CD
- `Docs` - documentation
- `Data` - images, configs, resources, etc.
- `All` - global changes
If changes are made to a specific component, the name of the component separated by `/` character needs to be specified. For example:
If changes are made to a specific component, the name of the component separated by `/` character needs to be specified. For example:
```text
Apps/shell
Libs/libimg
```
```text
Apps/shell
Libs/libimg
```
## Merge commits
### Merge commits
> [!WARNING]
> Merge commits are **prohibited** in the project
Merge commits are __prohibited__ in the project
## Conclusion
### Unwanted commits
Commit messages like `Refactoring`/`Update files` are __unwanted__ in the project
We hope this small instructions will help you to can common with KolibriOS contributon and inspire you to participate in the work of this project.

View File

@@ -3,17 +3,26 @@
[![License](https://img.shields.io/badge/License-GPL%202.0-green)](./COPYING.TXT)
[![Build system](https://git.kolibrios.org/KolibriOS/kolibrios/actions/workflows/build.yaml/badge.svg)](https://git.kolibrios.org/KolibriOS/kolibrios/actions/workflows/build.yaml)
KolibriOS is a hobby operating system for x86-compatible computers, its kernel is written entirely in [Fasm](https://flatassembler.net/) assembly language. Based on [MenuetOS](https://www.menuetos.net/), it uses its own standards and is not fully POSIX or UNIX compliant
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small teem of enthusiasts.
It's kernel is written entirely in [FASM](https://flatassembler.net/) assembly language, making it very compact and lean on system resources.
Based on [MenuetOS](https://www.menuetos.net/), it uses its own standards and is NOT fully POSIX or UNIX compliant
## Contributing
Detailed instructions for the contribution process can be found in the [contributing guide](./CONTRIBUTING.md)
Common list of project tasks is located on [this page](https://git.kolibrios.org/KolibriOS/kolibrios/issues).
We would appreciate any participation in the project and always welcome new users and contributors.
Detailed instructions for the contribution process can be found in the [contributing guide](./CONTRIBUTING.md).
Common list of tasks, issues and enhancement proposals can be found on [this page](https://git.kolibrios.org/KolibriOS/kolibrios/issues).
## Special thanks
The KolibriOS team expresses special thanks to the author of the 32-bit __MenuetOS__, [Ville Turjanmaa](https://www.menuetos.net/contact.htm). We also want to note that all __MenuetOS__ copyrights have been preserved
The KolibriOS team expresses special thanks to the author of the 32-bit **MenuetOS**, [Ville Turjanmaa](https://www.menuetos.net/contact.htm). We also want to note that all **MenuetOS** copyrights have been preserved.
## License
Contents of this repository are licensed under the terms of __GNU GPL 2.0__ unless otherwise specified. See [this](./kernel/trunk/COPYING.TXT) file for details
Contents of this repository are licensed under the terms of **GNU GPL 2.0** unless otherwise specified.
See [this](./kernel/trunk/COPYING.TXT) file for details.