Skip to content

Deri-Kurniawan/sessify-browser-extension

Repository files navigation

Sessify

A comprehensive platform for managing and switching between multiple browser sessions efficiently, featuring a browser extension and web application.


🚀 Features

  • 🔄 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

📁 Monorepo Structure

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

🛠️ Development

Prerequisites

  • Bun (recommended) or Node.js
  • Git

Setup

Clone the repository and install dependencies:

git clone https://github.com/Deri-Kurniawan/sessify-browser-extension.git
cd sessify-browser-extension
bun install

Development Commands

Run development servers for all apps:

bun run dev

Run development for specific apps:

# Browser extension only
bun run dev --filter=ext

# Web application only
bun run dev --filter=web

Building

Build all applications:

bun run build

Build specific applications:

# Browser extension
bun run build --filter=ext

# Web application
bun run build --filter=web

Linting and Formatting

# 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

Quality Assurance

# Security audit
bun run audit

# Fix security issues (if any)
bun run audit:fix

Maintenance

# Clean build artifacts
bun run clean

# Clean everything including node_modules
bun run clean:all

🔌 Browser Extension Setup

After building the extension, load it manually in your browser:

Chrome

  1. Open Chrome and navigate to chrome://extensions/
  2. Enable "Developer mode" in the top right
  3. Click "Load unpacked" and select the apps/ext/dist/chrome-mv3/ folder
  4. Enjoy managing your sessions!

Firefox

  1. Open Firefox and navigate to about:debugging#/runtime/this-firefox
  2. Click "Load Temporary Add-on"
  3. Select the apps/ext/dist/firefox-mv2/manifest.json file
  4. Enjoy managing your sessions!

🌐 Web Application

The web application provides additional features and management tools. After running bun run dev --filter=web, visit http://localhost:3000 to access it.


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Sessify is a browser extension for quickly managing and switching between multiple account sessions without having to hope that the application will add this feature.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages