thehardwarestore.ai

where AI agents shop for the right tools

── 99478 repos indexed ── | filtered by tag: plugin-architecture
hashicorp/vault ★ 36322 4772 APPLICATION

This repository is HashiCorp Vault, a production-grade secrets management platform that secures, stores, and controls access to tokens, passwords, certificates, API keys, and other sensitive data. In production, it operates as a distributed system with a Go server backend, a RESTful HTTP API, a CLI client, and an optional Ember.js web UI. The architecture is modular: core server logic (token store, identity store, policy engine, audit brokerage, replication) is extensible via a plugin SDK for custom authentication methods (LDAP, OIDC, Kubernetes, AWS, etc.) and secrets engines (PKI, transit encryption, dynamic database credentials, SSH, etc.). Primary entry points are the `main.go` binary, the `api/` Go client library, and the `command/` CLI package. Data flows involve client requests routed through the HTTP handler to the logical backend, which uses a physical storage abstraction (Raft, Consul, file, etc.) and optionally triggers external plugins over gRPC. The system relies heavily on cryptographic primitives, a lease/expiration manager, and an event pipeline for audit logging and telemetry.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
parallax/jsPDF ★ 31312 4797 APPLICATION

jsPDF is a JavaScript library for generating PDF documents in browser and Node.js environments. It provides a comprehensive API for creating PDFs with text, vector graphics, images, interactive forms (AcroForm), annotations, outlines, and embedded fonts. The library follows a plugin architecture where features are implemented as modules that hook into the core jsPDF object via an event system, allowing selective inclusion of functionality and keeping the core lightweight. The primary entry point is the jsPDF class, which provides methods for adding pages, drawing shapes, writing text, embedding images, and configuring document properties. The library supports multiple output formats including data URIs, blobs, and direct file saving. It includes built-in support for standard PDF fonts, custom TrueType fonts (with subsetting), and various image formats (JPEG, PNG, GIF, BMP, WebP) through self-contained decoder libraries. Notable internal components include a full TrueType font parser and subsetter (ttffont.js), an implementation of the Unicode Bidirectional Algorithm (bidiEngine.js), a WebP image decoder ported from libwebp (WebPDecoder.js), and a JPEG encoder (JPEGEncoder.js). These modules are self-contained and could be extracted for use in other projects. The library also provides a canvas-like 2D drawing API (context2d), HTML-to-PDF conversion via html2canvas, and interactive form creation. jsPDF is extensively tested with Jasmine and Karma, and includes TypeScript definitions. It is distributed as ES modules, UMD, and Node.js builds. The codebase demonstrates strong engineering practices with a modular design, though some older JavaScript patterns persist in certain modules.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
swagger-api/swagger-ui ★ 29024 9250 APPLICATION

Swagger UI is a browser-based interactive API documentation client for OpenAPI/Swagger specifications. It renders operations, parameters, request bodies, responses, schemas, and authentication UI, and supports executing live requests ("Try it Out") from the browser, including file uploads, OAuth2/OIDC flows, API keys, Basic auth, and mutual TLS. Production artifacts include the npm packages `swagger-ui`, `swagger-ui-dist`, and `swagger-ui-react`, plus a Dockerized nginx distribution configured via environment variables. The entry point is `src/index.js`, which assembles a pluggable React/Redux/Immutable.js system from presets and plugins; standalone mode adds a topbar for loading specs and switching URLs. The architecture is a plugin system (`src/core/system.js`) where every concern—spec loading, auth, layout, JSON Schema rendering, error transformation, request snippets—is a plugin exposing `statePlugins`, wrapping functions, components, and `afterLoad` hooks. Separate OpenAPI 2.0, 3.0, 3.1, and 3.2 plugins compose dialect-specific behavior over a shared core. The codebase is predominantly JavaScript/JSX with a gradually expanding TypeScript migration, SCSS theming, and a large test suite covering Jest unit tests, Cypress e2e, security/XSS checks, and performance virtualization of large specs. Notably, this is not a data/research project; the YAML/JSON files under `test/` are OpenAPI fixtures for validating UI behavior, not datasets for analysis. The principal engineering problem it solves is rendering arbitrarily complex API contracts with extensibility and performance. Strengths include the config type-casting layer, registry-driven sample generators, deep OpenAPI version support, and a robust plugin API. Weaknesses are duplication between JSON Schema 5 and 2020-12 rendering paths, copied OAS 3.1/3.2 wrapper code, and some deprecated React lifecycle usage.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
kovidgoyal/calibre ★ 26121 2714 APPLICATION

