diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d615163b..860d162e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,2 +1,38 @@ -Please always push on the premain to ensure we don't mess with the main branch. All the test will be done on the premain and will be pushed to the main branch after few hours or days of testing. -and push large or wild changes to experimental so that it can be discussed whether to merge it with main or not in future. +# Collaboration Guidelines and Codebase Quality Standards + +To ensure smooth collaboration and maintain the high quality of our codebase, please adhere to the following guidelines: + +## Branching Strategy + +* **`premain`**: + * Always push your changes to the `premain` branch initially. + * This safeguards the `main` branch from unintentional disruptions. + * All tests will be performed on the `premain` branch. + * Changes will only be merged into `main` after several hours or days of rigorous testing. +* **`experimental`**: + * For large or potentially disruptive changes, use the `experimental` branch. + * This allows for thorough discussion and review before considering a merge into `main`. + +## Pre-Pull Request Checklist + +Before creating a Pull Request (PR), ensure you have completed the following tests: + +### Functionality + +* **Realtime Faceswap**: + * Test with face enhancer **enabled** and **disabled**. +* **Map Faces**: + * Test with both options (**enabled** and **disabled**). +* **Camera Listing**: + * Verify that all cameras are listed accurately. + +### Stability + +* **Realtime FPS**: + * Confirm that there is no drop in real-time frames per second (FPS). +* **Boot Time**: + * Changes should not negatively impact the boot time of either the application or the real-time faceswap feature. +* **GPU Overloading**: + * Test for a minimum of 15 minutes to guarantee no GPU overloading, which could lead to crashes. +* **App Performance**: + * The application should remain responsive and not exhibit any lag.