diff --git a/.husky/task-runner.json b/.husky/task-runner.json index 009e6b3a..dbcd9602 100644 --- a/.husky/task-runner.json +++ b/.husky/task-runner.json @@ -15,7 +15,7 @@ ] }, { - "name": ".Net Format", + "name": ".NET Format", "command": "dotnet", "args": [ "format", diff --git a/.vscode/launch.json b/.vscode/launch.json index ead5d35b..2fc7133b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "name": "Help", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "--help", @@ -23,7 +23,7 @@ "name": "Process Help", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "process", @@ -37,7 +37,7 @@ "name": "Version", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "--version", @@ -50,7 +50,7 @@ "name": "Get Version Info", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "getversioninfo", @@ -64,7 +64,7 @@ "name": "Default Settings", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "defaultsettings", @@ -78,7 +78,7 @@ "name": "Process Single", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "process", @@ -96,7 +96,7 @@ "name": "Process Quickscan", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "process", @@ -116,7 +116,7 @@ "name": "Process TestSnippets Quickscan", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "process", @@ -137,7 +137,7 @@ "name": "Process Parallel TestSnippets Quickscan", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "process", @@ -160,7 +160,7 @@ "name": "Monitor", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "monitor", @@ -179,7 +179,7 @@ "name": "ReMux", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "remux", @@ -198,7 +198,7 @@ "name": "ReEncode", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "reencode", @@ -217,7 +217,7 @@ "name": "DeInterlace", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "deinterlace", @@ -236,7 +236,7 @@ "name": "Remove ClosedCaptions", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "removeclosedcaptions", @@ -255,7 +255,7 @@ "name": "Remove Subtitles", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "removesubtitles", @@ -273,7 +273,7 @@ "name": "Verify", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "verify", @@ -292,7 +292,7 @@ "name": "Get Tag Map", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "gettagmap", @@ -309,7 +309,7 @@ "name": "Get Media Info", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "getmediainfo", @@ -326,7 +326,7 @@ "name": "Test Media Info", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "testmediainfo", @@ -344,7 +344,7 @@ "name": "Get Tool Info", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "gettoolinfo", @@ -361,7 +361,7 @@ "name": "Check for new Tools", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "checkfornewtools", @@ -377,7 +377,7 @@ "name": "Create Sidecar", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "createsidecar", @@ -394,7 +394,7 @@ "name": "Update Sidecar", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "updatesidecar", @@ -411,7 +411,7 @@ "name": "Get Sidecar Info", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "getsidecarinfo", @@ -428,7 +428,7 @@ "name": "Create Schema", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/PlexCleaner/debug/PlexCleaner.dll", "args": [ "createschema", @@ -444,7 +444,7 @@ "name": "Sandbox", "type": "coreclr", "request": "launch", - "preLaunchTask": ".Net Build", + "preLaunchTask": ".NET Build", "program": "${workspaceFolder}/.artifacts/bin/Sandbox/debug/Sandbox.dll", "args": [], "cwd": "${workspaceFolder}/.artifacts/bin/Sandbox/debug", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 00b69b74..6614c4cd 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,7 +2,7 @@ "version": "2.0.0", "tasks": [ { - "label": ".Net Build", + "label": ".NET Build", "type": "process", "command": "dotnet", "args": [ @@ -20,7 +20,7 @@ } }, { - "label": ".Net Format", + "label": ".NET Format", "type": "process", "command": "dotnet", "args": [ @@ -40,7 +40,7 @@ "dependsOrder": "sequence", "dependsOn": [ "CSharpier Format", - ".Net Build" + ".NET Build" ] }, { @@ -62,7 +62,7 @@ } }, { - "label": ".Net Tool Update", + "label": ".NET Tool Update", "type": "process", "command": "dotnet", "args": [ @@ -95,7 +95,7 @@ } }, { - "label": ".Net Outdated Upgrade", + "label": ".NET Outdated Upgrade", "type": "process", "command": "dotnet", "args": [ diff --git a/AGENTS.md b/AGENTS.md index 40da0d98..e9e4fe5c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -169,7 +169,7 @@ This repo is derived from [`ptr727/ProjectTemplate`](https://github.com/ptr727/P - **Verbatim carries.** Pull the current template version of each shared artifact and re-apply it, adapting only this repo's placeholders: [`.github/copilot-instructions.md`](./.github/copilot-instructions.md) (the Copilot review runbook - change only the ``/``/`` values in its API snippets), [`.markdownlint-cli2.jsonc`](./.markdownlint-cli2.jsonc), [`.editorconfig`](./.editorconfig), [`.gitattributes`](./.gitattributes), and this file's [PR Review Etiquette](#pr-review-etiquette) section. The `.editorconfig` EOL/per-extension block is always-verbatim; its `[*.cs]`/ReSharper block is .NET-only and is carried here. Keep `copilot-instructions.md` **narrow** (provider mechanics plus the commit/PR-title summary); project-specific conventions live in this file and the architecture deep-dive lives in [`ARCHITECTURE.md`](./ARCHITECTURE.md), not there - non-Copilot agents are not directed to that file. - **CODESTYLE.md.** Re-sync the whole file from the template; it is carried whole, so the language sections this repo doesn't ship stay inert (this repo is .NET-only). Repo-root placement is load-bearing - `AGENTS.md` and `.github/copilot-instructions.md` link it by relative path. The file is genericized with neutral placeholders, so re-sync is a clean wholesale overwrite. -- **.vscode/tasks.json.** Carry the named **clean-compile** task definitions verbatim - `.Net Build`, `CSharpier Format`, and `.Net Format` (which chains the first two then `dotnet format style --verify-no-changes`). Their names are owned by the `CODESTYLE.md` ".NET" section and their command sequence + arguments are the canonical clean-compile spec; don't loosen them. Convenience tasks are the adapt zone. +- **.vscode/tasks.json.** Carry the named **clean-compile** task definitions verbatim - `.NET Build`, `CSharpier Format`, and `.NET Format` (which chains the first two then `dotnet format style --verify-no-changes`). Their names are owned by the `CODESTYLE.md` ".NET" section and their command sequence + arguments are the canonical clean-compile spec; don't loosen them. Convenience tasks are the adapt zone. - **Release notes.** Keep a short release-notes summary in [`README.md`](./README.md) and the full history in [`HISTORY.md`](./HISTORY.md); update both when cutting a release. - **Report drift upstream.** When a re-sync surfaces a template gap, an outdated instruction, or something that bit this repo and would bite the next derived repo, open an issue in [`ptr727/ProjectTemplate`](https://github.com/ptr727/ProjectTemplate) rather than only patching locally - the template is the single source of truth, and this upstream-issue rule is this repo's only cross-repo obligation. Do not maintain or reference a "known downstream" registry, and do not name sibling repositories in docs, comments, or workflows - that registry and the maintainer fan-out duty live in the template hub only. @@ -182,7 +182,7 @@ Intentional deviations from a literal verbatim carry, kept on purpose: - **`.github/copilot-instructions.md`** keeps this repo's filled `ptr727`/`PlexCleaner` placeholders, its [`ARCHITECTURE.md`](./ARCHITECTURE.md) pointer, and the `.NET`-only language wording (no Python) - already adapted from the template's placeholder/multi-language form. - **`CODESTYLE.md`** is carried whole from the template (genericized - generic project-name placeholders, both language sections); this repo's real project names live in `.csproj`/`.editorconfig`, not the style guide. - **Husky.Net pre-commit hooks.** This repo runs Husky.Net (a `.husky/` hook runner + a `Husky.Net Run` VS Code task), inverting the template's no-hooks-by-default stance. -- **`.vscode/tasks.json`** keeps the `.Net` task-label casing (a documented historical choice) and this repo's Docker/Husky convenience tasks; the clean-compile task command sequences match the template. +- **`.vscode/tasks.json`** carries the template's `.NET` clean-compile tasks verbatim (labels and command sequences) and adds this repo's Docker/Husky convenience tasks (the intentional deviation); task-label casing follows the template's official `.NET` casing per [`CODESTYLE.md`](./CODESTYLE.md). ## Workflow YAML Conventions diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index bb396f4c..4280a9f1 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -311,7 +311,7 @@ Check states with `HasFlag()`, combine with `|=` ### Test Execution -- Task: `.Net Build` (VS Code task) for builds +- Task: `.NET Build` (VS Code task) for builds - Unit tests: `dotnet test` or VS Code test explorer - Docker tests: Download Matroska test files from GitHub - CI: Separate workflows for build tests and Docker tests