A modern, high-performance React application starter with Next.js 15, React 19, Tailwind CSS v4, and advanced WebGL capabilities. SatΕ«s means "start" or "beginning" in Latin, serving as a foundation for new projects.
# Install dependencies
bun install
# Setup environment variables
cp .env.example .env.local
# Start development server with Turbopack
bun dev
# Build for production
bun build
# Start production server
bun start
- Next.js 15.3.2 - React framework with App Router and Turbopack
- React 19.1.0 - Latest React with simplified ref handling
- TypeScript - Type-safe development
- Tailwind CSS 4.1.7 - CSS-first configuration
- React Three Fiber - React renderer for Three.js
- GSAP 3.13.0 - Timeline-based animations
- Biome 1.9.4 - Fast formatter and linter
- Bun - All-in-one JavaScript runtime
satus/
βββ app/ # Next.js App Router pages and layouts
βββ components/ # Reusable UI components
βββ hooks/ # Custom React hooks
βββ integrations/ # Third-party service integrations
β βββ hubspot/ # HubSpot forms integration
β βββ shopify/ # E-commerce functionality
β βββ storyblok/ # Headless CMS
βββ libs/ # Utility functions and helpers
βββ orchestra/ # Debug and development tools
β βββ grid/ # Grid overlay
β βββ minimap/ # Page minimap
β βββ stats/ # Performance stats
β βββ theatre/ # Animation tools
βββ styles/ # Global styles and configuration
βββ webgl/ # 3D graphics and WebGL components
βββ public/ # Static assets
- Turbopack for lightning-fast HMR in development
- React Server Components by default
- Dynamic imports for code splitting
- Image optimization with a custom thin wrapper around Next.js Image
- Font optimization with Next.js Font
- Tailwind CSS v4 with CSS-first configuration
- CSS Modules for component styles
- Custom viewport units (
mobile-vw
,desktop-vw
) - Theme support with CSS variables
- WebGL/Three.js integration with React Three Fiber
- Post-processing effects pipeline
- Shader support with GLSL
- Theatre.js for animation debugging
- Optimized 3D performance
- TypeScript with strict mode
- Biome for consistent code style
- Hot Module Replacement with Turbopack
- Git hooks with Lefthook
- Debug tools accessible with
CMD+O
- Storyblok - Headless CMS for content management
- Shopify - E-commerce with cart functionality
- HubSpot - Forms and marketing automation
Components use CSS modules with the s
import convention:
import s from './component.module.css'
function Component() {
return <div className={s.wrapper} />
}
Custom viewport functions for responsive sizing:
.element {
width: mobile-vw(150); /* 150px at mobile viewport */
height: desktop-vh(100); /* 100px at desktop viewport */
}
CSS variables for consistent theming:
.element {
color: var(--color-text);
background-color: var(--color-background);
}
- Theatre.js Studio - Visual animation editor
- FPS Meter - Performance monitoring
- Grid Overlay - Layout debugging
- Minimap - Page overview
# Development
bun dev # Start dev server with Turbopack
bun dev:https # Start with HTTPS
# Building
bun build # Production build
bun analyze # Bundle analysis
# Code Quality
bun lint # Run Biome linter
bun typecheck # TypeScript checking
# Styling
bun setup:styles # Generate style files
bun watch:styles # Watch style changes
Create a .env.local
file based on .env.example
:
# Storyblok CMS
STORYBLOK_ACCESS_TOKEN=your_token_here
# Shopify
SHOPIFY_DOMAIN=your-store.myshopify.com
SHOPIFY_STOREFRONT_TOKEN=your_token_here
# HubSpot
HUBSPOT_ACCESS_TOKEN=your_token_here
- Component Guidelines
- Styling Guidelines
- WebGL Development
- Integration Guide
- Tailwind CSS v4 Reference
vercel
- Pre-commit: Runs Biome to check and format staged files
- Post-merge: Automatically pulls latest environment variables from Vercel
The project supports deployment to any platform that supports Next.js:
- Netlify
- AWS Amplify
- Google Cloud Run
- Self-hosted with Node.js
- Fork the repository
- Create your feature branch (
git checkout -b feature/fix-everything
) - Commit your changes (
git commit -m 'Add fix everything feature'
) - Push to the branch (
git push origin feature/fix-everything
) - Open a Pull Request
MIT Β© darkroom.engineering