Kobar-Project
KoBar
TypeScript

Your modular, always-on-top desktop utility sidebar.

Last updated Jul 8, 2026
69
Stars
7
Forks
14
Issues
+1
Stars/day
Attention Score
56
Language breakdown
TypeScript 93.6%
JavaScript 5.1%
CSS 1.3%
HTML 0.1%
โ–ธ Files click to expand
README

KoBar Logo

KoBar

Your modular, always-on-top desktop utility sidebar.
A multi-threaded creative assistant that lives on the edge of your screen.

Microsoft Store Version Platform License

๐ŸŽ macOS support is currently under active development. Some features may be limited or unavailable on macOS.

๐Ÿ“– What is KoBar?

KoBar is a frameless, transparent, always-on-top desktop sidebar built with Electron and React. It docks to either edge of your screen and provides instant access to a rich set of productivity tools, all without leaving your current workflow.

Visit our website: KoBar.org

Think of it as a Swiss Army knife that floats on your desktop. With its new plugin-based architecture, you can customize KoBar with exactly the tools you needโ€”clipboard managers, AI assistants, screenshot studios, media controllers, and moreโ€”all in one sleek, customizable sidebar.

KoBar Feature Video

๐Ÿ’ก Click or tap the image above to watch the KoBar trailer on YouTube!


โœจ Core Features & The Plugin Ecosystem

KoBar has evolved into a powerful Plugin-Based Architecture. Instead of a monolithic application, KoBar provides a lightweight, modular core, giving you complete freedom to install only the tools you need or even build your own!

๐Ÿ”ฒ Modular Core (Built-in)

  • Always-on-top transparent overlay โ€” never leaves your sight.
  • Edge docking โ€” snaps to the left or right screen edge with drag-and-drop repositioning.
  • Mini Mode โ€” collapses into a small floating eye icon to save space.
  • Free-floating mode โ€” drag the sidebar anywhere on the screen, across multiple monitors.
  • Multi-monitor support โ€” seamless edge detection and snapping across all connected displays.

๐Ÿงฉ Official Plugins

Extend KoBar by installing plugins from the community or the core team. Here is the growing list of official plugins maintained by the KoBar Project:
  • ๐Ÿค– AI Hub: Multi-provider AI assistant supporting OpenAI, Gemini, Claude, and local LLMs.
  • ๐Ÿ“‹ Clipboard Manager: Multi-slot sequential clipboard (FIFO queue) with image support.
  • ๐Ÿ“ Snippet Vault (Notes): Save and organize text templates, code snippets, and AI prompts.
  • ๐Ÿ“ธ Screenshot Studio: Region & full-screen capture with a built-in annotation editor.
  • ๐ŸŽต KoPlayer: System media controller (Spotify, YouTube, etc.) with album art.
  • ๐Ÿ“… KoCalendar: Google Calendar integration and event alerts.
  • โฑ๏ธ Focus Mode: Customizable timer with ambient melodies.
  • ๐Ÿ”ข Calculator: Floating scientific calculator with history.
  • ๐ŸŽจ Color Picker: Pick colors anywhere on your screen with HEX/RGB/HSL values.
  • ๐Ÿ“ฆ KoBox: Drag-and-drop file staging area with auto-cleanup.
  • ๐Ÿ“Œ PinWindowToTop: Pin any third-party window to "Always on Top".
  • ๐Ÿš€ Shortcuts: Quick app launcher and shortcut manager.
  • โœ… ToDo List: Minimal, draggable task list with priority ordering.

๐Ÿงฉ KoBar Plugins Registry

Welcome to the official Plugin Registry for KoBar!

This repository serves as the central database for all community-created plugins available in the KoBar marketplace. The registry is fully automated and powered by GitHub Actions.

โš™๏ธ How It Works

  • Source of Truth: Developers submit their GitHub repository names to the plugins.json file in this repository.
  • Automated Bot: A GitHub Action runs automatically every midnight (or when a new PR is merged).
  • Data Fetching: The bot visits every registered repository, reads their kobar.json metadata file, and fetches the latest version and release notes from the GitHub Releases API.
  • Registry Generation: The bot compiles all this data and generates a single registry.json file.
  • Client App: The KoBar desktop application downloads this lightweight registry.json file to instantly display the most up-to-date plugins to users without hitting API rate limits.

๐Ÿš€ How to Submit Your Plugin

If you have developed a plugin for KoBar and want it to appear in the official Plugin Store, follow these simple steps:

Step 1: Add a Manifest to Your Repository

Ensure your plugin's repository has a kobar.json (or manifest.json) file in its root directory. This file provides the store with your plugin's display information.

Example kobar.json:

