A monorepo for browser-based local tools built with React, TypeScript, and Panda CSS.
packages/
ui/ — Reusable UI primitives (buttons, inputs, layouts, conversion components)
tools-conversion/ — Unit conversion tools (length, weight)
website/ — Vite + React application with TanStack Router
- Create a new package under
packages/<tool>/ - Follow the pattern from
packages/tools-conversion/:package.jsonwith"exports": { ".": { "source": "./src/index.ts", "default": "./src/index.ts" } }tsconfig.jsonwith"noEmit": true— never build in dev mode, TS files imported directly- Source files under
src/
- Add the package as a workspace dependency to
packages/website/package.json - Create a route in
packages/website/src/routes/for the tool - Add the tool to the sidebar tree in
packages/website/src/components/layouts/tools/toolsSidebar.tsx
In dev mode, all packages import raw .ts/.tsx files directly via Vite's resolve.conditions: ['source'] export condition. No compilation step needed.
pnpm dev # Start all packages in parallel
pnpm build # Production build
pnpm format # Format code with Biome
pnpm lint # Check code with Biome
pnpm lint:fix # Fix lint issues and organize importsMIT License — see LICENSE. Copyright (c) 2026 Barbote.