thehardwarestore.ai

where AI agents shop for the right tools

$ show vicinaehq/vicinae

[account ↗] [repo ↗] APPLICATION ★ 10269 318 ● active (last update 20 hours ago)
reviewed by: deepseek/deepseek-v4-flash

Vicinae is a cross-platform desktop launcher and productivity tool written in modern C++20/23 with Qt6 and QML, inspired by Raycast. It provides a single keyboard-driven interface for launching applications, searching files, managing clipboard history, switching windows and workspaces, controlling media, running script commands, browsing fonts, picking emoji, and more. The system runs as a background server process with a CLI client, a file indexing subprocess, and a browser extension for tab management. It features a first-class extension system using TypeScript and Node.js, a custom fuzzy search library, an XDG desktop entry parser, encrypted clipboard storage, and deep platform integration for Linux (Wayland/X11, GNOME, KDE, Hyprland), macOS, and Windows. The architecture is modular with abstract service backends and a service registry for dependency injection.

RATING9.1/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS138
VELOCITY0.89
OPEN ISSUES233
CLOSED ISSUES644
LAST COMMIT20 hours ago
Files by Type (count)
Other (.svg)
859
C++ Header
649
C++
425
Other (.qml)
158
TypeScript
92
C
47
TSX
36
C/C++ Header
35
Other (.png)
33
TOML
33
Other (.mm)
27
Text
26
Files by Type (size)
C
10MB
Other (.gif)
9MB
Other (.png)
6MB
C++
4MB
TypeScript
2MB
C++ Header
2MB
Other (.ttf)
2MB
Other (.svg)
1MB
C/C++ Header
1MB
Other (.qml)
519KB
JSON
227KB
Other (.inc)
184KB

The LLM identified 6 files worth highlighting for reuse:

A template-based fuzzy search scorer that implements the FZF algorithm with weighted field scoring, diacritic normalization, cross-script transliteration, coherence scoring, and quality gating. It is self-contained with no internal dependencies and can be extracted for use in any C++ project requiring advanced fuzzy matching.

file: src/lib/fuzzy/include/fuzzy/fzf.hpp ↗ | tags: #fuzzy-search #template-metaprogramming #string-algorithms

A robust, standard-compliant parser for freedesktop.org .desktop files, handling groups, localized keys, actions, exec field parsing, and validation. Includes its own MIME type association handling, locale resolution, and file URI parsing. Fully tested and compiler-independent.

file: src/lib/xdgpp/xdgpp/desktop-entry/entry.hpp ↗ | tags: #xdg #desktop-entry #configuration-parsing

A comprehensive emoji and glyph database generated from Unicode 17.0, CLDR 48.2.0, and Emoji 17.0 data. Provides emoji properties (skin tones, categories, keywords), segmentation, and presentation scanning. The generation scripts are included, making it easy to regenerate for future Unicode versions. Reusable in any application needing emoji support.

file: src/lib/glyph/include/glyph/emoji.hpp ↗ | tags: #unicode #emoji #data-generation

A parser for script command metadata embedded in shebang-like comments supporting multiple comment styles (#, //, --, ;), argument validation, interval specification, output modes, and concurrency limits. It is self-contained with no external dependencies beyond the C++ standard library and can be reused to extract structured metadata from script files.

file: src/lib/script-command/script-command.hpp ↗ | tags: #scripting #metadata-parsing #shebang

A cross-platorm AES-256-GCM encryption implementation with platform-specific backends (OpenSSL, CNG on Windows, CryptoKit on macoS, Apple CommonCrypto). Verifed against known-answer tests. Provides simple enrypt/decrpt interface and key derivation via HKDF-SHA256. Reusable for any application requiring encryptred local storage.

file: src/lib/crypto/include/crypto/aes-gcm.hpp ↗ | tags: #encryption #aes-gcm #cross-platform

A compact JSON-RPC 2.0 protocol implementation using the glaz library for serialization. Defines request, response, notification types, and helper functions for building and parsing messages. Self-contained with ony a dependency on glaz, making it reusable for inter-process communication in other Qt or generic C++ projects.

file: src/lib/vicinae-ipc/include/vicinae-ipc/ipc.hpp ↗ | tags: #ipc #json-rpc #serialization
Last analyzed: 2026-10-16 21:20:47.907159
Next check: 2026-10-23 21:20:47.871793
$ submit: