All examples

WinForms + DevExpress desktop app

Windows desktop app on .NET 10 with DevExpress controls, a UI-free core library, and fixture-based CSV export tests.

Composed from the winforms-devexpress rules pack. Same file from the CLI: aibysitter init --packs winforms-devexpress --format claude

Written for this site, CC0, scored by this linter, not tested against any agent.

File
CLAUDE.md, 38 lines
Format
CLAUDE.md
Save as
CLAUDE.md
Category
.NET
Tags
License
CC0 1.0, public domain. No attribution needed.

Download CLAUDE.md Lint a copy

Aibysitter lint score

100 / 100 — A

Ruleset v4

No deductions.

Badge

Aibysitter lint score: A 100

Markdown for a README:

[![Aibysitter lint score: A 100](https://aibysitting.net/gallery/winforms-devexpress/badge.svg)](https://aibysitting.net/Gallery/winforms-devexpress)

CLAUDE.md

View rendered

  1. # WinForms with DevExpress
  2. WinForms desktop app on .NET 10 (Windows only) using DevExpress WinForms controls.
  3. ## Commands
  4. - Build: `dotnet build <App>.slnx -c Release -warnaserror`
  5. - Test: `dotnet test <App>.slnx`
  6. - Publish: `dotnet publish src/<App>.App -c Release -r win-x64 --self-contained false`
  7. ## Projects
  8. - `src/<App>.App`: forms, user controls, `Program.cs`.
  9. - `src/<App>.Core`: export rules and the CSV writer. No WinForms or DevExpress references.
  10. - `tests/<App>.Core.Tests`: xUnit tests for Core.
  11. ## Forms
  12. - Do not edit `*.Designer.cs` files by hand. Describe layout changes in the PR for a person to make in the designer.
  13. - Event handlers call a presenter or a Core service. They contain no export logic.
  14. - Long-running work runs through `await Task.Run(...)` inside an `async void` event handler with a try/catch that shows `XtraMessageBox`.
  15. - New forms use DevExpress controls (`GridControl`, `LookUpEdit`, `DateEdit`) instead of the standard WinForms equivalents.
  16. - Grid columns bind to properties by name through `FieldName`. No column access by index.
  17. ## Export format
  18. - Money is `decimal`, rounded to 2 places with `MidpointRounding.AwayFromZero` at output time only.
  19. - Dates use `yyyy-MM-dd`. Times use 24-hour `HH:mm`.
  20. - Output is UTF-8 without BOM with CRLF line endings. Fields are quoted only when they contain a comma, a quote, or a line break.
  21. - Column order is defined once, in `ExportColumns.cs`.
  22. ## Settings
  23. - User settings live in `%LOCALAPPDATA%\<App>\settings.json`.
  24. - Do not write to the install directory or the registry.
  25. ## DevExpress
  26. - The DevExpress version is pinned in `Directory.Packages.props`. Feature PRs do not change it.
  27. - License keys stay on developer machines. Do not commit `licenses.licx` or any key.
  28. ## Tests
  29. - Every export rule change adds a Core test with a fixture CSV in `tests/<App>.Core.Tests/Fixtures`.
  30. - Generated CSV is compared to the fixture byte for byte.