From 3f4eeb7a65be909a2e93c5cedabf34cd5d79aa50 Mon Sep 17 00:00:00 2001 From: crueter Date: Wed, 30 Jul 2025 03:40:45 -0400 Subject: [PATCH] [docs] Implement guidelines for PR/License Headers need to add more stuff, cc @Shinmegumi Signed-off-by: crueter --- docs/Development.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/Development.md b/docs/Development.md index 4f17bf6977..cba6508ded 100644 --- a/docs/Development.md +++ b/docs/Development.md @@ -7,6 +7,36 @@ * **FreeBSD**: [FreeBSD Building Guide](./docs/build/FreeBSD.md) * **macOS**: [macOS Building Guide](./docs/build/macOS.md) +# Guidelines + +## License Headers +All commits must have proper license header accreditation. + +You can easily add all necessary license headers by running: +```sh +git fetch origin master:master +FIX=true COMMIT=true .ci/license-header.sh +git push +``` + +Alternatively, you may omit `COMMIT=true` and do an amend commit: +```sh +git fetch origin master:master +FIX=true .ci/license-header.sh +git commit --amend -a --no-edit +``` + +## Pull Requests +Pull requests are only to be merged by core developers when properly tested and discussions conclude on Discord or other communication channels. Labels are recommended but not required. However, all PRs MUST be namespaced and optionally typed: +``` +[cmake] refactor: CPM over submodules +[desktop] feat: implement firmware install from ZIP +[hle] stub fw20 functions +[core] test: raise maximum CPU cores to 6 +``` + +The level of namespacing is generally left to the committer's choice, but we never recommend going more than two levels *except* in `hle`, in which case you may go as many as four levels depending on the specificity of your changes. Developers are permitted to change namespaces at will. Commits within PRs are not required to be namespaced, but it is highly recommended. + # Building speedup If you have an HDD, use ramdisk (build in RAM): @@ -171,4 +201,3 @@ EOF If having issues with older artifacts, then run `rm -r externals/dynarmic/build externals/dynarmic/externals externals/nx_tzdb/tzdb_to_nx/externals externals/sirit/externals`. Configuring CMake with `-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=1 -DCMAKE_CXX_FLAGS="-Wno-error" -DCMAKE_C_FLAGS="-Wno-error -Wno-array-parameter -Wno-stringop-overflow"` is also recommended. -