We're thrilled that you're interested in contributing to GCEI! This document provides guidelines for contributing to the project. Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project.
- Code of Conduct
- Getting Started
- How Can I Contribute?
- Style Guidelines
- Commit Messages
- Pull Requests
- Reporting Bugs
- Suggesting Enhancements
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
- Make sure you have a GitHub account
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment (refer to the README.md for instructions)
- Ensure the bug was not already reported by searching on GitHub under Issues
- If you're unable to find an open issue addressing the problem, open a new one
- Open a new issue with a clear title and detailed description
- Provide any relevant examples or mock-ups if possible
- Create a new branch from
main
for your changes - Make your changes in your branch
- Add or update tests as necessary
- Ensure the test suite passes
- Push your branch and submit a pull request to
main
- Wait for review and address any comments
- Follow the Rust Style Guide
- Use
rustfmt
to format your code - Run
clippy
and address any lints before submitting your code
- Use clear and concise language
- Provide examples where appropriate
- Keep comments up-to-date with code changes
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and animated GIFs in your pull request whenever possible
- Follow the Rust style guides
- End all files with a newline
When filing an issue, make sure to answer these questions:
- What version of Rust are you using?
- What operating system and processor architecture are you using?
- What did you do?
- What did you expect to see?
- What did you see instead?
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please provide the following information:
- Use a clear and descriptive title for the issue
- Provide a step-by-step description of the suggested enhancement
- Provide specific examples to demonstrate the steps
- Describe the current behavior and explain which behavior you expected to see instead and why
- Explain why this enhancement would be useful to most GCEI users
Thank you for contributing to GCEI!