1 Commits

Author SHA1 Message Date
35f774b541 Docs: Added README and contributing guide
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-03-10 23:32:34 +03:00
2 changed files with 51 additions and 65 deletions

View File

@@ -2,81 +2,76 @@
## Type of contributing
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.
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.
## Issues
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**:
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
- 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.)
- 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.
## Pull requests
You can also help us by submitting code via pull requests. The process of submitting a pull request consists of following steps:
You can also help us by submitting pull requests. The process of submitting a pull request consists of several steps:
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
- 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.
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.
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.
## Commit style
### Pattern
### Naming
Кegular commit message should adhere to the following pattern
- Pattern
```test
[Category] Commit message header
Regular commit message should consist of several parts and be built according to the following template:
Commit message body, if needed
```
```test
Category: Commit message body
- 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
Long description if necessary
```
### Length
- 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.
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.
- Length
### Categories
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.
List of existing categories accepted in the project:
- Categories
- `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
List of existing categories accepted in the project:
If changes are made to a specific component, the name of the component separated by `/` character needs to be specified. For example:
- `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
```text
Apps/shell
Libs/libimg
```
If changes are made to a specific component, the name of the component separated by `/` character needs to be specified. For example:
## Merge commits
```text
Apps/shell
Libs/libimg
```
> [!WARNING]
> Merge commits are **prohibited** in the project
### Merge commits
## Conclusion
Merge commits are __prohibited__ 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.
### Unwanted commits
Commit messages like `Refactoring`/`Update files` are __unwanted__ in the project

View File

@@ -3,26 +3,17 @@
[![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, 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
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
## Contributing
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).
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).
## 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