Calibre is a comprehensive e-book management application that functions as a library manager, format converter, metadata editor, device synchronization tool, and content server. The codebase is a large monolith written primarily in Python with C/C++ extensions for performance-critical operations (PDF rendering, character encoding detection, compression). It provides a full desktop GUI built on PyQt6, a CLI for headless operations (calibredb, ebook-convert), and an embedded HTTP/OPDS server for remote library access. The architecture follows a plugin pattern: format conversion (input/output plugins), device drivers (USBMS, MTP, dedicated reader drivers), store search plugins, metadata source plugins, and AI provider plugins (OpenAI, Anthropic, Ollama). The core database is SQLite with full-text search (FTS5). Extensively cross-platform (Windows, macOS, Linux) with platform-specific launcher code in C. While the codebase shows high craftsmanship in many areas (e.g., SQLite extensions, font parsing, AI abstraction), it also carries legacy components such as an old RTF parser, vendored libraries (tinycss, frozen), and some device drivers for obsolete readers. Overall, it is actively maintained with regular commits and responsive issue triage.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
swagger-api/swagger-editor ★ 9471 2359 APPLICATION

The Swagger Editor is a web-based application for editing, visualizing, and documenting API specifications. It supports multiple formats including OpenAPI (2.0/3.x), AsyncAPI, JSON Schema, and API Design Systems through a split-pane interface featuring a code editor (Monaco/Textarea) and live preview. Built on React with a plugin architecture inspired by SwaggerUI, it manages state via Redux-like patterns with Immutable.js and reselect, offloading heavy operations like parsing and validation to Web Workers to maintain UI responsiveness. Key features include real-time validation, format conversion, code generation via external services, and extensibility through plugins. The application follows a modular structure where core functionality is extended by plugins registered via entry points like src/index.tsx and src/App.tsx. Each plugin encapsulates actions, reducers, selectors, and UI components, with extension points for wrapping actions and components. The build system uses Vite to produce standalone app, ESM, and UMD bundles, with specialized configurations for worker bundles. Testing combines unit tests (Vitest) and end-to-end tests (Playwright) to ensure reliability across features like file import, format conversion, and code generation. Technical strengths include the plugin architecture promoting separation of concerns, worker-based performance optimization, and reusable UI patterns like the dropdown menu with thematic variations. Maintenance risks stem from tight coupling with external dependencies (Monaco Editor, ApiDOM, SwaggerUI), complex build configurations, and gradual TypeScript adoption. However, active maintenance is evidenced by recent commits, CI workflows, and issue triage, indicating the project keeps pace with its ecosystem despite inherent complexity.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
OctoPrint/OctoPrint ★ 9143 1696 APPLICATION

OctoPrint is a full-stack web application for controlling and monitoring 3D printers. In production it runs as a Python server that exposes a Flask-based REST API and a SockJS/WebSocket real-time channel, while serving a Knockout.js single-page frontend. The core system talks to printers over serial connections through a stateful connector, parses G-code for print-time and filament analysis, manages file storage across local/SD/printer backends, coordinates slicing jobs, captures and renders timelapses, and enforces granular permissions with user/group management. It is a monolith with a deeply embedded plugin architecture: mixins (StartupPlugin, SettingsPlugin, BlueprintPlugin, EventHandlerPlugin, etc.) and hook dictionaries let third-party code extend nearly every layer, from API routes to G-code processing to the UI. The primary entry points are the `octoprint` CLI (serve, config, user, plugins, timelapse, analysis), the package's `__main__.py`, and the server initializer that wires together settings, logging, plugins, event management, and printer connectivity. Data flows center on the frontend interacting with REST/WebSocket endpoints, which delegate to core managers: `FileManager`, `SlicingManager`, `PrinterStateConnection`, `EventManager`, `Timelapse`, and the serial connector. External dependencies include sarge/pyserial for serial and process execution, ffmpeg for timelapse rendering, requests for update checks and plugin repository access, and optional network services (announcements, tracking, discovery). The codebase contains an extensive test suite spanning unit tests, HTTP API tests, serial parser tests, and Playwright end-to-end tests, plus thorough Sphinx documentation. OctoPrint is actively maintained, with recent commits, a large issue tracker, and a mature contributor ecosystem. The backend uses modern Python packaging, Pydantic schemas, and pinned dependency ranges, but the frontend carries significant legacy weight: Knockout.js, jQuery, Bootstrap 2/3-era assets, and deprecated API methods marked for removal in 3.0.0. This mixed state makes the project solidly engineered but with noticeable technical debt. It is not a data-research repository; the data it handles is operational telemetry, G-code metadata, user settings, and printer state, all serving real-time control rather than analytical workloads.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
qualcomm/GenieX ★ 8440 1070 APPLICATION

