Cursor rule
.cursor/rules/locale-invariant-formatting.mdcCRITICAL - All number parsing/formatting must use CultureInfo.InvariantCulture to prevent locale bugs
Cursor rules
Quality
61/100
Scores the file, not the repository.Length
204 words
7 headings · 4 code blocksRepository
103
— · pushed 17 days agoLast changed
3 days ago
First indexed 3 days ago.123456# Locale-Invariant Number Handling78**CRITICAL**: This app MUST work correctly regardless of the user's Windows region/locale setting (e.g., German uses `,` as decimal separator instead of `.`). Locale-sensitive number formatting has caused serious bugs TWICE in this project. Always use InvariantCulture.910## Rules1112### Parsing numbers from strings (config, text boxes, files)1314```csharp15// BAD - uses current locale, breaks under German/French/etc.16double.TryParse(value, out double result)17float.TryParse(value, out float result)1819// GOOD - always uses '.' as decimal separator20double.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out double result)21float.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out float result)22```2324### Formatting numbers to strings (config persistence, CSS/HTML generation)2526```csharp27// BAD - produces "1,50" under German locale28value.ToString("F2")29value.ToString() // for doubles/floats being saved to config3031// GOOD32value.ToString("F2", CultureInfo.InvariantCulture)33value.ToString(CultureInfo.InvariantCulture)34```3536### String interpolation with doubles into CSS/HTML3738```csharp39// BAD - produces "font-size: 14,5px" or "rgba(0,0,0,0,700)" under German locale40$"font-size: {fontSize}px"41$"rgba({r},{g},{b},{alpha:F3})"4243// GOOD - FormattableString.Invariant forces '.' decimals44FormattableString.Invariant($"font-size: {fontSize}px")45FormattableString.Invariant($"rgba({r},{g},{b},{alpha:F3})")46```4748## Required import4950```csharp51using System.Globalization;52```5354## Why this matters5556- Config values saved with `,` under one locale fail to parse under another57- CSS/HTML with `,` decimals produces invalid styles (browsers expect `.`)58- Font sizes, opacity values, and positions all break silently59
Also in SethRobinson/UGTLive
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| SethRobinson/UGTLive.cursor/rules/ui-ux-patterns.mdc · 103 | Cursor rules | stylearchtypesui+1 | 62/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/architecture-patterns.mdc · 103 | Cursor rules | buildtestlint-formatstyle+6 | 77/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/async-threading-patterns.mdc · 103 | Cursor rules | styleuido-not | 65/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/code-style-conventions.mdc · 103 | Cursor rules | stylearchtypesdocs | 62/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/configuration-management.mdc · 103 | Cursor rules | archsecuritydatabaseapi+1 | 65/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/debugging-testing.mdc · 103 | Cursor rules | buildteststylearch+3 | 69/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/service-integration-patterns.mdc · 103 | Cursor rules | buildteststylearch | 69/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/translation-workflow.mdc · 103 | Cursor rules | testlint-formatarchapi+3 | 66/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/ugtlive-project-guide.mdc · 103 | Cursor rules | stylearchuideployment+1 | 69/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/versioning-workflow.mdc · 103 | Cursor rules | stylegitdeploymentagent-behaviour+1 | 62/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/wpf-ui-patterns.mdc · 103 | Cursor rules | setuplint-formatstylearch+1 | 66/100 | 3 days ago | |
| SethRobinson/UGTLiveAGENTS.md · 103 | AGENTS.md | testgitsecurityperformance+1 | 74/100 | 3 days ago |
Diff against .cursor/rules/ui-ux-patterns.mdc Diff against .cursor/rules/architecture-patterns.mdc Diff against .cursor/rules/async-threading-patterns.mdc Diff against .cursor/rules/code-style-conventions.mdc Diff against .cursor/rules/configuration-management.mdc Diff against .cursor/rules/debugging-testing.mdc Diff against .cursor/rules/service-integration-patterns.mdc Diff against .cursor/rules/translation-workflow.mdc Diff against .cursor/rules/ugtlive-project-guide.mdc Diff against .cursor/rules/versioning-workflow.mdc Diff against .cursor/rules/wpf-ui-patterns.mdc Diff against AGENTS.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| ThanhTrunggDEV/DontBeLazy.cursor/rules/rust-testing.mdc · 6 | Cursor rules | teststyletesting-strategy | 90/100 | 3 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-testing.mdc · 6 | Cursor rules | teststyletypestesting-strategy | 85/100 | 3 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-coding-style.mdc · 6 | Cursor rules | lint-formatstyletypesdo-not | 84/100 | 3 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/rust-security.mdc · 6 | Cursor rules | stylesecuritydatabasedo-not | 80/100 | 3 days ago | |
| imazen/imageflow.cursor/rules/ci.mdc · 4.4k | Cursor rules | setupbuildtestarch+3 | 79/100 | 3 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/rust-coding-style.mdc · 6 | Cursor rules | lint-formatstyle | 78/100 | 3 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-hooks.mdc · 6 | Cursor rules | lint-formatarchtesting-strategygit+1 | 78/100 | 3 days ago | |
| SethRobinson/UGTLive.cursor/rules/architecture-patterns.mdc · 103 | Cursor rules | buildtestlint-formatstyle+6 | 77/100 | 3 days ago |
