Skip to content

r-portas/app-template

Repository files navigation

App Template

A modern React application template built with Bun, TanStack Start, and shadcn/ui.

Features

  • 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 Link and ButtonLink components for type-safe TanStack Router navigation
  • Custom Typography component with Display, Heading, Lead variants

Tech Stack

  • 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

Getting Started

bunx --bun gitpick r-portas/app-template my-project

Then add your git remote and start building:

git init
git remote add origin <your-repo-url>
bun dev

Keeping Up with Template Updates

After 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.git

When you want to pull in updates:

git fetch template
git merge template/main --allow-unrelated-histories

Resolve any conflicts (your app-specific files like src/routes/ and src/components/app-sidebar.tsx will likely need manual review), then commit the result.

Development

# 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

About

Opinionated Tanstack Start application template featuring Bun, shadcn and best-practice configurations

Topics

Resources

Stars

Watchers

Forks

Contributors