GenieX is a production-grade, on-device generative AI inference SDK and CLI developed by Qualcomm for Snapdragon platforms. It provides a C core with a plugin architecture supporting two inference backends: llama.cpp (GGUF models on CPU/GPU/NPU) and QAIRT (pre-compiled bundles on Hexagon NPU). The system includes a Rust-based model manager that downloads, caches, and resolves models from Hugging Face, Qualcomm AI Hub, Docker Hub, and local filesystem, with resumable chunked downloads and progress reporting. It exposes multiple client interfaces: a Go CLI with subcommands for inference, an OpenAI-compatible HTTP server (streaming chat/completions, tool calls), Python bindings with high-level AutoModel factories, Android bindings via JNI/Kotlin, and Go bindings. The architecture is cleanly layered: C SDK → plugin backends → hardware, with a separate model manager process. The codebase demonstrates strong engineering practices: extensive test suites (unit, integration, device-level), CI/CD pipelines, versioned releases, and cross-platform support (Linux ARM64, Windows ARM64, Android). While primarily an application, it includes benchmark infrastructure and quality evaluation tools that could be used for research purposes.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
TableProApp/TablePro ★ 5762 386 APPLICATION

TablePro is a native macOS and iOS database client built with SwiftUI and AppKit, designed as an open-source alternative to commercial tools like TablePlus. It supports a vast array of database engines (PostgreSQL, MySQL, MSSQL, Oracle, MongoDB, Redis, Snowflake, ClickHouse, DuckDB, Teradata, Trino, etc.) through a plugin-based driver architecture defined in TableProPluginKit. The application features a custom code editor (CodeEditSourceEditor) with tree-sitter syntax highlighting, line folding, minimap, and Vim mode; a powerful data grid for inline editing; SSH tunneling with multi-factor authentication; CloudKit-based sync for connections and settings; and an integrated AI assistant with MCP (Model Context Protocol) server support for agentic database interactions. The codebase is actively maintained, demonstrates high engineering craftsmanship with clean protocols, extensive unit and UI tests, and many reusable components that could be extracted into independent libraries.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
NVIDIA/nccl ★ 5171 1447 APPLICATION

NVIDIA NCCL (NVIDIA Collective Communications Library) is a production-grade C/C++ library providing high-performance GPU-to-GPU communication primitives for distributed deep learning and HPC. It implements collective operations (allreduce, allgather, reduce, broadcast, reduce-scatter, alltoall) and point-to-point send/recv, optimized for NVIDIA GPUs over InfiniBand, Ethernet, NVLink, NVSwitch, and AWS EFA. The library exposes a C API with Python (nccl4py) and Rust (nccl4rust) bindings, a device-side API for embedding communication in GPU kernels, and a plugin system for custom networking, profiling, tuning, and environment handling. It is the de facto communication layer underlying PyTorch Distributed, TensorFlow, and other frameworks. Architecturally, NCCL is a monolithic core with a modular plugin system. The core handles communicator management, collective algorithm selection (ring, tree, pipeline, NVLS, etc.), task scheduling, and transport abstraction. Plugins are dynamically loaded shared libraries with versioned interfaces (net v6–v12, GIN v11–v14, RMA v13–v16, profiler v1–v7, tuner v2–v6) that allow custom network backends, performance profiling, and algorithm tuning. The codebase includes extensive performance modeling (cost models for ring/tree/NVLS/CE), kernel code generation for symmetric memory collectives, and a parameter registry for runtime configuration via environment variables. Contrib sub-projects extend NCCL into specialized domains: UB-X (symmetric memory collectives), M2N (tensor resharding), EP (expert-parallel dispatch), NIIN (NVSHMEM compatibility), and PACE (parallelism-aware collectives). The library demonstrates high engineering craftsmanship with clean abstractions for transport, plugin versioning, and device-side communication. Notable reusable patterns include the typed parameter system (env-var parsing with caching), strong stream dependency tracking, symmetric pointer resolution for GPU memory, and versioned plugin adapters that maintain backward compatibility across interface revisions. The codebase is actively maintained with frequent commits, extensive documentation, and a large ecosystem of examples and tests. However, technical drift is medium due to the proliferation of plugin API versions, contrib projects that may diverge from core, and hardcoded performance model constants that require updates for new GPU generations.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
intelowlproject/IntelOwl ★ 4695 664 APPLICATION

