TheMovieDB 0.1.0

A robust and idiomatic Rust API wrapper for The Movie Database (TMDb) v3 API.
Documentation
# Contributing to TheMovieDB Rust API Wrapper

We welcome contributions to this project! To ensure a smooth and collaborative development process, please follow these guidelines.

## How to Contribute

1.  **Fork the repository**: Start by forking the `TheMovieDB` repository to your GitHub account.
2.  **Clone your fork**: Clone your forked repository to your local machine:
    ```bash
    git clone https://github.com/Junaid433/TheMovieDB.git
    cd TheMovieDB
    ```
3.  **Create a new branch**: Create a new branch for your feature or bug fix. Use a descriptive name (e.g., `feat/add-new-endpoint`, `fix/bug-in-auth`).
    ```bash
    git checkout -b feat/your-feature-name
    ```
4.  **Make your changes**: Implement your changes, ensuring they adhere to the existing code style and conventions.
5.  **Write tests**: If you're adding new features or fixing bugs, please write (or update existing) unit tests to cover your changes. Ensure all tests pass.
    ```bash
    cargo test
    ```
6.  **Run `cargo fmt` and `cargo clippy`**: Before committing, ensure your code is properly formatted and passes lint checks.
    ```bash
    cargo fmt
    cargo clippy -- -D warnings
    ```
7.  **Commit your changes**: Write clear and concise commit messages. Follow the [Conventional Commits]https://www.conventionalcommits.org/en/v1.0.0/ specification if possible (e.g., `feat: Add new movie endpoint`, `fix: Resolve API key issue`).
    ```bash
    git commit -m "feat: Your descriptive commit message"
    ```
8.  **Push to your fork**: Push your changes to your forked repository.
    ```bash
    git push origin feat/your-feature-name
    ```
9.  **Create a Pull Request**: Open a pull request from your branch to the `main` branch of the original repository. Provide a clear description of your changes and reference any related issues.

## Code Style

-   Follow Rust's official style guidelines as enforced by `cargo fmt`.
-   Use `cargo clippy` to catch common mistakes and improve code quality.

## Reporting Bugs

If you find a bug, please open an issue on the GitHub repository. Provide as much detail as possible, including:

-   A clear and concise description of the bug.
-   Steps to reproduce the behavior.
-   Expected behavior.
-   Actual behavior.
-   Your Rust version and operating system.

## Feature Requests

If you have a feature request, please open an issue on the GitHub repository. Describe the feature, why it would be useful, and any potential implementation ideas.

Thank you for contributing!