ClassicOS/CONTRIBUTING.md

108 lines
4.3 KiB
Markdown
Raw Normal View History

2023-10-18 11:00:23 -07:00
# 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
2023-10-18 14:01:51 -07:00
- [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)
2023-10-18 11:00:23 -07:00
## 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
2023-10-18 14:01:51 -07:00
git clone https://github.com/gbowne1/[repository-name].git
2023-10-18 11:00:23 -07:00
```
## 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.
2023-10-18 14:01:51 -07:00
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.
2023-10-18 11:00:23 -07:00
### Commit Messages
Write clear, concise, and meaningful commit messages. A good commit message should:
2023-10-18 14:01:51 -07:00
- Begin with a verb in the imperative mood (e.g., "Add", "Fix" "Update", etc. ).
2023-10-18 11:00:23 -07:00
- Be concise and focused on a single change.
2023-10-18 14:01:51 -07:00
- Keep your changes limited to the issue.
2023-10-18 11:00:23 -07:00
- Reference related issues or pull requests, if applicable.
2023-10-18 14:01:51 -07:00
- Do not be afraid to post any issues you encounter
2023-10-18 11:00:23 -07:00
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.
2023-10-18 14:01:51 -07:00
- Do NOT screenshot code, rather copy and paste into code blocks in Markdown.
2023-10-18 11:00:23 -07:00
- 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
2023-10-18 14:01:51 -07:00
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.
2023-10-18 11:00:23 -07:00
## Code of Conduct
Please adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) to ensure a welcoming and inclusive environment for all contributors.
2023-10-18 14:01:51 -07:00
Thank you for your interest in contributing to our project! Your contributions make a significant impact on the success and growth of the project.