Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 2.45 KB

File metadata and controls

79 lines (54 loc) · 2.45 KB

Contributing to JSON:API

Thank you for your interest in contributing to the JSON:API library! We welcome contributions from the community and are excited to work with you.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.

How to Contribute

Reporting Bugs

  • 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. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Suggesting Enhancements

  • Open a new issue with a clear title and detailed description of the proposed enhancement.
  • Provide examples of how the enhancement would be used.
  • Explain why this enhancement would be useful to most JSON:API users.

Pull Requests

  1. Fork the repository and create your branch from main.
  2. If you've added code that should be tested, add tests.
  3. If you've changed APIs, update the documentation.
  4. Ensure the test suite passes.
  5. Make sure your code lints.
  6. Issue that pull request!

Development Setup

  1. Clone the repository:

    git clone https://github.com/your-username/json-api.git
  2. Navigate to the project directory:

    cd json-api
  3. Build the project:

    cargo build
  4. Run tests:

    cargo test

Code Style

  • Follow the Rust Style Guide.
  • Run cargo fmt to format your code.
  • Run cargo clippy to catch common mistakes and improve your code.

Testing

  • Write tests for any new functionality.
  • Ensure all tests pass before submitting a pull request.
  • Include both unit tests and integration tests where appropriate.

Documentation

  • Update documentation when making changes to the API.
  • Add examples for new features.
  • Ensure all public functions have clear doc comments.

Getting Help

If you need help with contributing, feel free to:

  • Open an issue with your question
  • Reach out to the maintainers

License

By contributing to this project, you agree that your contributions will be licensed under the MIT License.