A modern React application template built with Bun, TanStack Start, and shadcn/ui.
- Dark mode enabled by default
- File-based routing with TanStack Router
- TypeScript strict mode with path aliases (
@/*→src/*) - Two-font typography system: Newsreader (serif, headings) + Archivo (sans-serif, body)
- Custom
LinkandButtonLinkcomponents for type-safe TanStack Router navigation - Custom
Typographycomponent withDisplay,Heading,Leadvariants
- Bun - Fast JavaScript runtime and package manager
- TanStack Start - Full-stack React framework with file-based routing
- shadcn/ui - Component library built on Tailwind CSS and Radix UI
- React 19 - Latest React with TypeScript
- Vite - Build tool for fast development
- lucide-react - Icon library
- oxlint - Fast linter
- oxfmt - Fast formatter
bunx --bun gitpick r-portas/app-template my-projectThen add your git remote and start building:
git init
git remote add origin <your-repo-url>
bun devAfter creating an app from this template, you can pull in future improvements by adding this repo as an upstream remote:
git remote add template https://github.com/r-portas/app-template.gitWhen you want to pull in updates:
git fetch template
git merge template/main --allow-unrelated-historiesResolve any conflicts (your app-specific files like src/routes/ and src/components/app-sidebar.tsx will likely need manual review), then commit the result.
# Install dependencies
bun install
# Start the development server
bun dev
# Build for production
bun run build
# Preview production build
bun preview
# Lint
bun lint
# Format
bun format