# Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

You can contribute in many ways:

## Types of Contributions

### Report Bugs

Report bugs at https://github.com/jmrivas86/django-json-widget/issues.

If you are reporting a bug, please include:

* Your operating system name and version.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

### Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with "bug" is open to whoever wants to implement it.

### Implement Features

Look through the GitHub issues for features. Anything tagged with "feature" is open to whoever wants to implement it.

### Write Documentation

django-json-widget could always use more documentation, whether as part of the official django-json-widget docs, in docstrings, or even on the web in blog posts, articles, and such.

### Submit Feedback

The best way to send feedback is to file an issue at https://github.com/jmrivas86/django-json-widget/issues.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions are welcome :)

## Get Started!

Ready to contribute? Here's how to set up `django-json-widget` for local development.

1. Fork the `django-json-widget` repo on GitHub.

2. Clone your fork locally:
   ```bash
   git clone git@github.com:your_name_here/django-json-widget.git
   ```

3. Install development dependencies:
   ```bash
   cd django-json-widget/
   python -m venv .venv
   source .venv/bin/activate
   pip install -r requirements_test.txt
   ```

4. Create a branch for local development from the dev branch:
   ```bash
   git checkout dev
   git checkout -b name-of-your-branch
   ```

   Now you can make your changes locally.

5. Commit your changes and push your branch:
   ```bash
   git add .
   git commit -m "Your detailed description of your changes."
   git push origin name-of-your-branch
   ```

6. Submit a pull request through the GitHub website.

## Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

1. **The pull request must be submitted against the `dev` branch.**
2. Please explain what you have done in the pull request.
3. Make sure you have had passed pre-commit hooks.
