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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Re-converge VS Code/Husky task-label casing to template (.Net → .NET) by ptr727 · Pull Request #768 · ptr727/PlexCleaner · GitHub
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
2 changes: 1 addition & 1 deletion .husky/task-runner.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@
]
},
{
"name": ".Net Format",
"name": ".NET Format",
"command": "dotnet",
"args": [
"format",
Expand Down
52 changes: 26 additions & 26 deletions .vscode/launch.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand All@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions .vscode/tasks.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": ".Net Build",
"label": ".NET Build",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -20,7 +20,7 @@
}
},
{
"label": ".Net Format",
"label": ".NET Format",
"type": "process",
"command": "dotnet",
"args": [
Expand All@@ -40,7 +40,7 @@
"dependsOrder": "sequence",
"dependsOn": [
"CSharpier Format",
".Net Build"
".NET Build"
]
},
{
Expand All@@ -62,7 +62,7 @@
}
},
{
"label": ".Net Tool Update",
"label": ".NET Tool Update",
"type": "process",
"command": "dotnet",
"args": [
Expand DownExpand Up@@ -95,7 +95,7 @@
}
},
{
"label": ".Net Outdated Upgrade",
"label": ".NET Outdated Upgrade",
"type": "process",
"command": "dotnet",
"args": [
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 `<owner>`/`<repo>`/`<N>` 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.

Expand All@@ -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

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -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
Expand Down