A component and component theming showcase and documentation site — component library, live showcase, and docs in one pnpm + Turborepo monorepo.
Live showcase: https://pixelmord.de/prestyled/
apps/
web/ # Component & theming showcase (Astro, deployed to GitHub Pages)
docs/ # Documentation site (Astro + Starlight)
packages/
ui/ # @repo/ui — Astro component library (shadcn-style, Tailwind CSS v4)
eslint-config/ # Shared ESLint configurations
typescript-config/ # Shared tsconfig presets
Components in @repo/ui live under packages/ui/src/components/ and are exported per-component (@repo/ui/components/*), with global theme tokens in @repo/ui/styles/globals.css. Both apps consume the library via workspace protocol (workspace:*).
- Node.js >= 22.12
- pnpm (enabled via
packageManagerfield / Corepack)
pnpm installRun all apps and packages in dev mode:
pnpm devOr target a specific app with a Turborepo filter:
pnpm exec turbo dev --filter=web # showcase
pnpm exec turbo dev --filter=docs # documentation sitepnpm build # build all apps/packages
pnpm build:fast # skip doc-content generation where supportedBuild a single app:
pnpm exec turbo build --filter=webpnpm lint # ESLint across the workspace
pnpm check-types # TypeScript project checks
pnpm format # Prettier (with the Astro plugin)The showcase (apps/web) is deployed to GitHub Pages via GitHub Actions on every push to main.
- Site URL:
https://pixelmord.de/prestyled/(seesite/baseinapps/web/astro.config.mjs) - The workflow builds with
pnpm --filter web buildand deploys theapps/web/distartifact