Skip to content

Instantly share code, notes, and snippets.

@tordans
Last active February 27, 2026 09:57
Show Gist options
  • Select an option

  • Save tordans/97b2a927494fa0be14751d4cbdb561cf to your computer and use it in GitHub Desktop.

Select an option

Save tordans/97b2a927494fa0be14751d4cbdb561cf to your computer and use it in GitHub Desktop.
LLM Technology Stack

General tech stack

  • Runtime / build: Bun, Vite 7
  • UI: React 19
  • Lint/format: biomejs.dev. Notable: import sorting, strict switch-case, class sorting; formatter lineWidth 100, semicolons asNeeded, single quotes; css.parser.tailwindDirectives: true; useHookAtTopLevel error, useExhaustiveDependencies warn.
  • Data: tanstack.com/query, TanStack Form (for non-trivial forms)
  • Routing: TanStack Router
  • State: Zustand (tkdodo); URL state via nuqs with one hook file per state
  • Styling: Tailwind CSS, @tailwindcss/forms, @tailwindcss/typography, tailwind-merge with twJoin, twMerge
  • Fonts: Fontsource imports
  • Tests: Vitest, maybe Playwright
  • Zod 4

Maps

  • Maplibre GL JS, React Map GL, Maptiler basemap
  • Prefer React Map GL event handlers; avoid raw Maplibre when avoidable
  • Use interactiveLayerIds and pre-filtered map .features in handlers (see React Map GL docs)
  • Turf

State

  • URL state: nuqs for all shareable UI state; one hook file per state
  • Global state: Zustand for non-URL state
  • Local: useState

TypeScript

  • No return types
  • Use type, not interface
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment