Files
PINA/CONTRIBUTING.md
2025-04-17 10:48:31 +02:00

95 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Contributing to PINA
First off, thanks for taking the time to contribute to **PINA**! 🎉 Your help makes the project better for everyone. This document outlines the process for contributing, reporting issues, suggesting features, and submitting pull requests.
---
## Table of Contents
1. [How to Contribute](#how-to-contribute)
2. [Reporting Bugs](#reporting-bugs)
3. [Suggesting Enhancements](#suggesting-enhancements)
4. [Pull Request Process](#pull-request-process)
5. [Code Style & Guidelines](#code-style--guidelines)
6. [Community Standards](#community-standards)
---
## How to Contribute
You can contribute in several ways:
- Reporting bugs
- Suggesting features/enhancements
- Submitting fixes or improvements via Pull Requests (PRs)
- Improving documentation
We encourage all contributions, big or small!
---
## Reporting Bugs
If you find a bug, please open an [issue](https://github.com/mathLab/PINA/issues) and include:
- A clear and descriptive title
- Steps to reproduce the problem
- What you expected to happen
- What actually happened
- Any relevant logs, screenshots, or error messages
- Environment info (OS, Python version, dependencies, etc.)
---
## Suggesting Enhancements
We welcome new ideas! If you have an idea to improve PINA:
1. Check the [issue tracker](https://github.com/mathLab/PINA/issues) or the [discussions](https://github.com/mathLab/PINA/discussions) to see if someone has already suggested it.
2. If not, open a new issue describing:
- The enhancement you'd like
- Why it would be useful
- Any ideas on how to implement it (optional but helpful)
3. If you are not sure about (something of) the enhancement, we suggest to open a discussion to collaborate on it with the PINA community
---
## Pull Request Process
Before submitting a PR:
1. Ensure theres an open issue related to your contribution (or create one).
2. [Fork](https://help.github.com/articles/fork-a-repo) the repository and create a new branch from `master`:
```bash
git checkout -b feature/my-feature
```
3. Make your changes:
- Write clear, concise, and well-documented code
- Add or update tests where appropriate
- Update documentation if necessary
4. Verify your changes by running tests:
```bash
pytest
```
5. Properly format your code. If you want save time, simply run:
```bash
bash code_formatter.sh
```
7. Submit a [pull request](https://help.github.com/articles/creating-a-pull-request) with a clear explanation of your changes and reference the related issue if applicable.
### Pull Request Checklist
- [ ] Code follows the projects style guidelines
- [ ] Tests have been added or updated
- [ ] Documentation has been updated if necessary
- [ ] Pull request is linked to an open issue (if applicable)
---
## Code Style & Guidelines
- Follow PEP8 for Python code.
- Use descriptive commit messages (e.g. `Fix parser crash on empty input`).
- Write clear docstrings for public classes, methods, and functions.
- Keep functions small and focused; do one thing and do it well.
---
## Community Standards
By participating in this project, you agree to abide by our Code of Conduct. We are committed to maintaining a welcoming and inclusive community.