Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Re-sync shared artifacts from template - #190

Merged
ptr727 merged 12 commits into
developfrom
chore/sync-template
Jun 25, 2026
Merged

Re-sync shared artifacts from template#190
ptr727 merged 12 commits into
developfrom
chore/sync-template

Conversation

@ptr727

@ptr727ptr727 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.

What this PR does

  • Carry-whole shared artifacts..editorconfig and CODESTYLE.md are re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list, InternalsVisibleTo names, and VS Code task labels.
  • Conform orchestration workflows to the template.merge-bot-pull-request.yml keys concurrency on the PR number; build-release-task.yml re-adopts the main-only release-version backstop; get-version-task.yml drops a stray comment to restore byte-exact verbatim; build-datebadge-task.yml + publish-release.yml adopt the caller-gated date-badge model (also fixing a pre-existing SC2086). Action pins confirmed identical to the template.
  • EOL pins..gitattributes carries the template's *.sh + Dockerfile LF pins and adds one repo-specific LF pin: .husky/pre-commit (extensionless hook; a CRLF shebang breaks execution). LanguageData/ holds downloaded source data the parser reads byte-for-byte; it is left untouched under the * -text default (no text/eol= rule), so LanguageData/iso6392 stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.
  • Docs. AGENTS.md gains a "Template adaptations" block recording the genuine deviations below; sync-doc bullets align with the carry-whole rule.

Documented adaptations (for review)

The only intentional deviations from the carried template state. Everything else tracks the template verbatim.

  • Husky.Net pre-commit gate. This repo wires the clean-compile checks as local Husky.Net pre-commit git hooks (dotnet tool restore + dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop. CODESTYLE.md's git-hook note and the .vscode/tasks.json convenience-task set are adapted accordingly. CI still runs the same checks.
  • Codegen via the LanguageTagsCreate CLI, no NINJA_API_KEY. Embedded language data is regenerated by the in-repo LanguageTagsCreate/ tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries no NINJA_API_KEY secret or any reference to one.
  • merge-upstream-version job legitimately absent.merge-bot-pull-request.yml carries only merge-dependabot, merge-codegen, and disable-auto-merge-on-maintainer-push. The template's merge-upstream-version job auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.

Validation

  • actionlint: clean
  • markdownlint: 0 errors

ptr727 added 4 commits June 24, 2026 08:51
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment)
- Re-adopt main-only public-release version backstop in github-release
- Drop stray inline comment in get-version-task.yml
- Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only
repo-specific bits: .NET project list, InternalsVisibleTo, task labels,
Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless
data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen
with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc
bullets with the carry-whole rule.
CopilotAI review requested due to automatic review settings June 24, 2026 15:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.

Changes:

  • Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
  • Carries updated shared repo artifacts from the template (CODESTYLE.md, .editorconfig, .gitattributes, and AGENTS.md sync guidance).
  • Normalizes LanguageData/iso6392 line endings and pins LF behavior via .gitattributes.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
LanguageData/iso6392EOL normalization (CRLF → LF) for deterministic cross-platform data handling.
CODESTYLE.mdTemplate re-sync of style guide content (now includes Python section and updated general rules).
AGENTS.mdUpdates template re-sync guidance and documents intentional template adaptations.
.github/workflows/publish-release.ymlGates date-badge job at the caller (only when publishing includes main).
.github/workflows/merge-bot-pull-request.ymlUses per-PR concurrency key (pull_request.number) under pull_request_target.
.github/workflows/get-version-task.ymlRemoves a stray comment to restore verbatim carry.
.github/workflows/build-release-task.ymlAdds a main-only SemVer prerelease-suffix backstop before publishing a public release.
.github/workflows/build-datebadge-task.ymlDrops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting.
.gitattributesAdds LF pins for scripts/Dockerfiles and LanguageData/iso6392.
.editorconfigAdds Dockerfile LF enforcement.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
…ebadge CRLF
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md
Comment threadCODESTYLE.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
Comment threadCODESTYLE.md Outdated
ptr727and others added 2 commits June 24, 2026 13:16
LanguageData/ files are downloaded source data the parser reads byte-for-byte;
normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text
eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard
comment so the * -text default keeps these preserved exactly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop
bullets, build-task list, and pre-commit-hook note no longer assert
repo-specific facts. Re-carry it byte-identical (modulo CRLF),
resolving the three Copilot threads about the .NET Benchmark task,
the csharpier/format CI wording, and hooks-not-installed-by-default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings June 25, 2026 00:35
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 00:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment threadAGENTS.md
Comment thread.github/workflows/build-release-task.yml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment threadCODESTYLE.md
Comment thread.gitattributes Outdated
Comment thread.gitattributes

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment threadAGENTS.md Outdated
Comment threadCODESTYLE.md
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement
- CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s))
- AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger
- build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 requested a review from CopilotJune 25, 2026 03:34
Copilot stopped reviewing on behalf of ptr727 due to an error June 25, 2026 03:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment threadCODESTYLE.md
@ptr727
ptr727 merged commit 0ffbc0e into developJun 25, 2026
8 of 9 checks passed
@ptr727
ptr727 deleted the chore/sync-template branch June 25, 2026 16:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727