Add more support materials for contributors
This adds information about project conventions and workflows to CONTRIBUTING.md, and in support of that, also adds configuration files for more linters and formatters.
The biggest change is to CONTRIBUTING.md, which is now greatly expanded. It includes more "getting started" type guidance, plus developer processes, and coding conventions. Where possible, this references other documentation in TensorFlow or TensorFlow Quantum.
The remaining changes are to help developers get the right settings for some commonly-used programs, add GitHub problem matchers for more of the programs used in CI, and add a couple of files that are standard these days:
-
Add configuration files for some linters and formatters relevant to this project. Not only can users run, e.g.,
clang-format /path/to/some/fileand it will use the correct format without the user having to remember to add a style parameter; program config files are recognized by some editing tools to help developers get immediate feedback while they're editing. (E.g., Emacs has such tooling.) -
Add more problem matchers to help surface errors in CI by taking advantage of the GitHub problem matchers feature
-
Add a code of conduct and a standard project
SUPPORT.mdfile.