Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"version": "0.2",
"language": "en",
"words": [
"buildmark",
"BuildMark",
"copilot",
"cspell",
"csproj",
"Dema",
"demaconsulting",
"DEMACONSULTINGNUGETKEY",
"Dependabot",
"dependabot",
"dotnet",
"editorconfig",
"ibiqlik",
"markdownlint",
"mstest",
"ncipollo",
"nuget",
"nupkg",
"opencover",
"reqstream",
"snupkg",
"trx",
"yamllint"
],
"ignorePaths": [
"node_modules",
".git",
"bin",
"obj",
"*.nupkg",
"*.snupkg",
"*.dll",
"*.exe",
"*.trx",
"*.spdx.json",
"package-lock.json",
"yarn.lock"
]
}
94 changes: 94 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

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

# Markdown files
[*.md]
trim_trailing_whitespace = false

# YAML files
[*.{yml,yaml}]
indent_size = 2

# JSON files
[*.json]
indent_size = 2

# XML files
[*.{xml,csproj,props,targets}]
indent_size = 2

# C# files
[*.cs]
indent_size = 4

# Code style rules
csharp_prefer_braces = true:warning
csharp_prefer_simple_using_statement = true:suggestion
csharp_style_namespace_declarations = file_scoped:warning
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

# Naming conventions
dotnet_naming_rule.interface_should_be_begins_with_i.severity = warning
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = warning
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles
dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

# Organize usings
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false

# Code quality - set to suggestion to not break existing code
dotnet_code_quality_unused_parameters = all:suggestion

# Nullable reference types
csharp_nullable_reference_types = enable
115 changes: 115 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
name: 🐛 Bug Report
description: Report a bug or issue with the BuildMark tool
title: "[Bug]: "
labels: ["bug"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out the sections below to help us understand and
fix the issue.

- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
placeholder: Describe the bug...
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: Detailed steps to reproduce the behavior
placeholder: |
1. Run BuildMark with command '...'
2. Provide input file '...'
3. Observe error...
value: |
1.
2.
3.
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen
placeholder: Describe what should happen...
validations:
required: true

- type: textarea
id: actual-behavior
attributes:
label: Actual Behavior
description: A clear and concise description of what actually happened
placeholder: Describe what actually happens...
validations:
required: true

- type: textarea
id: code-sample
attributes:
label: Code Sample
description: If applicable, provide a minimal code sample that reproduces the issue
placeholder: |
```csharp
// Your code here
```
render: csharp

- type: input
id: version
attributes:
label: Tool Version
description: What version of the BuildMark tool are you using?
placeholder: e.g., 1.0.0
validations:
required: true

- type: dropdown
id: dotnet-version
attributes:
label: .NET Version
description: What version of .NET are you using?
options:
- ".NET 8"
- ".NET 9"
- ".NET 10"
- Other (please specify in additional context)
validations:
required: true

- type: input
id: os
attributes:
label: Operating System
description: What operating system are you using?
placeholder: e.g., Windows 11, Ubuntu 22.04, macOS 14.0

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Add any other context about the problem here, such as error messages, stack traces, or screenshots
placeholder: Any additional information...

- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: I have provided a clear description of the problem
required: true
- label: I have included steps to reproduce the issue
required: true
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
blank_issues_enabled: false
contact_links:
- name: 📚 Documentation
url: https://github.com/demaconsulting/BuildMark
about: Read the documentation for BuildMark
- name: 💬 Discussions
url: https://github.com/demaconsulting/BuildMark/discussions
about: Ask questions and discuss with the community
102 changes: 102 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
name: ✨ Feature Request
description: Suggest a new feature or enhancement for the BuildMark tool
title: "[Feature]: "
labels: ["enhancement"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature! Please fill out the sections below to help us understand your request.

- type: textarea
id: problem
attributes:
label: Problem Statement
description: Is your feature request related to a problem? Please describe.
placeholder: I'm frustrated when... / I need to be able to...
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like to see
placeholder: A clear and concise description of what you want to happen
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or features you've considered
placeholder: A clear and concise description of any alternative solutions or features

- type: textarea
id: examples
attributes:
label: Usage Examples
description: If applicable, provide examples of how this feature would be used
placeholder: |
```csharp
// Example usage
buildmark --input report.json --output report.md --feature-flag
```
render: csharp

- type: textarea
id: benefits
attributes:
label: Benefits
description: Explain why this enhancement would be useful to BuildMark users
placeholder: This would be useful because...
validations:
required: true

- type: dropdown
id: priority
attributes:
label: Priority
description: How important is this feature to you?
options:
- Low - Nice to have
- Medium - Would improve my workflow
- High - Blocking my use case
validations:
required: true

- type: dropdown
id: willingness
attributes:
label: Willingness to Contribute
description: Would you be willing to contribute this feature?
options:
- "Yes, I can submit a pull request"
- "Yes, with guidance from maintainers"
- "No, but I can help test it"
- "No, I'm just suggesting"
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Add any other context, screenshots, or links about the feature request here
placeholder: Any additional information...

- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: I have provided a clear description of the feature
required: true
- label: I have explained why this feature would be useful
required: true
Loading