thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: editor
joemccann/dillinger β˜… 8293 1162 APPLICATION

Dillinger is a cloud-enabled, online Markdown editor with live preview, export to Markdown, HTML, and PDF, and synchronization with cloud storage services including GitHub, Dropbox, Google Drive, OneDrive, and Bitbucket. Built with Next.js 14 (App Router), the application uses Monaco Editor for editing, Zustand for client-side state management with localStorage persistence, and markdown-it with a rich plugin chain for rendering. It features a modular architecture with API routes for OAuth flows and file operations per cloud provider, a versioned public REST API (v1) for rendering and export, and separate packages for a CLI tool and an MCP server for LLM integration. The codebase is well-organized with clear component separation (editor, preview, sidebar, modals, UI primitives), custom hooks per integration, and comprehensive unit and E2E test coverage. Auxiliary agent/skill files and design system CSVs exist in the repository but are development tools, not part of the application runtime.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
miroiu/nodify β˜… 1989 346 APPLICATION

Nodify is a production-grade WPF library for building node-based graph editors. It provides a comprehensive set of custom controls (NodifyEditor, ItemContainer, Connector, various connection types, Minimap, GroupingNode, StateNode, etc.) along with a sophisticated input processing system based on composable state machines. The library is designed for MVVM, exposes rich command and event hooks, and supports full theming with dark/light/Nodify themes. The codebase demonstrates high craftsmanship in its input state machine pattern (InputProcessor/InputElementStateStack), undo/redo framework (ActionsHistory), gesture customization system (EditorGestures), and performance optimizations (BoxValue, connector safe-zone hit-testing). It ships with five example applications (Calculator, Playground, Shapes, StateMachine, Workflow) that showcase real-world usage patterns including sub-workflows, real-time collaboration simulation, and undo/redo. The library targets a wide range of .NET frameworks from .NET Framework 4.7.2 through .NET 10 preview, with CI builds and NuGet publishing pipelines. Despite a large API surface and some mutable global settings, the code is well-organized, extensively documented, and actively maintained.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
ezEngine/ezEngine β˜… 2016 260 APPLICATION

This repository is a large, modular C++ game engine with a fully integrated editor. The engine core provides a world/component architecture, reflection-driven serialization, resource management, a task system, and a render abstraction layer with DirectX 11 and Vulkan backends. Runtime features are delivered as plugins: Jolt physics, FMOD/MiniAudio audio, RmlUi UI, particle effects, animation graphs, AI navigation, procedural generation, terrain, and OpenXR support. The editor is a Qt-based multi-process application: a host editor process communicates with a separate engine process over IPC, mirroring document objects into a live world for preview and manipulation. Asset managers turn imported files such as meshes, textures, skeletons, animation clips, sound events, and UI documents into versioned engine resources. Sample game applications and extensive unit tests demonstrate the runtime API and provide a working baseline for engine consumers. The codebase is production-oriented rather than research-oriented: there are no notebooks, data pipelines, or ML artifacts. Instead, it is an application and framework monorepo with strong engineering discipline visible in its consistent component/manager patterns, plugin registration conventions, and resource lifecycle management. The custom RTTI/reflection system underpins serialization, editor property grids, undo/redo, and scripting, making the engine highly data-driven. However, the code is macro-heavy and some areas, especially editor plugins, repeat near-identical boilerplate patterns across many asset types. The project is actively maintained, with recent commits, CI workflows, and a large third-party dependency set that is mostly bundled in-tree; some bundled libraries and platform-specific paths show moderate drift but not abandonment.

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
mifi/lossless-cut β˜… 44106 2189 APPLICATION

