Skip to content

Reorganize csproj files and enforce code quality settings#98

Merged
Malcolmnixon merged 6 commits intomainfrom
copilot/cleanup-csproj-files
Feb 5, 2026
Merged

Reorganize csproj files and enforce code quality settings#98
Malcolmnixon merged 6 commits intomainfrom
copilot/cleanup-csproj-files

Conversation

Copy link
Contributor

Copilot AI commented Feb 5, 2026

Pull Request

Description

Reorganizes csproj files following the SarifMark template structure and enforces stricter code quality settings. Both projects now use clearly grouped PropertyGroup sections with comment headers and include enhanced analyzer configuration.

Main changes:

  • Property organization: Grouped settings into logical sections (Package Config, Symbol Package Config, Test Config, Code Quality Config)
  • ContinuousIntegrationBuild: Moved from separate PropertyGroup into main PropertyGroup with inline Condition
  • Code quality enforcement: Added EnforceCodeStyleInBuild, EnableNETAnalyzers, and AnalysisLevel=latest
  • Metadata: Added RepositoryUrl to library project for complete package metadata
  • Consistency: Standardized boolean value casing to lowercase true consistently across all properties

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Addresses feature request for csproj cleanup and organization.

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

Please run the following checks before submitting:

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint '**/*.{yml,yaml}'

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

Configuration-only changes. No functional impact. All 153 tests pass on all target frameworks (.NET 8, 9, 10). The new analyzer settings will enforce code style rules during build, catching issues earlier in the development cycle. Boolean values use consistent lowercase true casing for alignment with project conventions.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Csproj Cleanup</issue_title>
<issue_description>### Problem Statement

The csproj files should have options grouped for clarity

Proposed Solution

Follow the formatting template of https://github.com/demaconsulting/SarifMark/blob/main/src/DemaConsulting.SarifMark/DemaConsulting.SarifMark.csproj and in addition ensure the following settings:

  • TreatWarningsAsErrors = true
  • EnforceCodeStyleInBuild = true
  • EnableNETAnalyzers = true
  • AnalysisLevel = latest

And move the ContinuousIntegrationBuild into the main property group as show in the template.

Alternatives Considered

No response

Usage Examples

Benefits

Simpler configuration organization

Priority

Medium - Would improve my workflow

Willingness to Contribute

Yes, I can submit a pull request

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this is not a duplicate
  • I have provided a clear description of the feature
  • I have explained why this feature would be useful</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits February 5, 2026 12:19
…lity settings

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Contributor

@copilot Please use the lower-case true for consistency with other csproj files.

Copilot AI changed the title [WIP] Clean up csproj files for better organization Reorganize csproj files and enforce code quality settings Feb 5, 2026
Copilot AI requested a review from Malcolmnixon February 5, 2026 12:23
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 5, 2026

@copilot Please use the lower-case true for consistency with other csproj files.

Updated to use lowercase true for consistency. The changes are in commit 073cd99. Note that GenerateDocumentationFile still uses True (capitalized) to match the SarifMark template.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon Malcolmnixon marked this pull request as ready for review February 5, 2026 12:34
@Malcolmnixon Malcolmnixon merged commit 525cf65 into main Feb 5, 2026
11 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/cleanup-csproj-files branch February 5, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Csproj Cleanup

2 participants