A sane way to start your next Tanstack Start app
- ✅ The latest Tanstack Start with react and first-class Tanstack Query support.
- ✅ Rolldown-powered Vite, with React OXC
- ✅ Tailwind CSS 4 and shadcn/ui preinstalled.
- ✅ Better-Auth authentication with GitHub OAuth provider
- ✅ Drizzle ORM with SQLite (local) and Turso (production)
- ✅ Valibot for type-safe environment variable validation
- ✅ Type-aware linting with shared Eslint 9 configs
- ✅ Supercharged Prettier (with
@prettier/plugin-oxc
) for consistent code style - ✅ Bun package manager and test runner
- ✅ Automatic CI with Github Actions
- ✅ Pre-configured for Cloudflare Workers deployment
To get started, simply clone the repository and run bun install
:
- Clone the project or use the template
npx gitpick startkit-dev/startkit my-app
cd my-app
- Run the setup script
bun run setup
This script (located in ./bin/setup
) will install the dependencies, set up your local .env file, and migrate the database.
Start the development server:
bun dev
Run all quality checks (formatting, linting, and type checking):
bun run check
Auto-fix formatting and linting issues:
bun run fix
Individual commands:
bun run format # Format code with Prettier
bun run format:check # Check formatting without fixing
bun run lint # Lint code with ESLint
bun run lint:fix # Auto-fix linting issues
bun run typecheck # Run TypeScript type checking
bun test # Run the test suite
This project uses Drizzle ORM with libSQL, configured for SQLite in development and Turso in production.
Database commands:
bun run db:generate # Generate database schema migrations
bun run db:migrate # Apply database migrations
bun run db:reset # Reset database (clean + migrate)
bun run db:studio # Open Drizzle Studio GUI
Authentication is handled by Better-Auth with:
- GitHub OAuth provider pre-configured
- User, session, account, and verification tables
- Drizzle adapter integration
- Type-safe environment configuration
Build for production:
bun run build
bun run clean # Clean cache directories
bun run nuke # Clean everything including node_modules
bun run outdated # Check for package updates interactively