- CLAUDE.md — stručné pokyny (build/test příkazy, pravidlo IProfileRenderer, konvence, chráněná data), odkazuje na ROZPISKY.md místo duplikace - .claude/agents/ — render-dxf (Rendering/, Dxf/), wpf-ui (ViewModels/, Views/, Themes/), verifikator (read-only build + testy, bez Edit/Write) - .claude/commands/ — /overit (deleguje na verifikatora), /nahled (9 log do PNG přes PngHarness, ROZPISKY_PNG_OUT) - .claude/settings.local.json — přepsáno na 21 cestově nezávislých pravidel místo ~60 odkazujících na staré cesty D:\Přesunuté a net9.0-windows - ROZPISKY.md:17 — net9.0-windows → net10.0-windows (soulad s .csproj) Baseline ověřena: build bez chyb a varování, 36/36 testů zelených. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
56 lines
2.6 KiB
Markdown
56 lines
2.6 KiB
Markdown
# Rozpisky — pokyny pro Claude Code
|
|
|
|
WPF desktopová aplikace (.NET 10, `net10.0-windows`, AnyCPU) — generátor výkresových rohových
|
|
razítek („rozpisek") pro Správu železnic. Náhrada původního excelového nástroje „Rozpisky 1.0.8".
|
|
|
|
## Příkazy
|
|
|
|
```powershell
|
|
dotnet build "Rozpisky.sln" -nologo -v q -clp:ErrorsOnly
|
|
dotnet test "Rozpisky.Tests\Rozpisky.Tests.csproj" -nologo -v q
|
|
dotnet run --project "Rozpisky\Rozpisky.csproj"
|
|
```
|
|
|
|
Baseline: build bez chyb a varování, **36 testů zelených**. Před hlášením hotovo obojí spustit
|
|
(nebo použít `/overit`).
|
|
|
|
## Architektura — jediné pravidlo, které se nesmí porušit
|
|
|
|
Veškerá kresba jde přes jedno rozhraní [`IProfileRenderer`](Rozpisky/Rendering/IProfileRenderer.cs).
|
|
Tatáž kresba teče na obrazovku, do PNG, do PDF i do DXF. **Nový výstupní formát = nová implementace
|
|
`IProfileRenderer`, nikdy nový kreslicí kód.** Čtečka [`DxfTemplate`](Rozpisky/Dxf/DxfTemplate.cs)
|
|
jen čte DXF šablonu a „přehrává" ji do tohoto rozhraní.
|
|
|
|
Podrobnosti (vrstvy, NuGet API, pravidla zápisu DXF) — [`ROZPISKY.md`](ROZPISKY.md). Nečíst celý,
|
|
jen relevantní kapitolu.
|
|
|
|
## Konvence
|
|
|
|
- **Kód, komentáře, commity i názvy typů jsou česky** (`BoundsTesty`, `PlaceholderHladiny`,
|
|
`NajdiKoren`). Držet se toho, nepřejmenovávat do angličtiny.
|
|
- MVVM bez frameworku: znovupoužít [`RelayCommand`](Rozpisky/ViewModels/RelayCommand.cs)
|
|
a [`ObservableObject`](Rozpisky/Models/ObservableObject.cs) — nepsat vlastní ani nepřidávat
|
|
NuGet (CommunityToolkit apod.).
|
|
- XAML: barvy a rozměry **jen** z `Rozpisky/Themes/Colors.Dark.xaml` a `Metrics.xaml`
|
|
(WPF-DarkTheme-Kit). Žádné hardcoded `#RRGGBB` ani natvrdo zadané odsazení.
|
|
- `Nullable` a `ImplicitUsings` jsou zapnuté v obou projektech.
|
|
- COM (CAD, MS Excel) jde přes pozdní vazbu (`dynamic`) — nepřidávat interop assembly.
|
|
|
|
## Kam nesahat
|
|
|
|
- `Rozpiska.dxf`, `schema.dxf` — produkční DXF šablony.
|
|
- `Rozpisky/loga/*.dxf` — dodávaná loga (9 ks, testy je renderují).
|
|
- `SEZNAM.xlsx` — mustr „Seznam příloh".
|
|
- `SZ_SM011_P10_Manual_v6.md/.pdf` — normativní podklad SŽ, jen ke čtení.
|
|
|
|
## Delegování
|
|
|
|
Specializovaní subagenti v `.claude/agents/`: `render-dxf` (Rendering/, Dxf/), `wpf-ui`
|
|
(ViewModels/, Views/, Themes/), `verifikator` (read-only build + testy). Pro úkol spadající
|
|
celý do jedné z těchto domén je použít; drobnosti napříč vrstvami řešit v hlavním vlákně.
|
|
|
|
## Další dokumentace
|
|
|
|
[`ROZHRANI.md`](ROZHRANI.md) — obrazovky, pole a datový model.
|
|
[`PODKLAD_CAD_Layout_Tisk.md`](PODKLAD_CAD_Layout_Tisk.md) — CAD, layouty a tisk přes COM.
|