mirror of
https://github.com/gbowne1/ClassicOS.git
synced 2024-11-21 22:06:51 -08:00
108 lines
4.3 KiB
Markdown
108 lines
4.3 KiB
Markdown
# Contributing Guidelines
|
|
|
|
Thank you for considering contributing to our open-source project! We appreciate your interest and support. To ensure a smooth collaboration, please review and adhere to the following guidelines.
|
|
|
|
## Table of Contents
|
|
|
|
- [Contributing Guidelines](#contributing-guidelines)
|
|
- [Table of Contents](#table-of-contents)
|
|
- [Getting Started](#getting-started)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Fork the Repository](#fork-the-repository)
|
|
- [Clone the Repository](#clone-the-repository)
|
|
- [Making Contributions](#making-contributions)
|
|
- [Branches](#branches)
|
|
- [Coding Standards](#coding-standards)
|
|
- [Commit Messages](#commit-messages)
|
|
- [Testing](#testing)
|
|
- [Submitting Changes](#submitting-changes)
|
|
- [Pull Requests](#pull-requests)
|
|
- [Issues](#issues)
|
|
- [Community and Communication](#community-and-communication)
|
|
- [Code of Conduct](#code-of-conduct)
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
Before you start contributing, please make sure you have the following:
|
|
|
|
- [Git](https://git-scm.com/) installed
|
|
- [A GitHub account](https://github.com/)
|
|
- A text editor or integrated development environment (IDE) of your choice
|
|
- Knowledge of the programming language(s) used in this project
|
|
|
|
### Fork the Repository
|
|
|
|
Fork our repository by clicking the "Fork" button on the top right of the repository page. This will create a copy of the project in your GitHub account.
|
|
|
|
### Clone the Repository
|
|
|
|
After forking the repository, clone it to your local machine using the following command, replacing `[your-username]` with your GitHub username:
|
|
|
|
```bash
|
|
git clone https://github.com/gbowne1/[repository-name].git
|
|
```
|
|
|
|
## Making Contributions
|
|
|
|
### Branches
|
|
|
|
Create a new branch for your work. It's important to keep your changes isolated from the `main` or `master` branch to prevent conflicts. Name your branch descriptively, such as `feature/your-feature-name` or `bugfix/issue-number`.
|
|
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
|
|
### Coding Standards
|
|
|
|
Please follow the coding standards and style guide of the project. If there are no established standards, maintain consistency with the existing codebase.
|
|
|
|
A few notes about this project's coding standards.
|
|
|
|
We use the C11 and/or C17 standard in this project.
|
|
|
|
Use whatever editor or IDE you prefer. We have toolchain recommendations including versions in the main README.md file.
|
|
|
|
### Commit Messages
|
|
|
|
Write clear, concise, and meaningful commit messages. A good commit message should:
|
|
|
|
- Begin with a verb in the imperative mood (e.g., "Add", "Fix" "Update", etc. ).
|
|
- Be concise and focused on a single change.
|
|
- Keep your changes limited to the issue.
|
|
- Reference related issues or pull requests, if applicable.
|
|
- Do not be afraid to post any issues you encounter
|
|
|
|
Example: "Fix #123: Add validation for user email input"
|
|
|
|
### Testing
|
|
|
|
Make sure your changes do not break existing functionality. Write tests for new features and update existing tests as needed.
|
|
|
|
## Submitting Changes
|
|
|
|
### Pull Requests
|
|
|
|
When your contribution is ready, open a pull request (PR) from your branch to the main repository's branch (e.g., `main` or `master`). Be sure to:
|
|
|
|
- Give the PR a descriptive title.
|
|
- Provide a clear and detailed description of your changes.
|
|
- Do NOT screenshot code, rather copy and paste into code blocks in Markdown.
|
|
- Reference related issues, if any.
|
|
- Be prepared to respond to feedback and make necessary adjustments.
|
|
|
|
### Issues
|
|
|
|
If you find a bug, have a suggestion, or want to work on an issue, please check the project's issue tracker. If the issue doesn't exist yet, feel free to open a new one to discuss the problem or feature request.
|
|
|
|
## Community and Communication
|
|
|
|
Join our community on [GitHub Discussions](https://github.com/gbowne1/ClassicOS/discussions) or [our Discord](https://discord.gg/QusyDYeh) or [our Slack server/channel](https://join.slack.com/t/connectcoders/shared_invite/zt-23ajnvegn-0nUuIlxhSDU8tQrPBL~riQ)to connect with other contributors and maintainers. This is the place to seek help, discuss ideas, and stay updated on project developments.
|
|
|
|
## Code of Conduct
|
|
|
|
Please adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) to ensure a welcoming and inclusive environment for all contributors.
|
|
|
|
Thank you for your interest in contributing to our project! Your contributions make a significant impact on the success and growth of the project.
|