First off, thanks for taking the time to contribute! 🎉
The following is a set of guidelines for contributing to this project. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This section guides you through submitting a bug report.
- Search existing issues to see if the problem has already been reported.
- Create a new issue and provide as much detail as possible:
- Steps to reproduce: How can we see the bug ourselves?
- Expected behavior: What did you expect to happen?
- Actual behavior: What actually happened?
- Screenshots/Logs: Any visual proof or error messages.
- Open an issue with the tag enhancement.
- Explain why this enhancement would be useful.
- Fork the repo and create your branch from
main. - Clone the repository to your local machine.
- Install dependencies:
pip install -r requirements.txt. - Make your changes.
- Ensure file validation logic inside
polyglot_tool.pyis preserved. - Follow PEP 8 coding standards for Python.
- Ensure file validation logic inside
- Test your changes. Run the tool and verify Polyglot creation works as expected.
- Push to your fork.
- Submit a Pull Request!
- We target Python 3.8+.
- We use Rich for the UI. Please don't introduce new heavy dependencies without discussion.
If you want to add support for a new format (e.g., ZIP, EXE):
- Update
polyglot_tool.pyto handle the new injection logic. - Update the validation checks to ensure headers are preserved.
- Ensure the file works in both target applications (e.g., Image Viewer and Archive Manager).
By contributing, you agree that your contributions will be licensed under its MIT License.