We welcome contributions from all developers and appreciate your interest in contributing to Norgolith. This guide outlines the guidelines and expectations for contributing code, documentation, or other improvements to the project.
Before diving in, it's helpful to:
- Familiarize yourself with the project: read the README and explore the codebase to understand Norgolith's core functionalities and architecture.
- Set up your development environment: ensure you have Rust (
>= 1.77
recommended) and the necessary tools installed. Refer to the README for specific requirements.
There are several ways you can contribute to Norgolith:
Did you encounter a bug?
- Search existing issues to see if it's already reported.
- If not, create a new issue on GitHub detailing the steps to reproduce the bug.
- If you're comfortable with code, submit a pull request with a fix for the bug.
Do you have a compelling feature idea that aligns with the project's goals?
- Discuss your proposal feasibility and implementation details before submitting a pull request by opening an issue on GitHub first.
- Outline the feature's functionalities and potential benefits alongside use cases.
See an opportunity to improve existing code?
- Submit a pull request with well-documented changes that adhere to the code style guidelines.
Can you enhance the project's documentation?
- Fork the repository and edit the relevant documentation files.
- Create a pull request for your changes.
When submitting a pull request, please follow these guidelines:
- Create a new branch for your feature or bug fix.
- Write clear and concise commit messages that describe the changes made and adhere to Conventional Commits. This helps maintain a clear commit history.
- Run
cargo fmt
andcargo clippy
before pushing your changes. These tools help format your code consistently and identify potential issues. - Add unit tests for any new features or bug fixes you introduce whenever possible.
- Open a pull request with a descriptive title and explanation of your changes.
We encourage open communication and collaboration. Feel free to reach out to project maintainers by commenting on issues or pull requests.
Norgolith is licensed under the GNU General Public License v2 (GPLv2). You can find a copy of the license in the LICENSE file. When contributing to the project, please ensure your contributions comply with the terms of the GNU General Public License v2 (GPLv2) license.