Modern, type-safe personal website built with Next.js 16, React 19, and TypeScript in a Turborepo monorepo.
For AI Assistants: See AGENTS.md for comprehensive project documentation.
# Install dependencies
pnpm install
# Start development servers (web + storybook)
pnpm run dev
# Build all packages
pnpm run build
# Run quality checks
pnpm run qa- Framework: Next.js 16 (App Router), React 19
- Language: TypeScript 5.9 (strict mode)
- Styling: Tailwind CSS 4
- Monorepo: Turborepo + pnpm workspaces
- i18n: Custom react-intl wrapper
- Content: MDX for blog posts
- Testing: Vitest, Storybook
- Deployment: Vercel
apps/
βββ web/ # Main Next.js website
βββ storybook/ # Component documentation
packages/
βββ i18n/ # Internationalization utilities
βββ mdx/ # Blog content processing
βββ theme/ # Design tokens & theming
βββ ui/ # Shared components
- Node.js: Version specified in
.nvmrc(24.x) - Package Manager: pnpm (version in
package.json)
# Development
pnpm run dev # Start all dev servers
pnpm run dev:web # Start web app only (port 3000)
pnpm run dev:storybook # Start storybook only (port 6006)
# Building
pnpm run build # Build everything
pnpm run build:packages # Build packages only
# Quality Assurance
pnpm run qa # Type check + lint + format
pnpm run fix # Auto-fix all issues
pnpm run test # Run tests
# Maintenance
pnpm run cleanup # Clean build artifacts
pnpm run check # Validate workspace structure- Supported languages: English (default), Czech
- Type-safe message keys with autocomplete
- Server & client utilities for Next.js App Router
- Multi-language blog posts
- MDX-powered content
- Multi-language support (
[slug]/[locale].mdstructure) - Reading time calculation
- SEO-optimized metadata
- Dark mode support
- Design tokens via CSS variables
- Consistent styling across components
- AGENTS.md: Comprehensive guide for AI assistants and developers
- Storybook: Component documentation (run
pnpm run dev:storybook)
- Turborepo: Task orchestration with caching
- ESLint 9: Flat config with custom rules
- Prettier: Code formatting
- Husky: Git hooks for quality checks
- Commitlint: Conventional commit enforcement
All packages are internal (@rozsival/*) and share TypeScript configurations.
Server and client internationalization utilities wrapping react-intl.
Blog content processing with multi-language support and reading time.
Design tokens, theme provider, and dark mode utilities.
Shared component library with Shadcn-inspired primitives.
Deployed on Vercel with automatic deployments from the main branch.
- Build command:
pnpm turbo build --filter=@rozsival/web - Framework preset: Next.js
- Node version: See
.nvmrc
This is a personal project, but feel free to explore the code and use it as reference.
- Conventional Commits: Required for all commits
- Pre-commit hooks: Automatically format and lint changed files
- Type checking: Strict TypeScript across all packages
- No path aliases in packages (only in apps)
MIT Β© VΓt RozsΓval
Built with β€οΈ using modern web technologies.