feat: adopt build-standards submodule for shared configuration#15
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adopts a shared build-standards submodule to standardize build configuration, code formatting, and quality checks across jas88 .NET projects. The changes consolidate build properties, enable automated code quality enforcement, and maintain the GPL-3.0 license while importing shared MIT-licensed build configurations.
- Adds build-standards submodule with symlinked .editorconfig and .pre-commit-config.yaml for consistency
- Refactors Directory.Build.props to import shared properties while preserving GPL-3.0 license and local overrides
- Adds nuget.config for centralized NuGet feed management
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| .gitmodules | Adds build-standards submodule reference |
| build-standards | Submodule commit reference for shared configuration |
| nuget.config | Centralizes NuGet package source configuration |
| Directory.Build.props | Imports shared build properties with repository-specific overrides |
| .editorconfig | Adds comprehensive C# code formatting and analysis rules |
| .pre-commit-config.yaml | Configures pre-commit hooks for automated code quality checks |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Review by RecurseML
🔍 Review performed on fa715af..7c26889
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (5)
• .editorconfig
• .gitmodules
• .pre-commit-config.yaml
• Directory.Build.props
• nuget.config
- Remove redundant CodeQL badge (pass/fail status is redundant with CI badge) - Update NuGet badge to use shields.io (buildstats.info is deprecated)
Fix CI build failure caused by NU1604 errors. Without this file, packages referenced in Directory.Build.props.shared (MinVer, DotNet.ReproducibleBuilds, coverlet.collector) have no version numbers, causing NuGet to fail with "no inclusive lower bound" errors.
…kage management With ManagePackageVersionsCentrally enabled in Directory.Packages.props, version numbers must not be specified on PackageReference items (NU1008). Versions are now managed centrally in Directory.Packages.props.
Fix CA1310 and CA1305 code analysis errors: - EndsWith() now uses StringComparison.Ordinal - int.Parse() now uses CultureInfo.InvariantCulture
Fixed all code analysis errors introduced by build-standards: - CA1305/CA1304: Added CultureInfo.InvariantCulture to locale-sensitive operations - CA1309: Changed string comparisons to ordinal - CA1852: Sealed classes with no subtypes - CA1707: Suppressed for test methods via .editorconfig - CA1859: Changed interface types to concrete implementations - CA2201: Changed Exception to InvalidOperationException Also fixed CI workflow to avoid duplicate runs on push and PR.
|



Summary
This PR adopts the shared build-standards submodule to standardize configuration across the jas88 .NET projects.
Changes
Benefits
Testing
Summary by cubic
Standardized build and repo configuration using the build-standards submodule. Centralized NuGet, preserved GPL licensing, fixed CI submodule checkout and triggers, standardized Dependabot (incl. gitsubmodule), added Codecov coverage reporting, and updated README badges (NuGet via shields.io, Codecov, SonarCloud); no functional changes.
Refactors
Migration
Written for commit 0f41ee2. Summary will update automatically on new commits.
High-level PR Summary
This PR adopts a shared build-standards submodule to standardize configuration across jas88 .NET projects. It adds centralized NuGet feed configuration, imports shared build properties while preserving project-specific overrides (GPL-3.0 license, disabled implicit usings), and introduces consistent code formatting rules via
.editorconfigand automated quality checks through pre-commit hooks. The changes are purely configuration-related with no functional code modifications.⏱️ Estimated Review Time: 15-30 minutes
💡 Review Order Suggestion
nuget.config.gitmodulesbuild-standardsDirectory.Build.props.editorconfig.pre-commit-config.yaml