IntelOwl is a production-grade, open-source threat intelligence platform that automates the analysis of observables (IPs, domains, URLs, hashes) and files (PE, PDF, APK, etc.) through a pluggable plugin system. The backend is built with Django REST Framework, Celery for asynchronous task execution, and Django Channels for real-time WebSocket updates. The frontend is a React single-page application using react-router, react-flow for pipeline visualizations, and Zustand for state management. The system supports multi-tenancy, organizations, role-based access, and integrates with dozens of external threat intelligence APIs and open-source analysis tools via containerized microservices. The architecture is centered around a plugin framework with five plugin types: analyzers (file and observable), connectors (push results to external systems), visualizers (render reports), pivots (create child jobs from analysis results), and ingestors (pull threat feeds). Playbooks bundle these plugins into repeatable analysis workflows. A data model manager normalizes analyzer outputs into structured evaluations with reliability scores, and a user event system allows manual verdict overrides with decay logic. The platform also includes an AI chatbot assistant powered by a local Ollama LLM and LangGraph, enabling natural-language queries and one-click analysis launches. Key operational features include a comprehensive REST API, token-based authentication with optional OAuth/LDAP/RADIUS, Elasticsearch for BI reporting, and Docker-based deployment with separate containers for specialized analyzers. The codebase is actively maintained with extensive unit and integration tests, CI/CD pipelines, and a large community (4695 stars). While the migration system is somewhat repetitive, the overall architecture is clean, modular, and demonstrates strong software engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
JiHong88/suneditor ★ 2010 347 APPLICATION

SunEditor is a fully-featured, vanilla JavaScript WYSIWYG HTML editor library designed for modern browsers. It provides a rich text editing experience with extensive formatting options (inline, block, lists, tables, media embedding), multiple display modes (classic, inline, balloon), and a plugin architecture that supports dropdowns, modals, commands, browsers, and input fields. The editor is built around a clean dependency injection kernel, a reducer-based event handling system for keyboard and input events, and a modular structure for UI components (toolbar, menu, controllers) and file management. It includes built-in plugins for images, videos, audio, drawing, math expressions, autocomplete, slash commands, table editing, code view, markdown preview, and document layouts (A4 page breaks). The codebase is extensively tested with unit, integration, and e2e tests (Playwright), and follows strict architectural rules enforced by dependency-cruiser. It exports TypeScript definitions, supports internationalization (20+ languages), and integrates with popular frameworks via official React/Vue wrappers. The library is distributed via npm and CDN, and demonstrates a high level of engineering craftsmanship in its event system, DOM manipulation utilities, and plugin lifecycle management.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
xdan/jodit ★ 1967 386 APPLICATION

Jodit is a pure TypeScript WYSIWYG HTML editor designed for embedding in web applications. It provides a rich editing experience with a toolbar, file browser, image editor, and support for complex formatting, tables, media embedding, and source code editing. The editor is built on a modular plugin architecture with over 60 built-in plugins, a custom event system, a UI component framework, and extensive internationalization (30+ languages). It includes security-focused HTML sanitization, undo/redo with snapshot history, and async storage providers (IndexedDB, localStorage, memory). The project is MIT-licensed with a commercial PRO version offering additional plugins like AI assistant and PDF export. The architecture is layered: core modules (event emitter, DOM helpers, selection/style engine, async utilities, decorators) provide the foundation; a plugin system manages lifecycle and dependencies; UI components (buttons, forms, popups, dialogs) are built with a BEM-like naming scheme and state-driven rendering; and modules (file browser, uploader, toolbar, history) implement higher-level features. The editor can operate in inline or iframe mode, supports dark themes, and is responsive with mobile-adaptive toolbars. Key entry points are the Jodit class constructor and the static Jodit.make() factory method. The primary data flow is user input (keyboard, mouse, clipboard) processed through the selection engine and plugins, producing sanitized HTML output. External runtime dependencies are minimal (no required JavaScript libraries), but the build system relies on Webpack, TypeScript, and various development tools.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 6 reusable components found
mdit-plugins/mdit-plugins ★ 210 31 APPLICATION

