Guidance: Contributing.md & Coding Style docs needed #1208

Open
opened 2026-01-30 22:19:08 +00:00 by claunia · 0 comments
Owner

Originally created by @dlong11 on GitHub (May 18, 2019).

It would be great if the Windows Terminal Team would provide a contributing.md (Contributing Guide) that would explain the Contribution Workflow, "help wanted", Do's and Don'ts, Commit Messages, etc.

Also adding an official coding style guideline md file would be great. Currently, the CppCoreGuide lines are referenced, but that doesn't give enough guidance around things like

Naming

  • general naming conventions
  • File names
  • Type names
  • Variable names
  • Class names
  • Struct names
  • Constant names
  • Function names
  • Enum names
  • Macro names

Formatting (hopefully clang format gets added and this becomes a non-issue)

  • Line length
  • Spaces vs Tabs
  • braces
  • file types (utf-8, utf-8 BOM, etc...)
  • etc...

maintainer note: we did add clang-format so this kinda is a non-issue

C++ features

  • use of const
  • use of constexpr
  • exceptions
  • friends
  • noexcept
  • casting
  • RTTI
  • auto

Comments

  • Comment style
  • File comments
  • Legal / Copyright
  • Class / Function comments
  • TODO comments
  • etc...

The goal of the style guide should be to describe in detail the dos and don'ts of writing C++ code. (ie -what the Windows Terminal team expects when PRs are submitted) Some of the above are covered in the Cpp Core Guidelines but it would be great to have an official Windows Terminal Guide that explicitly states what the expectations are. The current code doesn't always follow the Cpp Core Guidelines and it is hard to tell if that was on purpose or was just missed when the developer implemented the code.

Good examples of Contributing.md files that could be used as examples / ideas
.Net Core
Opensource guide
React


See also

Originally created by @dlong11 on GitHub (May 18, 2019). <!-- What needs to change? Who is responsible for it? Why is it an open question? --> It would be great if the Windows Terminal Team would provide a contributing.md (Contributing Guide) that would explain the Contribution Workflow, "help wanted", Do's and Don'ts, Commit Messages, etc. Also adding an _official_ coding style guideline md file would be great. Currently, the CppCoreGuide lines are referenced, but that doesn't give enough guidance around things like ### Naming - general naming conventions - File names - Type names - Variable names - Class names - Struct names - Constant names - Function names - Enum names - Macro names ### Formatting (hopefully clang format gets added and this becomes a non-issue) - Line length - Spaces vs Tabs - braces - file types (utf-8, utf-8 BOM, etc...) - etc... _maintainer note: we did add clang-format so this kinda is a non-issue_ ### C++ features - use of const - use of constexpr - exceptions - friends - noexcept - casting - RTTI - auto ### Comments - Comment style - File comments - Legal / Copyright - Class / Function comments - TODO comments - etc... The goal of the style guide should be to describe in detail the dos and don'ts of writing C++ code. (ie -what the Windows Terminal team expects when PRs are submitted) Some of the above are covered in the Cpp Core Guidelines but it would be great to have an official Windows Terminal Guide that explicitly states what the expectations are. The current code doesn't always follow the Cpp Core Guidelines and it is hard to tell if that was on purpose or was just missed when the developer implemented the code. Good examples of Contributing.md files that could be used as examples / ideas [.Net Core](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md) [Opensource guide](https://github.com/github/opensource.guide/blob/master/CONTRIBUTING.md) [React](https://reactjs.org/docs/how-to-contribute.html) --- See also * [ ] #1014 * [ ] #962 * [ ] #887 * [ ] #921 * [ ] #1159
claunia added the Needs-Tag-FixIssue-DocsProduct-MetaArea-BuildArea-CodeHealth labels 2026-01-30 22:19:08 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#1208