Contributing¶
Thanks for contributing to legacy-puyo-tools
, this project would not exist
if not for people like you and those who modded the Puyo Puyo games before.
Code of Conduct¶
This project and everyone participating in it is governed by the
Contributor Convert.
Everybody is expected to uphold this code, please read it before contributing.
Please report violations to @wushenrong
.
Feature Requests¶
Want a feature to be in to legacy-puyo-tools
. Great! Create an issue at
https://github.com/wushenrong/legacy-puyo-tools/issues and add a description
on why it should be added. Be sure that the feature is related to the project’s
goal.
Bug Reports¶
Found a bug? Create an issue on how the bug occurred.
Code Contribution¶
This project and everyone contributing code to it follows the
Developer Certificate of Origin. Everybody
is expected to contribute code that is compatible with the license of this
project. To certify that you are following the DCO, add a signoff to your
commits with the -s
or --signoff
flag while committing.
If the code is from another project, ensure that it is compatible with the license of this project and add attribution and licensing information. Failure to do so will result in a warning and a required understanding of open source. Repeated offenses will result in a ban from contributing code.
AI Policy¶
The use of AI is acceptable as it follows guidelines:
The generated code is either:
Boilerplate.
Refactor of existing code.
Generic implementation of a mathematical equation or short algorithm.
Code from other projects whose license is compatible with this project’s under the DCO.
Add the following notes to the generated code:
The code is AI generated with its source (e.g. ChatGPT, Copilot, Claud).
If the generated code falls under 1.iv, add appropriate attributions and licensing information.
Declare that you have used AI in pull requests and understand what the generated code does.
You have reviewed and modified the generated code.
All tests are run and passes regressions for both conversion and creation of formats.
Failure to follow this guideline will result in a warning and requires a comprehensive understanding of the code submitted. If the comprehensive check is generated by AI, you will be banned from contributing code. Repeated offenses will also result in a ban from contributing code.
Development environment¶
First install Python and then
uv
.
Then clone the repository and create the development environment with uv
:
# Clone repository
git clone https://github.com/wushenrong/legacy-python-tools.git
# Change into the repository
cd legacy-python-tools
# Create development environment and install tools
uv sync
# Activate development environment
./.venv/Scripts/activate
# Run linters and tests
tox
Testing¶
This project uses Pytest, tox, and several plugins as its testing infrastructure. If you are finished adding conversion and creation support for a format, please add tests to ensure the outputs of the tool is the same when given the same inputs, this is called regression testing.
Developer Certificate of Origin¶
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.