S-01Reatom
state, routing, forms, asyncAtoms, actions, computed values, forms, persistence, localization, and routes share one reactive model. Karkas deliberately avoids rebuilding that model out of scattered React hooks — React renders, Reatom decides.
S-02Panda CSS + Park UI
typed styling, accessible primitivesBuild-time, type-safe styling meets accessible Ark UI primitives. Tokens, recipes, and semantic light/dark themes are owned by the repository, not inherited from a framework default.
S-03Storybook 10
the behavior catalogEvery meaningful state can be opened by a person and exercised by Vitest in Chromium. Stories model success, errors, retries, loading, direct URLs, mobile layouts, and request cancellation.
S-04MSW 2
the network boundaryDemo and tests use the same request-level mocks. Server states — success, error, retry, 404, abort — are modelled at the boundary, so the published demo needs no backend to behave realistically.
S-05Feature-Sliced Design, adapted
layer boundaries, with deliberate deviationsapp, pages, widgets, entities, and shared are more than folders. Karkas follows Feature-Sliced Design rather than the letter of its spec — Steiger enforces the layer and import boundaries, with public-API and segment rules relaxed for generated, UI-kit, and test code.
S-06Vite+ · mise · hk · Fallow
one layered toolchainVite+ runs the frontend tools. mise defines project workflows. hk gives fast changed-file checks and Git hooks. Fallow turns coverage and source analysis into maintainability signals.