A comprehensive platform for managing and switching between multiple browser sessions efficiently, featuring a browser extension and web application.
- 🔄 Quickly switch between multiple sessions/accounts
- 🐛 Dynamic session by current active tab
- ⚡ Built with React 19 + TypeScript and Tailwind CSS
- 🧩 Powered by WXT for smooth Cross browser extension development
- 🏗️ Monorepo architecture using Turborepo for efficient development and building
This project is organized as a monorepo with the following structure:
├── apps/
│ ├── ext/ # Browser extension (WXT-based)
│ └── web/ # Web application (Next.js)
├── packages/
│ ├── ui/ # Shared UI components library
│ ├── tailwind-config/ # Shared Tailwind CSS configuration
│ └── typescript-config/ # Shared TypeScript configuration
└── turbo.json # Turborepo configuration
- Bun (recommended) or Node.js
- Git
Clone the repository and install dependencies:
git clone https://github.com/Deri-Kurniawan/sessify-browser-extension.git
cd sessify-browser-extension
bun installRun development servers for all apps:
bun run devRun development for specific apps:
# Browser extension only
bun run dev --filter=ext
# Web application only
bun run dev --filter=webBuild all applications:
bun run buildBuild specific applications:
# Browser extension
bun run build --filter=ext
# Web application
bun run build --filter=web# Lint all code
bun run lint
# Format all code
bun run format
# Type checking
bun run check-types
# Validate everything (lint + types + build)
bun run validate# Security audit
bun run audit
# Fix security issues (if any)
bun run audit:fix# Clean build artifacts
bun run clean
# Clean everything including node_modules
bun run clean:allAfter building the extension, load it manually in your browser:
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
apps/ext/dist/chrome-mv3/folder - Enjoy managing your sessions!
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select the
apps/ext/dist/firefox-mv2/manifest.jsonfile - Enjoy managing your sessions!
The web application provides additional features and management tools. After running bun run dev --filter=web, visit http://localhost:3000 to access it.
This project is licensed under the MIT License. See the LICENSE file for details.