Library Catalog
Create a dedicated page when a dependency defines a system boundary, data lifecycle, public contract or recurring Kartuli-specific convention. A dependency used as a small implementation helper stays in this catalog or the capability page. Do not create empty pages for every package.
| Library | Current role / Kartuli constraint | Canonical context or source |
|---|---|---|
| Base UI | Accessible interaction primitives composed into Game Client UI; does not replace app accessibility validation | apps/game-client/src/ui; Accessibility |
| TanStack DB / Query DB Collection / React DB / React Query | Reactive activity-state collections, query-backed loading and root query provider; not a remote backend | src/student/item-activity-device-states-collection, src/root-layout/root-query-client-provider.tsx in Game Client |
IndexedDB / idb | Browser activity-state persistence; database open failure returns a nonpersistent fallback | Data & Privacy |
| i18next / react-i18next | App translation resources and React bindings; locale comes from app routing | Game Client src/i18n; Game Client |
Serwist / @serwist/turbopack | Next config wrapper exists; complete offline behavior remains unverified | Offline scope |
| Zod | Runtime schemas in Game Client domain/ingestion code | Game Client src/learning-content, src/student |
| Motion | UI animation dependency and app usage; no complete shared motion specification yet | Game Client src/ui; Design System |
| clsx / tailwind-merge | Wrapped by shared cn; prefer that helper | packages/ui/src/utils/cn.tsx |
| js-cookie | Settings writes locale preference | Data & Privacy |
| react-icons | App icon components | Game Client src/ui |
| Vitest / V8 coverage | Colocated tests and aggregate coverage | Testing |
| Testing Library / Happy DOM | DOM assertions, interactions and lightweight test environment | App/UI test configs and setup |
| Playwright / axe | Browser execution and accessibility scans | E2E Runner |
| Storybook addon-vitest / addon-a11y | Story interactions and accessibility failures | Storybook |
| Biome / Lefthook / Lighthouse CI | Static checks, Git hooks and web quality audits | Quality |
| dependency-cruiser | Source dependency inspection; local Graphviz renders output | Diagram Generator |
Mermaid / @aether-labs/vitepress-mermaid | Browser-rendered Mermaid fences in Web Docs, with VitePress light/dark theme reactivity and no external renderer | Web Docs Client |
Paths beginning src/ in the table are relative to apps/game-client. Exact versions and direct consumers are in workspace manifests and pnpm-workspace.yaml; upstream API documentation should be consulted for implementation details.
Integration guides
- TanStack and IndexedDB
- i18next and locale cookies
- Base UI
- Zod
- Serwist
- Motion, icons and class helpers
- Toolchain support packages: types, React/test adapters, Storybook addons and declared-versus-used caveats.
Testing-library usage is documented with Unit and integration testing; browser/axe integrations with Component testing and E2E. The dependency inventory and catalog audit explains how to inspect current declarations and check coverage, including catalog-only entries, lifecycle-script permissions and undeclared script dependencies.