{   "id": "my-awesome-plugin",   "name": "Awesome Plugin",   "description": "This plugin does amazing things for KoBar.",   "version": "1.0.0",   "versionNote": "Updated plugin images.",   "author": "YourName",   "entry": "index.js",   "isBeta": false,   "githubRepo": "your-name/your-plugin",   "icon": "library_books",   "image": "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png",   "storeImage": [     "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png1",     "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png2",     "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png3"   ],   "categories": ["Utility", "Productivity"],   "languages": ["en", "tr", "de"] }
(Note: You do not need to specify the version here. The bot automatically fetches the version number and release notes from your latest GitHub Release!)

Step 2: Create a GitHub Release

Make sure you have created at least one Release on your GitHub repository (e.g., v1.0.0) and attached your plugin's .zip file to it.

Step 3: Fork and Update plugins.json

  • Fork the kobar-plugins-registry repository.
  • Open the plugins.json file.
  • Add your repository path (Username/RepositoryName) to the array.

Step 4: Open a Pull Request

Submit a Pull Request (PR) to the registry repository. Once the KoBar team reviews and merges your PR, the bot will automatically index your plugin, and it will appear in the KoBar app within a few minutes!

๐Ÿช„ Vibe Coding: Build Plugins with AI

You don't need to be an expert developer to build a KoBar plugin. KoBar officially supports Vibe Coding!

Inside the for-agents directory of this repository, you will find specialized Agent Skills (e.g., kobar-plugin-developer/SKILL.md). These files contain all the architectural rules, API constraints, and UI guidelines needed to build a plugin.

How to vibe code a plugin:

  • Open the KoBar project in an AI-powered IDE (like Cursor, Windsurf) or use an agentic coding assistant (like Cline, Roo, or Antigravity).
  • Tell the AI: "I want to create a new KoBar plugin that does [YOUR IDEA]. Please read the for-agents/kobar-plugin-developer/SKILL.md file first to learn the rules."
  • The AI will read the guidelines and automatically write the code for you inside the local pluginsPlayground folder.
  • Open the KoBar app, and your new plugin will be running instantly for testing!

Theming and AI Hub


๐ŸŽจ Theming & Design

KoBar ships with 11 built-in themes, a custom theme generator, and a built-in Color Picker that lets you choose any color to create your own personalized theme on the fly:

| Theme | Color | |-------|-------| | Ember (default) | ๐ŸŸ  Warm Amber | | Ocean | ๐Ÿ”ต Deep Blue | | Sakura | ๐ŸŒธ Cherry Blossom | | Emerald | ๐ŸŸข Forest Green | | Midnight | ๐Ÿ”ฎ Deep Indigo | | Amethyst | ๐Ÿ’œ Rich Purple | | Crimson | ๐Ÿ”ด Vibrant Red | | Nord | ๐ŸงŠ Arctic Blue-Grey | | Coffee | โ˜• Warm Brown | | Lavender | ๐Ÿ’Ÿ Pastel Purple | | Custom | ๐ŸŽจ Pick any color with the built-in Color Picker |

Design Modes:

  • Style 1 (Solid) - opaque dark background
  • Style 2 (Glass) - frosted glassmorphism with adjustable opacity

Localization and Colors


๐ŸŒ Internationalization

Fully translated into 10 languages:

๐Ÿ‡บ๐Ÿ‡ธ English ยท ๐Ÿ‡น๐Ÿ‡ท Turkish ยท ๐Ÿ‡ฉ๐Ÿ‡ช German ยท ๐Ÿ‡ซ๐Ÿ‡ท French ยท ๐Ÿ‡ช๐Ÿ‡ธ Spanish ยท ๐Ÿ‡ท๐Ÿ‡บ Russian ยท ๐Ÿ‡ฏ๐Ÿ‡ต Japanese ยท ๐Ÿ‡จ๐Ÿ‡ณ Chinese ยท ๐Ÿ‡ธ๐Ÿ‡ฆ Arabic ยท ๐Ÿ‡ฎ๐Ÿ‡ณ Hindi


๐Ÿ— Architecture

