# Contributing to Sphere First off, thank you for considering contributing to Sphere! It's people like you that make Sphere such a great tool. Every contribution is welcome and greatly appreciated. This document provides a set of guidelines for contributing to Sphere. These are mostly guidelines, not strict rules. Use your best judgment, and feel free to propose changes to this document in a pull request. ## How Can I Contribute? There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into Sphere itself. ### Reporting Bugs Bugs are tracked as [GitHub Issues](https://github.com/Nakadra/sphere-runtime/issues). Before creating a bug report, please check the list to see if the issue has already been reported. When you are creating a bug report, please include as many details as possible. Fill out the required template, the information it asks for helps us resolve issues faster. Please explain the problem and include additional details to help maintainers reproduce the problem: * **Use a clear and descriptive title** for the issue to identify the problem. * **Describe the exact steps which reproduce the problem** in as many details as possible. * **Provide specific examples to demonstrate the steps.** Include links to files or gists, or copy/pasteable snippets, which you use in those examples. * **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. * **Explain which behavior you expected to see instead and why.** ### Suggesting Enhancements Enhancement suggestions are tracked as [GitHub Issues](https://github.com/Nakadra/sphere-runtime/issues). To suggest an enhancement: * **Use a clear and descriptive title** for the issue to identify the suggestion. * **Provide a step-by-step description of the suggested enhancement** in as many details as possible. * **Provide specific examples to demonstrate the steps.** Include copy/pasteable snippets which you use in those examples, or mockups. * **Explain why this enhancement would be useful** to most Sphere users. ### Your First Code Contribution (Pull Requests) We use the "fork-and-pull" model for contributions. Here’s a quick guide: 1. **Fork the repository** on GitHub. 2. **Clone your fork** to your local machine: `git clone https://github.com/Nakadra/sphere-runtime.git` 3. **Create a new branch** for your changes: `git checkout -b name-of-your-feature-or-fix` 4. **Make your changes.** Write your code and add tests if applicable. 5. **Commit your changes** with a clear commit message: `git commit -m "feat: Add a new feature"` or `git commit -m "fix: Solve a bug"` 6. **Push your branch** to your fork on GitHub: `git push origin name-of-your-feature-or-fix` 7. **Create a Pull Request** from your forked repository to the main `sphere-runtime` repository. 8. Describe your changes clearly in the Pull Request description. We will review the PR, provide feedback, and merge it when it's ready. --- Thank you again for your interest in making Sphere better!