# Contributing to Nepali Calendar Utils

Thank you for considering contributing to Nepali Calendar Utils! We welcome contributions of all kinds,
including bug fixes, new features, and more. By contributing,
you help make this project better for everyone.

## Code of Conduct

This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Be kind to everyone!

## Getting Started

To get started with contributing to Nepali Calendar Utils:

1. Fork the repository: Click the "Fork" button at the top of this repository.
2. Clone your fork:
```bash
git clone https://github.com/shivathapaa/nepali_calendar_utils/
```
3. Create a branch:
```bash
git checkout -b feature/your-feature-name
```
```bash
git checkout -b bugfix/your-bug-fix-name
```
4. Make your changes: Follow the guidelines below for contributing.
5. Ensure all commits are signed using GPG. Unsigned commits will not be accepted. Learn how to [sign commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
6. Commit your changes:
```bash
git commit -m "Describe your changes"
```
6. Push your branch:
```bash
git push origin feature/your-feature-name
```
```bash
git checkout -b bugfix/your-bug-fix-name
```
7. Submit a pull request: Go to the repository on GitHub and open a pull request.

## How to Contribute

### Reporting Bugs

If you find a bug in the project, please:

1. Search existing issues to see if the bug has already been reported.
2. Open a new issue and include (follow the template in issues):
    - A clear and descriptive title.
    - A detailed description of the bug.
    - Steps to reproduce the bug.
    - Any relevant screenshots or code snippets.

### Suggesting Features

To suggest a new feature:

1. Check existing feature requests to see if the feature has already been suggested.
2. Open a new issue with the title "Feature Request: [Your Feature]" and provide:
    - A detailed description of the feature.
    - Try to answer `Why?` question.
    - Any examples or use cases.

### Submitting Pull Requests

> Try not to open pull request for minor typos if its not breaking anything in code logics. However, feel free to [open an issue](https://github.com/shivathapaa/nepali_calendar_utils/issues/new/choose) for reporting it.

When you're ready to submit a pull request:

1. Ensure your code adheres to the style guide. (You can refer [Style Guide for Python Code](https://peps.python.org/pep-0008/))
2. Include tests for any new features or bug fixes.
3. Ensure all tests pass.
4. Update the documentation as needed.
5. Open a pull request with a clear description of what you've done and why.

## New to Git?

Resources: https://lab.github.com and https://try.github.com/

## License

This project is licensed under [MPL 2.0](https://github.com/shivathapaa/nepali_calendar_utils/blob/main/LICENSE)

## About Nepali Calendar Utils

This Python package provides a collection of utilities for working with Nepali Dates, offering seamless conversion and integration between the Nepali Calendar and the Gregorian Calendar. Whether you're building localized applications, working with Nepali date systems, or creating custom date-based utilities, this package simplifies the process with intuitive and efficient tools.