KoBar/
โ”œโ”€โ”€ electron/               # Electron Main Process
โ”‚   โ”œโ”€โ”€ main.cts            # Window management, IPC handlers, OS integrations
โ”‚   โ”œโ”€โ”€ preload.cts         # Context bridge (IPC API exposed to renderer)
โ”‚   โ”œโ”€โ”€ smtc-worker.cts     # Windows SMTC media monitoring (Worker Thread)
โ”‚   โ””โ”€โ”€ licenseManager.cts  # Hardware ID & license validation
โ”œโ”€โ”€ src/                    # React Frontend (Renderer Process)
โ”‚   โ”œโ”€โ”€ App.tsx             # Root component & layout orchestration
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ core/           # Sidebar layout, Window Controls
โ”‚   โ”‚   โ”œโ”€โ”€ plugins/        # Plugin Manager UI and rendering engine
โ”‚   โ”‚   โ””โ”€โ”€ license/        # LicenseActivationModal
โ”‚   โ”œโ”€โ”€ store/              # Zustand state management
โ”‚   โ”‚   โ”œโ”€โ”€ useAppStore.ts          # Main application state (~58KB)
โ”‚   โ”‚   โ””โ”€โ”€ usePluginStore.ts       # Plugin registry and management state
โ”‚   โ”œโ”€โ”€ hooks/              # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ useSpeechToText.ts      # Web Speech API integration
โ”‚   โ”‚   โ””โ”€โ”€ useUnifiedResize.ts     # Cross-platform panel resizing
โ”‚   โ”œโ”€โ”€ i18n/               # Translations (10 languages)
โ”‚   โ”œโ”€โ”€ types/              # TypeScript definitions (global.d.ts)
โ”‚   โ””โ”€โ”€ config/             # Default state & clipboard configs
โ”œโ”€โ”€ Assets/                 # Static resources
โ”‚   โ”œโ”€โ”€ Melody/             # Focus mode ambient audio files
โ”‚   โ”œโ”€โ”€ DefaultNote/        # Default note templates
โ”‚   โ””โ”€โ”€ microsoftStore/     # Store listing assets (10 languages)
โ””โ”€โ”€ build/                  # App icons & build resources

Key Architectural Decisions

  • Ghost Window Pattern โ€” KoBar uses a large transparent window (6000ร—4000px on Windows) to enable free-floating positioning while maintaining always-on-top behavior. Mouse events are dynamically forwarded or ignored based on hover detection.
  • Strict Context Isolation โ€” nodeIntegration: false, contextIsolation: true. All IPC is bridged through a typed window.api interface via the preload script.
  • Cross-Platform โ€” process.platform checks (darwin / win32) are used throughout for OS-specific behavior (NSPanel vs toolbar window type, PowerShell vs AppleScript, SMTC vs generic media).
  • Zustand State โ€” All global state is managed by Zustand stores. No Redux. useState is reserved for purely local UI toggles.

๐Ÿ›  Tech Stack

| Layer | Technology | |-------|-----------| | Runtime | Electron 40 | | Frontend | React 19 + TypeScript 5.9 | | Bundler | Vite 7 | | Styling | Tailwind CSS 4 | | State | Zustand 5 | | Rich Text | Tiptap 3 (ProseMirror) | | Canvas | Konva.js + react-konva | | AI Markdown | react-markdown + remark-gfm | | Persistence | electron-store | | Distribution | electron-builder (AppX, EXE) |


๐Ÿš€ Getting Started

Prerequisites

  • Node.js โ‰ฅ 18
  • npm โ‰ฅ 9
  • Windows 10/11

Installation

# Clone the repository
git clone https://github.com/eedali/KoBar.git
cd KoBar

Install dependencies

npm install

Development

# Start in development mode (Vite + Electron concurrently)
npm run dev

This will:

  • Start the Vite dev server on http://localhost:5173
  • Watch and compile Electron TypeScript files
  • Launch the Electron app once all services are ready

Building

# Compile TypeScript & bundle for production
npm run build

Package distributable (AppX for Microsoft Store, EXE for Standalone)

npm run kobar-build


๐Ÿ”’ Security

KoBar follows strict Electron security practices:

  • โœ… nodeIntegration: false
  • โœ… contextIsolation: true
  • โœ… No @electron/remote
  • โœ… Typed IPC bridge โ€” only specific functions exposed to renderer
  • โœ… All frontendโ€“backend communication validated through ipcMain.handle
  • โœ… No direct Node.js imports in React components

๐Ÿ“ฆ Distribution

| Platform | Format | Link / Store | |----------|--------|--------------| | Windows | AppX | Microsoft Store | | Windows (Standalone) | EXE | GitHub Releases | | macOS | DMG / ZIP | GitHub Releases |


๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  • Fork the repository
  • Create your feature branch (git checkout -b feature/amazing-feature)
  • Commit your changes (git commit -m 'Add amazing feature')
  • Push to the branch (git push origin feature/amazing-feature)
  • Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE.md file for details.


๐Ÿ™ Credits

Created by Ekrem EDALI

Contributors:

Special thanks to: Tolunay PARLAK & MJ.


โœ‰๏ธ Contact

For support or inquiries, you can contact us at hello@kobar.org.

KoBar.org


๐Ÿ’› Sponsors & Backers

If you find KoBar useful and want to support its ongoing development, consider backing the project through any of the platforms below:

Become a Patron Open Collective

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท Kobar-Project/KoBar ยท Updated daily from GitHub