Skip to content

Commit

Permalink
chore: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewBabbitt97 committed Jul 7, 2024
0 parents commit f609380
Show file tree
Hide file tree
Showing 25 changed files with 1,512 additions and 0 deletions.
159 changes: 159 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
###############################
# Core EditorConfig Options #
###############################

root = true

# All files
[*]
indent_style = space
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 2

# XML config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
indent_size = 2

# .NET code files
[*.{cs,csx,vb,vbx,razor,cshtml}]
indent_size = 4
charset = utf-8-bom

[*.json]
indent_size = 2

###############################
# .NET Coding Conventions #
###############################

[*.{cs,vb}]

# IDE0001: Simplify name
dotnet_diagnostic.IDE0001.severity = warning

# IDE0002: Simplify member access
dotnet_diagnostic.IDE0002.severity = warning

# IDE0003: this and Me preferences
dotnet_diagnostic.IDE0003.severity = warning

# IDE0007-IDE0008: var preferences
csharp_style_var_for_built_in_types = true
csharp_style_var_when_type_is_apparent = true
csharp_style_var_elsewhere = true

# IDE0009: this and Me preferences
dotnet_diagnostic.IDE0009.severity = warning

# IDE0035: Remove unreachable code
dotnet_diagnostic.IDE0035.severity = warning

# IDE0045: Use conditional expression for assignment
dotnet_style_prefer_conditional_expression_over_assignment = false

# IDE0046: Use conditional expression for return
dotnet_style_prefer_conditional_expression_over_return = false

# IDE0049: Use language keywords instead of framework type names for type references
dotnet_diagnostic.IDE0049.severity = warning

# IDE0058: Remove unused expression value
dotnet_diagnostic.IDE0058.severity = silent

# IDE0073: Use file header
file_header_template = Licensed to the Chroma Control Contributors under one or more agreements.\nThe Chroma Control Contributors licenses this file to you under the MIT license.\nSee the LICENSE file in the project root for more information.

# IDE0079: Remove unnecessary suppression
dotnet_diagnostic.IDE0079.severity = warning

# IDE0160-IDE0161: Namespace declaration preferences
csharp_style_namespace_declarations = file_scoped

# IDE0130: Namespace does not match folder structure
dotnet_diagnostic.IDE0130.severity = warning

# IDE0290: Use primary constructor
csharp_style_prefer_primary_constructors = false

# IDE1006: Naming styles
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = warning
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case

dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = warning
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case

dotnet_naming_rule.constants_should_be_pascal_case.severity = warning
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style
dotnet_naming_symbols.constants.applicable_kinds = field, local
dotnet_naming_symbols.constants.required_modifiers = const
dotnet_naming_style.constant_style.capitalization = pascal_case

dotnet_naming_rule.static_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style
dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static
dotnet_naming_style.static_field_style.capitalization = camel_case
dotnet_naming_style.static_field_style.required_prefix = s_

dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
dotnet_naming_symbols.instance_fields.applicable_kinds = field
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _

dotnet_naming_rule.locals_should_be_camel_case.severity = warning
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local
dotnet_naming_style.camel_case_style.capitalization = camel_case

dotnet_naming_rule.local_functions_should_be_pascal_case.severity = warning
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style
dotnet_naming_symbols.local_functions.applicable_kinds = local_function
dotnet_naming_style.local_function_style.capitalization = pascal_case

dotnet_naming_rule.members_should_be_pascal_case.severity = warning
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.all_members.applicable_kinds = *
dotnet_naming_style.pascal_case_style.capitalization = pascal_case

# IDE2000: Avoid multiple blank lines
dotnet_style_allow_multiple_blank_lines_experimental = false

# IDE2001: Embedded statements must be on their own line
csharp_style_allow_embedded_statements_on_same_line_experimental = false

# IDE2002: Consecutive braces must not have blank line between them
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false

# IDE2003: Blank line required between block and subsequent statement
dotnet_style_allow_statement_immediately_after_block_experimental = false

# IDE2004: Blank line not allowed after constructor initializer colon
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false

# IDE2005: Blank line not allowed after conditional expression token
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = false

# IDE2006: Blank line not allowed after arrow expression clause token
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = false
63 changes: 63 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: 🐞 Bug Report
description: Create a report about something that is not working
labels:
- bug
body:
- type: markdown
attributes:
value: |
Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs and feature requests.
If you believe you have an issue that affects the SECURITY of the project, please do NOT create an issue and instead follow the instructions in the [Security Policy](https://github.com/ChromaControl/SDK/security/policy).
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered ([issues](https://github.com/ChromaControl/SDK/issues?q=is%3Aissue)).
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the behavior.
We will close this issue if:
- If we will not be able to repro the behavior you're reporting.
- There is an already known open issue for this bug.
validations:
required: false
- type: textarea
attributes:
label: Exceptions or error messages (if any)
description: Include the exception or error message you get when facing this issue.
validations:
required: false
- type: input
attributes:
label: Version number
description: Please specify the version number of the software you are using.
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
- OS version
- Dependent software versions
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/design_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: 🤔 Design Proposal
description: Collaborate on a design for a feature/fix or other change
labels:
- enhancement
body:
- type: textarea
attributes:
label: Summary
description: 1-2 sentences. Say what this is about.
validations:
required: true
- type: textarea
attributes:
label: Motivation and goals
description: 1-2 paragraphs, or a bullet-pointed list. What existing pain points does this solve? What evidence shows it's valuable to solve this?
validations:
required: true
- type: textarea
attributes:
label: In scope
description: A list of major scenarios, perhaps in priority order.
validations:
required: true
- type: textarea
attributes:
label: Out of scope
description: Scenarios you explicitly want to exclude.
validations:
required: true
- type: textarea
attributes:
label: Risks / unknowns
description: How might others misinterpret/misuse this? How might implementing it restrict us from other enhancements in the future? Also list any perf/security/correctness concerns.
validations:
required: true
- type: textarea
attributes:
label: Examples
description: |
Give brief examples of possible developer and user experiences.
Don't be deeply concerned with how it would be implemented yet. Your examples could even be from other technology stacks or applications.
validations:
required: true
- type: textarea
attributes:
label: Detailed design
description: |
It's often best not to fill this out until you get basic consensus about the above. When you do, consider adding an implementation proposal with the following headings:
Detailed design
Drawbacks
Considered alternatives
Open questions
References
If there's one clear design you have consensus on, you could do that directly in a PR.
validations:
required: false
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: 💡 Feature Request
description: Suggest an idea for this project
labels:
- enhancement
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the feature you are requesting. ([issues](https://github.com/ChromaControl/SDK/issues)).
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe the problem.
description: A clear and concise description of what the problem is.
placeholder: I am trying to do [...] but [...]
validations:
required: false
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen. Include any alternative solutions you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
Loading

0 comments on commit f609380

Please sign in to comment.