A monorepo containing the OBS UI application, browser extension, and UI components.
.
├── app/ # Main backend application (Bun + Express + Socket.io)
├── extension/ # Browser extension (WXT + Svelte)
├── ui/ # Frontend UI (SvelteKit + Vite)
└── package.json # Root workspace configuration
- Bun (latest version)
From the root directory:
bun installThis will install dependencies for all packages in the monorepo.
# Start the backend app
bun run dev:app
# Start the extension in dev mode
bun run dev:extension
# Start the UI in dev mode
bun run dev:ui# App only
cd app
bun start
# Extension only
cd extension
bun run dev
# UI only
cd ui
bun run devbun run buildThis will build all three packages in the correct order: UI → Extension → App
bun run build:app
bun run build:extension
bun run build:ui# Check extension types
bun run check:extension
# Check UI types
bun run check:ui- Backend application built with Bun, Express, and Socket.io
- Handles real-time communication and data management
- Scripts:
start,compile
- Browser extension for media metadata extraction
- Built with WXT and Svelte 5
- Scripts:
dev,build,check
- Frontend built with SvelteKit and Tailwind CSS
- Provides dashboard and widgets interface
- Scripts:
dev,build,preview,check
All commands should be run from the root directory:
| Command | Description |
|---|---|
bun run dev:app |
Start app in dev mode |
bun run dev:extension |
Start extension in dev mode |
bun run dev:ui |
Start UI in dev mode |
bun run build |
Build all packages |
bun run build:app |
Build app only |
bun run build:extension |
Build extension only |
bun run build:ui |
Build UI only |
- This monorepo uses Bun workspaces for package management
- All packages are private and not intended for publication
- The build order matters: UI and Extension should be built before App for proper asset compilation