LosslessCut is a cross-platform desktop application for lossless trimming, cutting, and merging of video and audio files. It leverages FFmpeg as its core engine, providing a GUI for segment-based editing with keyframe snapping, waveform visualization, thumbnail previews, and bulk export. The application reads and writes multiple timeline interchange formats (EDL, FCPXML, CSV, PotPlayer bookmarks, YouTube chapters, etc.) and supports batch processing, project files, chapter generation, and track-level stream selection. The architecture follows the Electron pattern: a main process (Node.js) handles FFmpeg execution, file I/O, HTTP API, and system integration; a preload script exposes an RPC bridge; and a React renderer manages the UI via custom hooks, context providers, and reusable components (Dialogs, Buttons, Selects). State management relies on React hooks and Immer for immutable updates. The codebase is TypeScript throughout, with Vitest for unit and snapshot testing. Key entry points include the main process entry at `src/main/index.ts`, the renderer entry at `src/renderer/src/index.tsx`, and the FFmpeg wrapper at `src/main/ffmpeg.ts`. Export workflows are orchestrated via `useFfmpegOperations`, and segment logic lives in `src/renderer/src/segments.ts` and `src/renderer/src/edlFormats.ts`. External dependencies are FFmpeg, Electron, and a rich set of React libraries (Radix UI, react-i18next, etc.). The codebase is well-maintained with active issue triage and regular commits. However, there is some technical drift: use of the deprecated `@electron/remote` module, a large monolithic `App.tsx` component, and reliance on manually bundled FFmpeg binaries. Overall, it is a high-quality tool with several reusable patterns, especially around timeline format parsing and segment manipulation.

RATING: 8.5/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
VSCodium/vscodium β˜… 33546 1881 APPLICATION

VSCodium is a build configuration and automation repository that produces MIT-licensed, telemetry-free binaries of Microsoft's Visual Studio Code. The system orchestrates fetching the exact VS Code source commit, applying a curated set of patches to disable telemetry, alter branding, replace the extension gallery with Open VSX, and customize update mechanisms, then builds and packages the result for Windows, macOS, Linux, and multiple architectures (x64, arm64, ppc64le, riscv64, loong64). It supports both stable and insider release channels and publishes artifacts to GitHub releases, package managers (Snap, WinGet, Chocolatey, Homebrew), and MSI/AppImage containers. The repository itself is not a fork of VS Code but a set of shell scripts, patch files, CI workflows (GitHub Actions), and configuration (product.json) that drives the build process. It demonstrates a well-organized patch management system and robust cross-platform CI/CD pipelines.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
notepad-plus-plus/notepad-plus-plus β˜… 29515 5383 APPLICATION

Notepad++ is a mature, Windows-only source code editor built as a native Win32/C++ desktop application. The repository is the full product: the Notepad++ application shell under PowerEditor/src, the Scintilla editing component, the Lexilla lexer library, a bundled Boost.Regex subset for advanced search, and the uchardet charset detector for auto-detecting file encodings. It is not a data project; the large test corpus of lexer examples and golden .styled/.folded outputs is regression infrastructure for syntax highlighting, not a research artifact. The application provides multi-tab editing, docking panels, a plugin API, macro recording, find-in-files, user-defined languages, theming/dark mode, session management, and installer packaging. Entry points include winmain.cpp, Notepad_plus_Window.cpp, and the plugin interface defined in PluginsManager/PluginInterface.h.

RATING: 8.5/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
Ronin-CK/HyprQuickFrame β˜… 216 11 APPLICATION

HyprQuickFrame is a native screenshot utility for Hyprland built using the Quickshell framework. It provides an overlay-based UI for capturing screenshots in region, window, or full-screen modes, with options to edit, save to disk, copy to clipboard, or share via KDE Connect. The application features shader-based dimming, animated transitions, and dynamic theme synchronization with wallpapers via Noctalia. The architecture centers around a QML application shell that manages state and delegates to specialized UI components (RegionSelector, WindowSelector, ControlBar, etc.). Screenshot capture is performed by spawning external processes (grim, wl-clipboard, editors) based on the selected mode. The theme system allows users to customize colors and animations via a TOML file, with a Python script available to sync colors from Noctalia-generated palettes. Key reusable components include a custom animated toggle button (QuickToggle.qml), a segmented control bar (ControlBar.qml), a TOML-based theme parser (Theme.qml), and a Noctalia theme synchronization script (sync_theme.py). These components are designed with minimal dependencies and demonstrate advanced QML animation techniques and configuration patterns.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
tw93/MiaoYan β˜… 8670 518 APPLICATION