This repository is a TypeScript monorepo of 40+ markdown-it plugins, published as individual @mdit/plugin-* npm packages plus the @mdit/helper utility package. It is a developer-facing library ecosystem, not an application: each plugin extends markdown-it with additional Markdown syntax and rendering behavior, including alerts, containers, tabs, footnotes, task lists, definition lists, abbreviations, emoji, math (KaTeX and MathJax with full and slim variants), diagrams (PlantUML/UML), image controls (size, lazyload, mark), advanced links, attribute syntax, icons, layout directives (flex/grid/columns), file include/snippet (Node-only, file-system based), and text semantics (sub, sup, mark, ins, ruby, spoiler). The plugins are consumed primarily by static-site generators such as VuePress/VitePress and by any Node or browser pipeline that renders Markdown via markdown-it.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 6 reusable components found
obsproject/obs-studio ★ 77051 10465 APPLICATION

OBS Studio is a cross-platform live streaming and recording application. Its architecture is modular: a core library (`libobs`) provides the runtime for sources, encoders, outputs, services, and filters, all registered via a plugin system. The frontend is a Qt-based desktop GUI (`frontend/`) that manages scenes, sources, audio mixing, and output controls. Graphics rendering is abstracted across Direct3D 11, Metal, and OpenGL backends. The system ingests video/audio from capture sources (screen, window, game, camera, hardware I/O like DeckLink), processes them through filters and encoders (x264, NVENC, QSV, AMF, FFmpeg), and outputs to streaming protocols (RTMP, WHIP, SRT) or local files (FLV, MP4, MOV). External dependencies include FFmpeg, Qt, libcurl, and various hardware SDKs. The codebase demonstrates strong engineering with reusable utility libraries (dynamic arrays, strings, config files, profilers) and a well-defined plugin API, though platform-specific code and bundled third-party SDKs introduce some technical drift.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ansible/ansible ★ 70792 24339 APPLICATION

This repository is ansible-core, the foundational engine of the Ansible IT automation platform. In production, it executes declarative playbooks against remote targets via SSH, WinRM, or local connections, managing configuration, application deployment, and orchestration across heterogeneous systems (Linux, Windows, macOS, network devices). The architecture is plugin-based: a core runtime (playbook parser, task executor, variable and fact management) loads hundreds of plugins (actions, modules, inventory sources, cache backends, callbacks, filters, tests, lookups, connections, become methods, and more). Key entry points are CLI tools (`ansible`, `ansible-playbook`, `ansible-galaxy`, `ansible-test`) that parse arguments, load playbooks/inventories, and orchestrate task execution across a pool of worker processes. Primary data flows include playbook parsing → variable resolution (including Jinja2 templating with data tagging for provenance/trust) → inventory and host matching → fact gathering (via built-in collectors or external tools like Facter/Ohai) → task execution (module payloads are shipped via AnsiballZ, a self-extracting archive) → result collection and callback output. External dependencies include Jinja2, PyYAML, cryptography, and resolvelib; the codebase also vendors a copy of the `distro` library and includes a full test framework (`ansible-test`) with cloud integration and sanity checks.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
QuantumNous/new-api ★ 49320 11857 APPLICATION

New API is a full-stack AI gateway/proxy service that provides a unified interface for multiple AI model providers (OpenAI, Claude, Gemini, etc.). It features user authentication and authorization, API key/token management with quota tracking and billing, administrative dashboard for configuration and monitoring, intelligent routing between providers, format conversion between different AI APIs, payment integrations, webhook support, and a playground for testing models. The backend is built with Go using the Gin web framework and GORM ORM, while the frontend is a React/TypeScript application built with Bun. The system implements a modular architecture with clear separation of concerns across controller, service, model, and relay layers.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
HKUDS/DeepTutor ★ 41146 5192 APPLICATION

