This looks fine but it seems focused on writing a new module/project. Most python work going into edk2 is part of existing code.
I would like to see additional documentation about how this applies to edk2 basetools.
* A flake8 config file could be added to basetools python.
* Documentation of developer workflows with edk2 basetools
* A plan for how to get edk2 basetools to meet these requirements
* A plan for automated patch verification of meeting these rules.
I have a rule of thumb for code guidelines. I don't make any rules unless I can enforce them without un-manageable burden.
I also would rather see this type of documentation in the basetools python folder. There is no reason a developer should have to go looking for this somewhere else within the tianocore site.
Finally, I would suggest we leverage an auto-formatter and provide the config file for that. This reduces significant burden on the developer and keeps all contributes aligned.
Thanks
Sean