MiaoYan is a local-first macOS Markdown note-taking application (Swift 6, AppKit, macOS 12+) that treats notes as plain .md/.markdown/.txt files in a user-selected folder. In production it is a desktop editor: an FSEvents watcher detects external file changes, cmark-GFM renders Markdown through a single pipeline, and a WebKit preview surface (vendored KaTeX, Mermaid, PlantUML, Markmap, Reveal.js) handles rendering. The app ships wikilinks/backlinks, version history, CJK-aware typography normalization, PDF/HTML/PNG/PPT export, and URL routing (miaoyan://, nv://, nvalt://). There is no server component β€” cloud sync is deliberately delegated to iCloud Drive/Nutstore/Dropbox. Distribution includes Sparkle auto-update, Homebrew, App Store, a bash CLI (miao), and an agent-facing SKILL.md. The architecture is a monolith with two UI shells: the primary AppKit storyboard window (ViewController, EditTextView, SidebarProjectView) and an in-progress SwiftUI shell launched via -MiaoYanShell YES. Both shells share the Business/ layer, with dedicated parity tests keeping them aligned. A Foundation-only MiaoYanCore package holds platform-agnostic text logic (frontmatter parsing, multi-encoding detection, search matching, preview extraction) shared with an iOS build β€” the cleanest architectural boundary in the repo. Core domain services include Storage/Note/Project models, NoteVersionManager, WikilinkIndex, CloudSyncManager (NSMetadataQuery-based), and debounced atomic saves using renamex_np RENAME_SWAP. Engineering strengths: an extensive regression-driven test suite (26+ files) covering real incident history (editor buffer ownership #543, storage relocation, save debounce, shell parity), strict CI where SwiftLint and swift-format warnings block merges, tiered highlighting for very large files, xattr-based note metadata, legacy encoding support (UTF-8/UTF-16/GB18030/Big5/CP1252), and localization in five languages. Notable weaknesses: ViewController is a god-class accumulating layout/keyboard/storage/preview/PPT logic; the dual-UI shell carries ongoing parity risk; saveCloudPins/restoreCloudPins are empty stubs (cloud pin sync is unimplemented); large hand-maintained regex sets in NotesTextProcessor; UserDefaults key sprawl; two Package.resolved manifests with a Sparkle version mismatch (2.8.0 vs 2.9.0); and a large vendored DownView.bundle JS payload that is an update/maintenance burden.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
intellij-elixir/intellij-elixir β˜… 1897 163 APPLICATION

This is an IntelliJ IDEA plugin providing comprehensive Elixir language support. It implements a full IDE integration: lexer/parser for Elixir, BEAM bytecode decompiler, debugger with line breakpoints and variable inspection, EEx/HEEx template support, code insight (completion, navigation, refactoring, inspections), SDK management for Elixir/Erlang, and integration with external tools (Credo, Dialyzer, mix format). The architecture is a monolith within the IntelliJ Platform, with generated PSI from Grammar-Kit and hand-written Kotlin/Java modules for resolvers, annotators, formatting, and debugger backend. The codebase demonstrates strong engineering practices: read-lock discipline, coroutine-based concurrency, modular operator interfaces, and systematic test coverage (parser definition tests, variable oracle tests, formatting tests). It is actively maintained with frequent releases tracking IntelliJ Platform API changes. The repository is not a data or research project; it is a production-quality IDE plugin.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
SolarianZ/UnityPlayableGraphMonitorTool β˜… 492 34 APPLICATION

This repository contains a Unity Editor tool for monitoring and visualizing PlayableGraphs in real-time. The tool displays the topology of PlayableGraphs showing nodes and connections, allows inspection of node details (playable properties, clip information, etc.), and provides UI controls for layout, refresh rate, and visibility options. It implements a modular architecture with separate concerns for the main window, graph view, node representations, object pooling, and utility functions. The tool supports various Playable node types with specific visualizations and handles edge cases like circular references in PlayableGraphs.

RATING: 8.4/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
givanz/VvvebJs β˜… 8702 1836 APPLICATION

VvvebJs is a WYSIWYG web page builder that enables drag-and-drop creation of responsive websites using Bootstrap components. The system provides a visual editor with canvas, property panels, component library, and file management for constructing HTML pages. Key features include inline text editing, code viewing via CodeMirror, media handling, undo/redo functionality, and export capabilities. The architecture follows a modular pattern with core builder logic in libs/builder/builder.js, extensible via plugins and component definitions. Entry points include editor.html for initialization, save.php/save.js for persistence, and upload.php/scan.php for media management. The builder manipulates an iframe as the design canvas while maintaining component state and history for undo/redo operations.

RATING: 8.3/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
UnderminersTeam/UndertaleModTool β˜… 2042 357 APPLICATION

UndertaleModTool is a comprehensive, open-source modding and reverse-engineering tool for GameMaker games, specifically Undertale and Deltarune. It provides a full suite of functionality: reading/writing GameMaker data files (.win, .unx, etc.) with byte-for-byte accuracy, decompiling GML VM bytecode back into human-readable GameMaker Language (GML), compiling modified GML back into bytecode, and editing all game assets (sprites, sounds, rooms, code, textures, shaders, fonts, etc.) through a Windows-only WPF GUI or a cross-platform CLI. The tool also includes a project system for exporting/importing assets as JSON and PNG, a built-in C# scripting engine for automation, and game-specific definitions that tailor decompilation and modding to Undertale and Deltarune. The architecture is a classic library-plus-front-end pattern: the core library `UndertaleModLib` handles all binary serialization, decompilation, compilation, and project management. The GUI application `UndertaleModTool` and CLI `UndertaleModCli` are thin layers that use this library. The library itself is heavily version-aware, supporting multiple GameMaker versions (GMS1, GMS2, 2022-2024) with hundreds of conditional checks. The decompiler integrates with the external `Underanalyzer` submodule for advanced GML compilation and decompilation. A large collection of built-in C# scripts covers common modding tasks (resource export/import, technical utilities, game-specific modifications). While primarily an application, the repository also serves as a living document of GameMaker's internal data formatβ€”a significant reverse-engineering effort. The code is rich with comments explaining undocumented structures, version differences, and workarounds for engine bugs. This hybrid nature makes it both a practical modding tool and a valuable research resource for understanding GameMaker internals.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
marktext/marktext β˜… 60071 4449 APPLICATION

MarkText is a cross-platform desktop markdown editor (Electron + Vue 3) powered by the Muya WYSIWYG engine. It provides real-time rendering of CommonMark, GFM, and extended syntax including KaTeX math, mermaid/plantuml diagrams, footnotes, tables, task lists, and 30+ themes. The monorepo contains four packages: `desktop` (Electron shell with IPC, preferences, spellcheck, export), `muya` (TypeScript core editor with block-based state, snabbdom rendering, undo/redo via ot-json1, clipboard, and floating UI components), `muyajs` (legacy JavaScript engine, still present for partial feature parity), and `website` (Next.js documentation site). The architecture follows a block tree pattern where each block type (paragraph, heading, list, table, etc.) is a subclass with consistent parent/content interfaces. Communication between the Electron main and renderer processes uses typed IPC channels. The codebase demonstrates strong software engineering practices with extensive unit and e2e test coverage (Playwright, Vitest), reproducible builds (pnpm monorepo), and a focus on regression testing for edge cases. However, the ongoing migration from the legacy `muyajs` engine to the new `muya` engine introduces some code duplication and technical drift, and some modules retain prototype-style JavaScript alongside modern TypeScript classes.

RATING: 8.2/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
json-editor/json-editor β˜… 4904 698 APPLICATION

This repository is a mature, well-structured JavaScript library that dynamically generates HTML forms from JSON Schema definitions. It is a client-side library that can be used as a standalone script or npm package. The core architecture is built on an abstract base class (`AbstractEditor`) with a rich plugin system for editors (string, number, array, object, etc.), themes (Bootstrap 3/4/5, Tailwind, Spectre, etc.), icon libraries, and template engines. It includes a full JSON Schema validator with support for draft-04, 07, and 2020-12 keywords, plus custom validators. The codebase demonstrates strong engineering practices: event-driven communication, extensible resolver patterns, and a modular design that separates concerns. However, the project is explicitly in maintenance mode, with active development moved to a fork (Jedison). This means new features are not expected, but critical bug fixes and security patches are still accepted. The codebase shows some technical drift: several third-party integrations (e.g., SimpleMDE, SignaturePad v1) are outdated, some themes (Foundation 3, Bootstrap 2) are legacy, and the code uses ES5 patterns. The test suite is extensive, with both unit tests (Jasmine) and end-to-end tests (CodeceptJS) covering many edge cases and real-world issues. Overall, it is a high-quality library for its domain, but its maintenance mode status limits its future viability for new projects.

RATING: 8.2/10 MAINT: stale DRIFT: medium
β–Έ 4 reusable components found
koosoli/ESPHomeDesigner β˜… 1082 73 APPLICATION

ESPHome Designer is a Home Assistant custom component that provides a visual drag-and-drop editor for designing display layouts on ESP32/ESP8266 devices running ESPHome. It supports multiple rendering protocols including native ESPHome C++ lambdas, LVGL, OpenEPaperLink (OEPL), and OpenDisplay (ODP). The editor features a canvas with zoom/pan, snap-to-grid, drag-and-drop, lasso selection, and a property panel for configuring widget attributes. Widgets are organized as plugins, each providing render, export, and lifecycle hooks for all supported output formats. The system can generate complete ESPHome YAML configurations including hardware definitions, sensor registrations, font loading, and display lambdas. The architecture is split between a Python backend (Home Assistant integration) and a JavaScript frontend (Vite-built SPA). The backend provides REST APIs for layout CRUD, entity history proxying, image/RSS proxying, hardware profile management, and PNG rendering. The frontend manages state via an AppState singleton with undo/redo, communicates with the backend through a bridge, and supports offline YAML parsing. An AI integration allows generating layouts from natural language prompts using multiple providers (Gemini, OpenAI, OpenRouter). The codebase demonstrates strong engineering practices with a plugin-based architecture, adapter pattern for multi-format export, schema-driven property panels, and extensive test coverage (200+ Vitest tests plus Python tests). It is actively maintained with CI/CD pipelines, quality gates, and regular releases. While the widget plugin surface is large and some legacy modules coexist with newer code, the overall design is modular and extensible.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
ChristianChiarulli/nvim β˜… 976 238 APPLICATION

This is a personal Neovim configuration repository for Neovim 0.12+, using a modular Lua setup with the built-in `vim.pack` plugin manager. The architecture is clean: `init.lua` loads core config modules (options, keymaps, autocommands, plugin manager, colorscheme, LSP) and auto-loads per-plugin configurations from `lua/plugins/`. The configuration is production-grade for daily development, featuring LSP integration (TypeScript, Rust, Lua, etc.), fuzzy finding via snacks.nvim, a custom statusline, Mason for tool management, and many quality-of-life plugins. The code is well-organized and demonstrates modern Neovim Lua API usage. It is not a generic library but a specific personal config that can serve as a reference or starting point for other Neovim users.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
react-page/react-page β˜… 9545 652 APPLICATION

ReactPage (formerly ORY Editor) is a production-grade WYSIWYG page editor built in React. It provides a visual drag-and-drop interface for composing page layouts from a plugin system of content and layout cells. The editor stores its state as a structured JSON tree (not HTML), enabling versioning, migrations, and server-side rendering. It supports multi-language content, undo/redo, inline editing via Slate, and a read-only mode for lightweight rendering. The architecture is a monorepo with a core editor package, a rich set of content plugins (Slate rich text, image, video, spacer, divider, HTML5 video), a layout plugin (background with gradients/images), and a ReactAdmin integration. The editor is highly extensible: custom cell plugins can define their own renderers, controls (auto-generated forms via uniforms), cell styles, and data migrations. The Slate plugin itself is extensible via factory functions for marks, blocks, and data plugins. The project is used in production by several companies for CMS-like page building.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
Tencent/cherry-markdown β˜… 4857 568 APPLICATION

This repository is the monorepo for Cherry Markdown, a rich, extensible WYSIWYG markdown editor library developed by Tencent. The core package (`packages/cherry-markdown`) provides a modular parsing engine with a plugin-based syntax hook system, a comprehensive toolbar, streaming rendering for AI chat, and support for diagrams (Mermaid, PlantUML, ECharts), math (KaTeX/MathJax), tables, and code blocks. The repository also includes a desktop client built with Tauri (Vue 3 + Pinia + Rust) that adds file management, local versioning, and native integrations; a VS Code extension; a WeChat Mini Program renderer; and various example applications. The architecture is well-structured with clear separation of concerns (engine, previewer, editor, toolbar, addons), extensive unit tests, and a consistent event-driven pattern. While the core library is JavaScript with JSDoc types, the client and plugins are TypeScript. Some technical drift exists due to vendored third-party assets (e.g., drawio library), a partially implemented Milkdown adapter, and a few deprecated code paths. Overall, this is a mature, actively maintained editor framework with high reusability in its hook system, utility classes, and composable patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
KaijuEngine/kaiju β˜… 4700 210 APPLICATION

Kaiju Engine is a full-featured 2D/3D game engine written in Go, backed by Vulkan for rendering. It includes a built-in editor that runs as a game within the engine, providing workspaces for stage management, shader design, render graph editing, terrain painting, and content browsing. The engine core handles entity management, physics (custom Graviton engine with rigid bodies, constraints, and collision detection), audio (SoLoud via CGo), networking (UDP with reliability), UI (custom HTML/CSS markup engine with flexbox/grid layout), asset pipeline (glTF, FBX, textures, fonts), and cross-platform support (Windows, Linux, macOS, Android). The editor adds undo/redo history, action system with key bindings, Lua scripting, a Web API, and a plugin system. The codebase is a monorepo with heavy use of Go build tags for platform-specific code and feature flags.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 8 reusable components found
zufuliu/notepad4 β˜… 4956 317 APPLICATION

Notepad4 is a Windows-based source code editor built on the Scintilla editing component. It provides syntax highlighting for over 50 programming languages, dark mode support, a plugin system (including the matepath file browser), and standard editing features such as find/replace, code folding, and auto-completion. The application is designed for developers seeking a lightweight yet feature-rich editor with extensive language support. The architecture is modular, separating the core editor (Notepad4) from plugins like matepath. The core editor uses Scintilla for text rendering and editing, with a custom wrapper (SciCall.h) to provide type-safe access to the Scintilla API. Language-specific lexers are maintained in the src/EditLexers directory, with many generated from keyword lists to ensure accuracy. Configuration is managed via INI files, and localization is supported through resource DLLs for multiple languages. Key external dependencies include Scintilla (for the editing core), Boost.Regex (for regular expression search), and the Windows API (for GUI, shell integration, and system services). The project demonstrates attention to modern Windows features such as Hi-DPI support, dark mode, and multi-monitor awareness. While the codebase is Windows-centric, it maintains clean separation between concerns through well-defined interfaces and encapsulation.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
$ loading more...
$ submit: