Thank you for your interest in contributing to XenevaOS. XenevaOS is an operating system project aims to be modern, lightweight and focuses on performance, multimedia capabilities and synchronisation with current technologies.
This guide outlines the contibution process and best practices to help maintin the quality and stability of the project.
XenevaOS uses Microsoft Visual Studio as development platform, and uses Windows environment. You can click here for Build Instructions, which highlights all required steps to setting up the environment.
-
XenevaOS's kernel 'Aurora' is purely written in C and some assembly. Kernel is the main component and highly priviledged layer of an operating system. Any incorrect code or untested changes can lead to system-wide crashes, instability, or security vulnerabilities.
-
Always test kernel modificaions in a controlled environment like QEMU, VirtualBox before pushing changes.
-
Follow memory management, system calls and other subsystem guidelines as outlined in the documentation.
-
Before making major changes, open an issue or discussion in the repository or on Discord to align with the project's direction and avoid duplicate efforts.
XenevaOS project follows good coding style to maintain consistency, readability, and project discipline. All contributions should adhere to this style to ensure uniformity across the codebase. Well-structured, clean, and documented code is highly valued, as it improves maintainability and collaboration.
- Use 'PascalCase' for function naming and Structs.
- If your contribution is for Kernel, use PascalCase for function naming with the prefix 'Au', For example -
AuPmmngrAlloc
- Use 'snake_case' for variable naming
- Use lowercase for file names and PascalCase for folder names.
- Keep functions modular and documented with comments
- Open an issue to report bugs or suggest a new features
- When reporting a bug, provide clear details about the issue, including system debug messages from the serial terminal, processor state and register values. If possible, describe the conditions under which the bug occurs.
- Mention your testing environment
- For feature requests, explain the purpose and potential benefits to the project.
Thank you for your interest in contributing to XenevaOS! Your contributions-whether in code, documentation, bug reports, or discussions-help shape the future of this project. If you have any questions or need guidance, feel free to open an issue or join the discussions on GitHub or Discord. Let's work together to make a powerful and efficient operating system !