diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..e27ab4f62 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,82 @@ +# Contributing guide + +## 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. + +## 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**: + +- 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 code via pull requests. The process of submitting a pull request consists of following 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 + +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 + +### Pattern + +The commit message should look like this: + +```test +[Category] Commit message header + +Commit message body, if needed +``` + +- 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 + +### 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. + +### Categories + +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 + +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 +``` + +## Merge commits + +> [!WARNING] +> Merge commits are **prohibited** in the project + +## Conclusion + +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. diff --git a/README.md b/README.md new file mode 100644 index 000000000..7b70a08d4 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# KolibriOS + +[![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 + +## 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). + +## 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. + +## 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.