Skip to content

Conversation

@mhucka
Copy link
Member

@mhucka mhucka commented Dec 9, 2025

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/file and 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.md file.

mhucka added 12 commits December 9, 2025 00:14
This adds much more information about this project's conventions,
development process, and contributor workflow.
This sets the default style (to Google style), so that `clang-format`
can be invoked with the style argument.
This sets the default style (to Google style), so that `yapf`
can be invoked with the style argument.
The content here is currently all about adjusting GitHub's file type
statistics.  (IMHO it's weird that GitHub doesn't list Markdown files.)
This configures the linter program `actionlint` for this project. It
helps to have this when making changes to the GitHub Actions workflows.
These help improve visibility of errors in CI.
@mhucka mhucka marked this pull request as ready for review December 9, 2025 01:20
@mhucka mhucka self-assigned this Dec 9, 2025
@mhucka mhucka added area/docs Involves documentation – problems, ideas, requests area/health Involves general matters of project configuration, health, maintenance, and similar concerns area/devops Involves build systems, Make files, Bazel files, continuous integration, and/or other DevOps topics labels Dec 9, 2025
@mhucka mhucka removed their assignment Dec 9, 2025
In preparation for a separate PR to do nothing but reformat a few files,
this adds information telling developers how to configure git to ignore
specific commits. (This is the same approach used in Cirq.)

This also adds a placeholder `.git-blame-ignore-revs` file for now, so
that running the git config command does not result in an error.
Thanks to Pablo Samano Elton for catching that.
Copy link
Collaborator

@MichaelBroughton MichaelBroughton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this. I don't think we can merge this PR as is. There are too many changes at once in a single PR. I see the git-blame-ignore-revs stuff is in here again, which I don't think we want. It looks like there is a whole bunch of other linting and styling changes going on here that are hard to track where they come from and how it all fits together on top of all of the changes to .md files. Could you please split this into smaller focused PRs ?

Would also recommend reading go/prefer-small-cls for some general guidelines when splitting things up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/devops Involves build systems, Make files, Bazel files, continuous integration, and/or other DevOps topics area/docs Involves documentation – problems, ideas, requests area/health Involves general matters of project configuration, health, maintenance, and similar concerns

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants