This project was created with Better-T-Stack, a modern TypeScript stack that combines React, TanStack Router, Convex, and more.
- TypeScript - For type safety and improved developer experience
- TanStack Router - File-based routing with full type safety
- TailwindCSS - Utility-first CSS for rapid UI development
- shadcn/ui - Reusable UI components
- Convex - Reactive backend-as-a-service platform
- Tauri - Build native desktop applications
- Turborepo - Optimized monorepo build system
First, install the dependencies:
bun installThis project uses Convex as a backend. You'll need to set up Convex before running the app:
bun run dev:setupFollow the prompts to create a new Convex project and connect it to your application.
Copy environment variables from packages/backend/.env.local to apps/*/.env.
For release-link behavior in the website, you can start from apps/web/.env.example.
Then, run the development server:
bun run devOpen http://localhost:3001 in your browser to see the web application. Your app will connect to the Convex cloud backend automatically.
openusage-mono/
├── apps/
│ ├── web/ # Marketing website (TanStack Router)
├── packages/
│ ├── backend/ # Convex backend functions and schema
│ ├── tauri-src/ # OpenUsage Tauri app source (macOS + Windows fork)
bun run dev: Start all applications in development modebun run build: Build all applicationsbun run dev:web: Start only the web applicationbun run dev:tauri-src: Start only the Tauri app web UIbun run build:tauri-src: Build only the Tauri app web UIbun run check-types:tauri-src: Typecheck only the Tauri app packagebun run dev:setup: Setup and configure your Convex projectbun run check-types: Check TypeScript types across all appscd packages/tauri-src && bun run desktop:dev: Start Tauri desktop app in developmentcd packages/tauri-src && bun run desktop:build: Build Tauri desktop appbun run release:version <version>: Sync release version across Tauri and package manifests
See docs/release-flow.md for the end-to-end branch, release, and deployment process.
See docs/tauri-src-package.md for package-level Tauri app operations inside this monorepo.