- GitHub Actions workflow for testing on Python 3.9-3.12 - Ruff linting in CI - Coverage reporting to Codecov - CONTRIBUTING.md with development setup instructions - LICENSE file (MIT) - Dev dependencies in pyproject.toml
2.0 KiB
2.0 KiB
Contributing to InvenTree RMA Plugin
Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/inventree-rma-plugin.git cd inventree-rma-plugin - Install development dependencies:
pip install -e ".[dev]"
Development Workflow
Running Tests
pytest tests/ -v
Running Linter
ruff check .
To auto-fix issues:
ruff check --fix .
Code Style
This project uses ruff for linting. Please ensure your code passes all checks before submitting a PR.
Pull Request Process
-
Create a new branch for your feature/fix:
git checkout -b feature/your-feature-name -
Make your changes and commit with clear, descriptive messages
-
Ensure all tests pass and linting is clean:
pytest tests/ -v ruff check . -
Push to your fork and open a Pull Request
-
Describe your changes in the PR description, including:
- What the change does
- Why it's needed
- Any breaking changes
Testing with InvenTree
To test the plugin with a local InvenTree instance:
-
Set up InvenTree using Docker:
git clone https://github.com/inventree/InvenTree.git cd InvenTree docker compose -f contrib/container/docker-compose.yml up -d -
Install the plugin in development mode:
docker compose exec inventree-server pip install -e /path/to/inventree-rma-plugin -
Enable the required settings in InvenTree:
- ENABLE_PLUGINS_APP
- ENABLE_PLUGINS_URL
- ENABLE_PLUGINS_INTERFACE
Reporting Issues
When reporting issues, please include:
- InvenTree version
- Plugin version
- Steps to reproduce
- Expected vs actual behavior
- Any error messages or logs
Questions?
Feel free to open an issue for any questions about contributing.