129 个仓库
Plugin architectures that allow extending core application functionality by registering custom logic into lifecycle events and interface injection points.
Distinct from Plugin-Based Architectures: Distinct from general plugin architectures: focuses specifically on hook-based registration for lifecycle events and UI injection.
Explore 129 awesome GitHub repositories matching software engineering & architecture · Hook-Based Plugin Systems. Refine with filters or upvote what's useful.
Storybook is an integrated environment for developing, documenting, and testing user interface components. It provides a development workshop for building components in isolation from main application logic, alongside a testing tool for simulating viewports and analyzing accessibility. The project creates a living catalog of interface elements that generates interactive examples and technical documentation for component APIs. It includes a dedicated environment for visual regression testing to verify states and behaviors across different configurations and screen dimensions. The platform cov
Provides a hook-based plugin system allowing third-party extensions to inject logic into the manager and preview layers.
Lobe Chat is a self-hosted AI platform that provides a web-based interface for interacting with multiple large language models. It functions as an AI agent orchestrator, allowing for the design, scheduling, and management of autonomous agent teams to perform operational tasks. The platform features an extensible plugin framework and SDK to integrate external tools and custom function calls into workflows. It utilizes a provider-agnostic model layer to unify various AI APIs and includes a context-aware memory system to store structured user information for personalized interactions. The syste
Extends AI capabilities by executing external function calls through a standardized gateway and tool registry.
Atom is an extensible code IDE and hackable text editor designed for source code editing and the creation of custom development environments. It functions as a syntax highlighting editor and a version control integrated editor that tracks file changes and synchronizes code with remote repositories. The editor allows for the modification of its own core functionality and supports a package-based plugin system for creating custom themes and snippets. It also serves as a Markdown preview editor, providing side-by-side visual rendering for content authoring. The platform includes capabilities fo
Provides a hook-based plugin system that allows developers to extend the editor's core functionality through JavaScript modules.
Video.js is a customizable HTML5 video player framework and JavaScript media plugin system. It provides a foundation for rendering and controlling web video playback across different devices and screen sizes, supporting both standard HTML5 integration and adaptive bitrate streaming for live or on-demand content. The project is distinguished by a modular architecture that allows for the extension of playback functionality through a class-based plugin system and middleware-based method interception. This enables the development of tailored media interfaces and the integration of specialized beh
Extends core playback functionality using a class-based system with lifecycle hooks for third-party modules.
Insomnia is a cross-platform API development environment that integrates a request debugger, schema design tools, a mocking server, and a test automation framework. It provides a unified workspace for sending requests and analyzing responses across REST, GraphQL, gRPC, and WebSocket protocols. The platform enables the design and preview of API specifications through a visual editor and allows for the simulation of backend behavior using mocking tools. It supports organizing and synchronizing API collections via local storage, cloud synchronization, or Git. The suite includes a command-line i
Implements a hook-based plugin system allowing third-party modules to inject custom logic into the application.
HTTPie is a command-line HTTP client and REST API debugger used for sending requests to web services. It functions as a network tool for managing headers, authentication sessions, and file uploads, with a specific focus on the transmission and reception of JSON data. The tool utilizes a custom parsing layer to translate simplified command-line input into structured HTTP parameters. It provides ANSI-based terminal formatting to apply color and structural indentation to raw responses, improving human readability for web debugging. The project covers request construction and previewing, multipa
Provides a plugin system that allows external modules to hook into the request and response lifecycle.
HTTPie is a command-line HTTP client and REST API testing tool designed for sending requests to web services and APIs. It functions as a JSON-native network client and interactive HTTP debugger, providing a terminal interface for constructing and validating API requests and responses. The tool simplifies the process of interacting with APIs by automatically handling JSON payloads and applying colorized formatting to responses for human readability. It supports the simulation of request generation to verify headers and bodies before they are sent over the network. The project covers a broad r
Features a hook-based plugin system that allows external modules to extend the request and response lifecycle.
HTTPie is a command-line HTTP client designed for sending requests to web services and APIs. It functions as a terminal-based web client and JSON API interface, allowing users to interact with RESTful services and download remote files directly from the console. The tool simplifies the interaction with APIs through a custom syntax for argument parsing and automatic JSON payload serialization. It includes a request debugger to verify the structure of a request before transmission and uses ANSI-based formatting to display server responses with color and indentation for improved readability. Th
Features a hook-based plugin system allowing external Python modules to extend the request and response lifecycle.
This project is a comprehensive administrative dashboard framework built for the Vue ecosystem. It serves as a modular starter kit designed to accelerate the development of large-scale, enterprise-grade web applications by providing a pre-configured foundation of reusable components and standardized layout patterns. The framework distinguishes itself through a configuration-driven approach to interface development, allowing developers to generate complex forms and tables from schema definitions rather than manual coding. It integrates dynamic route generation and role-based access control, en
Implements a hook-based system for injecting localized text strings into the interface at runtime.
Docsify is a client-side documentation framework and no-build static site generator. It functions as a browser-based engine that converts Markdown files into HTML on the fly, allowing for the generation of documentation websites without a static build or compilation process. The system employs a plugin interface and lifecycle hooks to modify the rendering process and extend site capabilities. It supports dynamic theme injection and visual style customization through external CSS and layout configurations. The framework includes capabilities for multi-language content management, full-text se
Ships a hook-based plugin system that allows developers to intercept and modify the rendering lifecycle.
Swagger UI is an OpenAPI specification renderer and documentation interface that transforms JSON or YAML API definitions into a navigable, searchable website. It functions as an OpenAPI documentation UI and request client, providing a visual catalog for exploring endpoints and sending live HTTP requests to a server using a schema-defined interface. The project distinguishes itself through a plugin-based extension system and a schema-driven UI generation model. This architecture allows for the injection of custom components, state selectors, and helper functions to modify core behavior and lay
Provides a plugin system allowing the injection of custom components and logic into interface injection points.
CodeMirror 5 is a browser-based code editor and extensible UI component. It functions as a syntax highlighting engine and a programmable text surface, providing a professional coding experience embedded within web pages. The project is distinguished by its ability to act as a collaborative text editor, synchronizing document changes across multiple users in real time. It also includes a dedicated Vim emulation layer that implements modal keyboard interactions, motions, and operators. The system covers broad capability areas including language support for autocompletion and error analysis, co
Provides a hook-based system to inject custom behavior and logic into the editor lifecycle.
CodeMirror is a browser-based code editor and extensible text editor framework. It functions as a programmable interface for rendering code and text with support for numerous programming languages, serving as a reusable component for web-based integrated development environments. The project provides a syntax highlighting engine that applies visual styles to text based on programming language rules. It includes a programming API and a CSS theming system to customize the editor's appearance and extend its functionality with custom behaviors. The framework covers capabilities for embedding tex
Provides a hook-based system for registering custom logic into the editor's lifecycle and event loop.
Rollup is an ES module bundler and JavaScript module transpiler. It functions as a build tool that combines JavaScript modules into optimized files and converts modern JavaScript and JSX into various output formats for different runtime environments. The project is distinguished by its static-analysis tree shaking engine, which removes unused code and dead exports to minimize bundle size. It also acts as a code splitting orchestrator, partitioning modules into separate chunks to optimize network requests and load times. The tool provides a hook-based plugin system for extending build logic,
Ships a hook-based plugin system that allows extending the build lifecycle with custom transformation and resolution logic.
radare2 is a reverse engineering framework and binary analysis toolset. It functions as a multi-architecture disassembler, low-level binary debugger, and hexadecimal editor for inspecting executable structures and interpreting machine code when original source files are unavailable. The framework provides capabilities for decompiling machine instructions, performing symbolic analysis, and diffing binary files to identify structural changes across versions. It also includes a digital forensic analyzer and disk analyzer for browsing filesystem formats in userland. The toolset supports binary p
Implements a tooling plugin system that loads external compiled modules to extend binary analysis capabilities.
Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re
Features a hook-based plugin system allowing external tools to extend the test lifecycle and reporting.
CodeEdit is an open-source integrated development environment and native macOS code editor. It provides a workspace for writing and modifying source code, combining a text editor with project management tools. The editor is built specifically for macOS using native frameworks to ensure performance. It features a plugin system that allows for the addition of specialized features and custom logic to extend the editing experience. The environment includes an integrated terminal emulator for executing development commands and debugging tools. It also provides project-wide file indexing for globa
Allows external modules to hook into editor events to add features without modifying the core codebase.
VuePress is a Vue-powered static site generator and markdown-based documentation tool. It transforms markdown files into static HTML pages, serving as a modular website builder that leverages Vue components for rendering and theme injection. The project is distinguished by a plugin-based architecture that allows the build process and runtime to be extended. It features a specialized framework for transforming static content into Progressive Web Apps with service worker integration for offline support. The system covers a broad range of capabilities, including internationalization for multi-l
Provides a plugin architecture that allows injecting custom logic into specific stages of the site build lifecycle.
Cutter is a binary analysis platform and graphical user interface for the Rizin reverse engineering framework. It provides an environment for analyzing the internal logic and data structures of compiled binaries through integrated disassembly and visualization. The platform supports a containerized deployment model to provide isolated environments for binary analysis, which is used to examine suspicious binaries without risking the host system. It is an extensible security tool that allows for the addition of custom analysis capabilities and visualizers via native plugins and scripts. The to
Implements a plugin-based architecture allowing for the addition of custom tools and analysis commands via external modules.
rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar
Implements an architecture for adding custom tools and commands via external plugin loading.