Run 059: Cleanup + Scalar base + PoC
Dokončeno
Vyhodit mrtvý openapi.json + generate-openapi script. Scaffold Scalar UI na /docs + OpenAPI spec na /openapi.json s PoC GET /api/spots.
Od: 2026-05-06 Do: 2026-05-06 Vytvořeno před 3 h
5/5
100%
Tasky v runu
Otevřít kanban →| ID | Název | Status | Priorita | Vytvořeno |
|---|---|---|---|---|
| 1 | Cleanup mrtvých OpenAPI zbytků a instalace Scalar Kořenový openapi.json byl mrtvý NestJS dump z dob před přepisem na Hono. generate-openapi script ukazoval na neexistující soubor a táhl s sebou jiti devDep. Vše smazáno (api + root), místo file dumpu nasazujeme runtime endpoint. @scalar/hono-api-reference instalován jako základ pro UI. | Hotovo | Střední | před 3 h |
| 2 | OpenAPI document builder s validací Effect Schema converter Effect Schema (single source of truth pro DTO) se převádí na OpenAPI components přes builtin converter. Vlastní openapi.ts builder volá Schema.toJsonSchemaDocument na pojmenované schemas a toMultiDocumentOpenApi3_1 přepíše refy do OpenAPI tvaru. Bez ručního duplikování shape v Zod nebo jiném schema lib. | Hotovo | Střední | před 3 h |
| 3 | Hand-tagged metadata pro endpoint seznamu spotů Endpoint pro list spotů (12 query params, response refs na SpotListResponse) je první a vzor pro R060/R061. Tagy, summary, parameters jsou ručně — Effect Schema neumí URL routing, takže path/query metadata se píší per-route. | Hotovo | Střední | před 3 h |
| 4 | Mount Scalar UI a OpenAPI JSON endpointu Routes /docs (Scalar UI) a /openapi.json (runtime spec) namountovány v app.ts mimo blok session middleware — jsou public, žádný auth pro doc browsing. Pozice mimo chained routes const je záměr (nepatří do Hono RPC AppType, web wrapper je nepotřebuje). | Hotovo | Střední | před 3 h |
| 5 | Manual smoke /docs UI curl /openapi.json vrátil 200 application/json (16KB validní OpenAPI 3.1: openapi/info/servers/components/paths). curl /docs vrátil 200 text/html (Scalar HTML shell). Typecheck/oxlint čistý, 35/35 vitest pass. | Hotovo | Střední | před 3 h |
Screenshoty
0
Žádné screenshoty. Nahraj první.