# CONTRIBUTING.md

## Welcome to my PyTorch-NLP-chatbot library contribution guide

Thank you for considering to contribute to our Python library. Your help is vital in making this project great and a benefit to the community. 

This document is here to guide you through the process of contributing to this project. Please read it thoroughly to understand the expectations and the process for contributing.

## Table of Contents

1. [Code of Conduct](#code-of-conduct)
2. [Getting Started](#getting-started)
3. [How Can I Contribute?](#how-can-i-contribute)
4. [Pull Request Process](#pull-request-process)
5. [Style Guide](#style-guide)
6. [Testing](#testing)

## Code of Conduct

This project and everyone participating in it is governed by our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.

## Getting Started

- Make sure you have a GitHub account.
- Fork the repository on GitHub.
- Clone your forked repository to your local machine.
- Set up the development environment by following the instructions in the README file.

## How Can I Contribute?

### Reporting Bugs

If you find a bug in the codebase, you can help us by:

- Submitting a bug report to the issue tracker.
- Include as many details as you can. This could be screenshots, stack trace or even a fix.

### Suggesting Enhancements

If you have ideas on how to improve the library or add new features, please submit them to the issue tracker.

### Code Contributions

Here is a quick guide on how to contribute code:

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 follows the style guide.
6. Issue that pull request!

## Pull Request Process

1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
3. Your Pull Request will be merged if it passes initial review and all tests are passing.

## Style Guide

Please adhere to the [PEP8](https://www.python.org/dev/peps/pep-0008/) style guide for Python to ensure consistency across the project.

## Testing

Every contribution must have adequate tests and pass all existing tests. 

To run the tests, execute the following command in your terminal:

```
python -m unittest discover tests
```

## Acknowledgements

Thank you for spending your time to improve our project. Every effort is valued and we look forward to your continued support.
