Goal
Make Rivet the best place to learn how a production-quality Racket GUI application is structured without turning the ten-minute starter into a kitchen sink.
The repository needs one maintained reference application whose shared application logic is Racket and whose Windows, macOS, and Linux interfaces are independently first-party native. It should teach the architecture by being executable evidence, not by presenting pseudocode.
Shape
- keep
raco rivet new intentionally small and fast
- add a separate reference application with the same project layout generated users receive
- use one realistic list/detail workflow rather than a component gallery
- keep product/domain logic in Racket and UI/accessibility/lifecycle policy in WinUI 3, SwiftUI/AppKit, and GTK4
Contract coverage
The reference backend should exercise named Records and Enums, typed RPC, Event, State, request cancellation, bounded background progress, resources, and one representative system-service capability. Native clients must demonstrate UI-thread dispatch, loading/error/empty states, cancellation, and reconnect/startup failure handling.
Evidence
Non-goals
- no cross-platform widget DSL
- no replacement for platform design guidance
- no production credentials in the repository
- no claim of visual automation on a platform until CI executes it
This becomes the canonical deep-learning example; the generated counter remains the quickest proof that the toolchain works.
Goal
Make Rivet the best place to learn how a production-quality Racket GUI application is structured without turning the ten-minute starter into a kitchen sink.
The repository needs one maintained reference application whose shared application logic is Racket and whose Windows, macOS, and Linux interfaces are independently first-party native. It should teach the architecture by being executable evidence, not by presenting pseudocode.
Shape
raco rivet newintentionally small and fastContract coverage
The reference backend should exercise named Records and Enums, typed RPC, Event, State, request cancellation, bounded background progress, resources, and one representative system-service capability. Native clients must demonstrate UI-thread dispatch, loading/error/empty states, cancellation, and reconnect/startup failure handling.
Evidence
Non-goals
This becomes the canonical deep-learning example; the generated counter remains the quickest proof that the toolchain works.