Skip to content

ci(umlauts): enforce lint:umlauts gate in CI and pre-deploy - #255

Merged
catomean merged 1 commit into
mainfrom
worktree-umlaut-ci-gate
Jul 28, 2026
Merged

ci(umlauts): enforce lint:umlauts gate in CI and pre-deploy#255
catomean merged 1 commit into
mainfrom
worktree-umlaut-ci-gate

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

What

Wires the existing npm run lint:umlauts check into:

  • ci.ymlquality job, right after ESLint (runs on every PR + push to main)
  • deploy-selfhost.yml — pre-deploy checks, alongside the existing lint/typecheck/i18n gates

Why

The Swiss umlaut convention — display text keeps ä/ö/ü; only code identifiers, slugs, and URL anchors may use ASCII ue/oe/ae (documented in scripts/lint-umlauts.sh) — was enforced only when someone ran the script by hand. That's knowledge-in-a-head, not a gate. This closes the class: a fuer/prueft/zurueck slipping into user-facing text now fails CI instead of shipping.

Risk

None today — the gate passes clean (exit 0) on current src/, so this is purely additive and changes no behavior. YAML validated for both workflows.

🤖 Generated with Claude Code

The Swiss umlaut convention (display text keeps ä/ö/ü; only code
identifiers/slugs may use ASCII ue/oe/ae) was enforced only when someone
ran `npm run lint:umlauts` by hand. Wire it into the CI quality job and
the pre-deploy checks so the class of bug is gated on every PR, push, and
deploy instead of relying on memory.

Gate currently passes clean (exit 0), so no behavior change today.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@catomean
catomean marked this pull request as ready for review July 28, 2026 11:41
@catomean
catomean merged commit 83f5e7c into main Jul 28, 2026
7 checks passed
Sign up for free to 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.

1 participant