While contributing to this project, you must follow our Code of Conduct, which is a set of rules that you must follow to ensure the quality of the project and the safety of the developers and users of any application made by it.
If you discover a bug or want to ask for a feature, you will want to create a new issue on the issues and select the Issue
or Feature request
as the template.
Security vulnerabilities are something serious, and while they're not fixed, they must be kept private, so if you discover a security vulnerability, you must report it privately through Github to ensure that the vulnerability is fixed before it's exploited. This can be done through the Security Advisories.
Any major contribution made by collaborators must be made through a pull request, and it must be approved by at least one of the collaborators. This also counts for users that want to contribute to the project.
Minor contributions, such as fixing typos, can be made directly through the GitHub interface and pushed directly to the main
branch.
You must follow the pull request template when creating a pull request or an issue, and you must follow the pull request checklist.
Always be sure that you're using the latest branch, and that you're not creating a pull request or an issue that's already made.
All reviews must check the code quality of the code generator and the output code.
The code of the code generator must have the best quality possible, generating the best code possible, and it must be easy to understand and maintain.
Reviews must ensure that the new code follows the same indentation, spacing, and other code style rules as the rest of the project.
While the code generator performance is not a priority, it must be kept in mind if it starts to take too long to generate the code.
Reviews must check if there is no unnecessary code, like loops that can be optimized to be faster by asynchronizing them.
Code quality of the output code is extremely important, to ensure the quality of the project and the safety of the developers and users of any application made by it.
It must never have duplicated code, unnecessary checks or loops.
Reviews must ensure that the new code follows the same indentation, spacing, and other code style rules as the rest of the output codes.
Even though VNs don't need to be extremely fast, we must ensure that the output code is as fast as possible, to ensure that we follow the PerformanC philosophy.
Reviews must ensure that no optimizations can be done to the output code, even in special cases like 1 scene with a character, in all cases.
The PerformanC philosophy is a set of rules that we follow to ensure that the project is the best it can be and that it follows the PerformanC philosophy.
Listed in priority order, the topics are:
Before everything, security is the most important thing, ensure that the code is impossible to exploit and hard to misuse.
One code, multiple platforms. A good code can be used on multiple platforms, and it must be easy to port the code to other platforms.
Always make good code, that is easy to understand, maintain and re-use. Think like it will last forever.
Don't wait for machines to get faster, make the code faster. Performance is never enough if you can make it faster without sacrificing code quality, security or portability.
Innovate the wheel if that will make it better. Don't be afraid to try new things, and don't be afraid to fail. Everything from this world was someone that went against the flow and tried something new.