DeepTutor is a full-stack AI-powered learning companion that provides chat, problem-solving, research, visualization, and structured learning capabilities. The system features a modular architecture with a Python/FastAPI backend, Next.js/React frontend, and a CLI interface. It implements an agent-based system where capabilities like deep solve, deep question, and deep research are implemented as loop capabilities with access to tools such as web search, code execution, and knowledge base retrieval. The platform includes a three-layer memory system for contextual awareness, supports multiple RAG backends (LlamaIndex, PageIndex, GraphRAG, LightRAG, IMA), and enables integration with external knowledge bases (Obsidian, MarginNote 4) and partner agents (Claude Code, Codex). The application employs a plugin architecture for extensibility, allowing new capabilities, tools, and subagents to be added via entry points. Configuration is managed through JSON/YAML files with runtime overrides, and services are decoupled via provider abstractions for LLMs, embeddings, search, and media generation. Real-time communication is facilitated by WebSockets and an internal event bus (StreamBus). The system supports multi-user deployments with role-based access control, isolated workspaces, and grant-based resource sharing for skills, knowledge bases, and partners. Deployment options include local installation, Docker containers, and CLI-only mode. The codebase demonstrates strong engineering practices with extensive unit testing, clear separation of concerns, and reusable patterns such as the capability protocol, tool composition, and atomic file operations. While the system's feature richness introduces complexity, its modular design allows for selective adoption of components.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
backstage/backstage ★ 34536 7658 APPLICATION

Backstage is an open platform for building developer portals, organized as a large TypeScript monorepo. It provides a plugin-based architecture with both frontend (React) and backend (Node.js) systems, enabling integration of tools like a service catalog, software templates (scaffolder), documentation (TechDocs), Kubernetes management, search, authentication, notifications, and events. The codebase is structured into core packages (frontend-plugin-api, backend-plugin-api, core-components, ui), numerous plugins (catalog, scaffolder, techdocs, kubernetes, auth, search, etc.), CLI tooling, and a design system (Backstage UI). Key entry points include the app creation (packages/app), backend initialization (packages/backend-defaults), and CLI commands (packages/cli). Data flows involve entity ingestion via catalog processors, template execution via scaffolder tasks, and event routing via the events system. External dependencies include databases (SQLite/Postgres via Knex), cloud providers (AWS, GCP, Azure), SCM integrations (GitHub, GitLab, Bitbucket), and authentication providers (OAuth2, OIDC, SAML). The project is actively maintained with frequent releases, but carries medium technical drift due to ongoing migration from legacy to new frontend/backend systems, deprecated APIs, and alpha-stage features.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
codex-team/editor.js ★ 31970 2248 APPLICATION

Editor.js is a block-style, plugin-based WYSIWYG content editor for the web, developed and maintained by the CodeX team. It outputs clean JSON instead of heavy HTML, making it ideal for modern web applications that need structured content. The editor is built as a TypeScript library with a modular architecture: core modules (BlockManager, Toolbar, InlineToolbar, Saver, Renderer, etc.) communicate via an internal event bus, and all editing capabilities are provided by pluggable tools (Block Tools, Inline Tools, Block Tunes). The library exposes a comprehensive API for programmatic control over blocks, caret, selection, events, sanitization, i18n, and read-only mode. The architecture is centered around a plugin system where tools are external classes with lifecycle hooks (render, save, validate, merge, onPaste) and static configuration (toolbox, sanitize, pasteConfig, conversionConfig). The editor handles paste from various sources, supports cross-block selection, drag-and-drop, keyboard navigation, and mobile responsiveness. It includes a rich set of UI components: a floating toolbar, inline toolbar, block settings popover, and a versatile popover system with search, nested menus, and keyboard navigation via the Flipper component. Editor.js is not a standalone application but a library meant to be embedded into web apps. It is distributed as an npm package (@editorjs/editorjs) with UMD and ESM builds. The repository includes extensive Cypress end-to-end tests, example pages, and detailed documentation for developers. While primarily an application library, it also demonstrates strong data engineering patterns in its sanitization and paste handling, though these are not its primary focus.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 7 reusable components found
squidfunk/mkdocs-material ★ 27277 4132 APPLICATION

Material for MkDocs is a comprehensive documentation framework and theme for the MkDocs static site generator. It provides Material Design styling, enhanced navigation, search capabilities, blogging features, social card generation, and offline support through a plugin architecture. The codebase combines Python (for MkDocs plugins and theme integration) with TypeScript/JavaScript (for frontend interactivity) and uses a modular structure with clear separation between core theme files, plugins, extensions, and templates. The project demonstrates strong engineering practices with reactive state management (RxJS), component-based UI patterns, and extensible plugin systems, though it maintains some duplication between material/ and src/ directories.

RATING: 9.0/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: