Re-sync from ProjectTemplate and swap Todo VS Code add-on - #340
Conversation
Reconverge the repo docs and CI config with upstream ProjectTemplate: add HISTORY.md and CODESTYLE.md, narrow copilot-instructions.md to the Copilot review runbook, restructure AGENTS.md (correct the versioning policy to bump only for functional changes, add documentation-style, verbatim-carry, and upstream-sync sections), mark the .editorconfig .NET-only boundary, and set retention-days on the build artifact upload. Convert the README version list to a Release Notes summary linking HISTORY.md, and record the Todo add-on swap (Todo Tree -> Better Todo Tree) as the v3.5 change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Re-syncs this Utilities repo’s documentation and agent guidance with the upstream ProjectTemplate conventions, adds a dedicated release-history document, and updates VS Code workspace recommendations (Todo Tree -> Better Todo Tree). Also applies a small CI artifact-retention tweak to reduce Actions storage usage.
Changes:
- Add
HISTORY.mdrelease-history file and introduceCODESTYLE.mdas the .NET style/formatting aggregate. - Restructure
README.md,AGENTS.md, and.github/copilot-instructions.mdto align with the template’s split between repo-wide conventions, language style, and Copilot runbook mechanics. - Update
.github/workflows/build-nugetlibrary-task.ymlto retain intermediate artifacts for 1 day and updateUtilities.code-workspacerecommendations.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Utilities.code-workspace | Swap Todo extension recommendation to Better Todo Tree and add related CSpell word. |
| README.md | Replace inline version-history list with a brief release-notes summary linking to HISTORY.md. |
| HISTORY.md | Add template-style release history document. |
| CODESTYLE.md | Add .NET-specific style/formatting guide and local tooling/runbook notes. |
| AGENTS.md | Expand/adjust repo-wide conventions (versioning policy, doc conventions, project structure, derived-file carry guidance). |
| .github/workflows/build-nugetlibrary-task.yml | Set actions/upload-artifact intermediate artifact retention to 1 day. |
| .github/copilot-instructions.md | Slim to template-style narrow scope: commit/PR-title summary + Copilot review runbook. |
| .editorconfig | Mark the boundary between general line-ending governance and .NET-only C#/ReSharper rules. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Adopt the template changes landed since the initial re-sync (ProjectTemplate develop f526b55, 402e862), per the downstream heads-up on issue #339: - Consolidate CODESTYLE.md to the new single-guide structure (General section plus a droppable .NET section; Python dropped) and add it plus .vscode/tasks.json to the verbatim-carry contract in AGENTS.md, copilot-instructions.md, and README. - Re-scope the root .editorconfig brownfield CA batch into the owning projects' local .editorconfig at the narrowest scope, each with its own justification (the original #175 trigger): library API/async/random rules in Utilities/.editorconfig, xUnit test-code rules in UtilitiesTests/.editorconfig. - Govern .vscode/tasks.json: carry the .NET clean-compile trio verbatim (.NET Build, CSharpier Format, .NET Format with dependsOrder sequence), rename .Net Tool Update to .NET Tool Update, group convenience tasks. - Skip the release-asset zip/upload on PR smoke builds: add a smoke input to build-nugetlibrary-task.yml and forward it from build-release-task.yml. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
commented
Jun 22, 2026
Pushed a follow-up commit adopting the template changes that landed since this PR opened (per the downstream heads-up on #339 - ProjectTemplate
Verified: build clean, markdownlint clean, actionlint clean, all-ASCII/CRLF. ( |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- HISTORY.md: describe the v3.3 language-tags split generically instead of naming/linking the sibling repo, per the no-sibling-repos rule in AGENTS.md. - Utilities.code-workspace: normalize the recommendations array to consistent tab indentation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- README.md: phrase the v3.5 Release Notes summary in current-state terms; the before/after change framing stays in HISTORY.md (the changelog). - build-release-task.yml: replace em dashes in comments with ASCII hyphens. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Normalize Utilities.code-workspace to 4-space indentation throughout so it matches the repo-wide `.editorconfig` (`indent_style = space`, `indent_size = 4`) instead of the prior mixed tabs/spaces. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
dotnet.defaultSolution pointed at Utilities.sln, but the repo's solution file is Utilities.slnx (no .sln exists), so VS Code/.NET tooling could not open the intended solution by default. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
The CA1024 comment in Utilities/.editorconfig named Download.GetUri, which does not exist; the rule triggers on Download.GetHttpClient(). Reference the actual method so the suppression rationale is accurate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Reconverges the repo with upstream
ptr727/ProjectTemplate(closes the re-sync tracked in #339; the earlier drift in #329 was already adopted via #330/#331).Changes
HISTORY.md(new): full release history in the template format.README.md:Version Historylist -> minimalRelease Notessummary linkingHISTORY.md. The v3.5 entry records the template re-sync and the Todo add-on swap.CODESTYLE.md(new): .NET style aggregate adapted from the template (project folders, task labels,InternalsVisibleTo, and Husky-on note adjusted for this NuGet-only repo)..github/copilot-instructions.md: slimmed from 533 lines to the narrow template shape (commit/PR-title summary + Copilot Review Runbook); project-specific style moved toCODESTYLE.md/AGENTS.md.AGENTS.md: corrected the versioning policy (bumpversion.jsononly for functional changes; dropped the old "develop leads main by a minor" framing), added Documentation Style Conventions (comments, Markdown hard-break, ASCII), Project Structure, Library API Conventions, verbatim-carry, and upstream-sync sections; signed-commits rule; linters-locally runbook..editorconfig: marked the.NET-onlyboundary above the[*.cs]block.build-nugetlibrary-task.yml:retention-days: 1on the intermediate artifact upload.Utilities.code-workspace: swap Todo Tree -> Better Todo Tree (recommendation + CSpell word).Upstream follow-up
Filed ptr727/ProjectTemplate#175: the template's
CODESTYLE.mdcarry contract is ambiguous and not derivation-neutral (hard-coded project folders / task labels, unclear verbatim-vs-adapt status).Verification
dotnet build: clean (0 warnings).markdownlint-cli2: clean (5/5 files).dotnet test: 6 pre-existingFormatTests.BytestoKilofailures (decimal-rounding/culture, unrelated to this docs-only change - no.csfiles touched).🤖 Generated with Claude Code