20 repository-uri
Architectural patterns that allow external plugins to modify core system behavior by injecting logic into predefined execution points.
Distinct from Functional Extensions: Closest candidates refer to API extensions or token standards; this describes the core event/hook architecture used for platform extensibility.
Explore 20 awesome GitHub repositories matching software engineering & architecture · Hook-Based Extension Frameworks. Refine with filters or upvote what's useful.
This project is a cross-platform desktop email client built with web technologies. It serves as an extensible mail application that allows users to manage and organize email correspondence and can link to self-hosted synchronization engines to manage user data. The application is designed for extensibility through a plugin architecture and logic extension hooks, enabling the addition of custom features such as text translation, email templating, and external service integrations. It further distinguishes itself by providing a customizable interface that supports user-defined CSS styling and t
Provides predefined action hooks that allow external plugins to inject custom logic into the system's execution points.
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
Uses a hook-based architecture to allow plugins to add custom commands and extend environment management.
Flarum is a PHP-based community forum software designed for building and managing structured online discussion spaces. It functions as a self-hosted discussion forum and threaded discussion engine, providing a platform for users to create and participate in community conversations. The platform is designed as an extensible community platform, allowing for customizable forum development through the use of custom extenders to modify system behavior and features. The system includes capabilities for online community management and forum hosting, supported by a console interface for executing ad
Provides a hook-based extension framework that allows custom extender classes to modify core system behavior.
Mockito is a Java mocking framework and JUnit testing library used to create simulated objects and stub method calls to isolate components during unit tests. It functions as a dynamic proxy generator and bytecode instrumentation tool, allowing for the creation of runtime substitutes that mimic the behavior of real classes. The framework distinguishes itself by providing the ability to mock final classes and methods, bypassing standard language restrictions through bytecode modification. This capability enables the testing of legacy code that lacks interfaces. The toolset covers behavioral mo
Offers a public API and extension points that allow external tools to inject custom mocking logic.
Gollum is a Git-powered wiki engine and content management system that provides a web-based interface for editing and organizing files stored in a Git repository. It functions as a self-hosted documentation tool, using a Git-based storage backend to manage page content and track version history. The system is characterized by a pluggable markup rendering architecture that converts multiple markup languages and specialized notations into HTML. It supports a wide array of rich content, including mathematical typesetting, BibTeX bibliographies, and diagrams rendered via Mermaid. Broad capabilit
Implements a system for redefining constants and registering filters to modify core behavior.
Pelican is a Python-based static site generator that converts Markdown and reStructuredText files into static HTML websites. It functions as a blog and page orchestrator, managing chronological posts and independent static pages while providing built-in support for RSS and Atom feed generation. The system is designed as a plugin-based web framework, allowing for the addition of custom functionality through a community-driven plugin architecture. It also includes capabilities for producing localized versions of articles and pages to support multilingual content delivery. The tool covers a bro
Provides a hook-based extension framework allowing Python modules to modify the build process.
SystemJS is a dynamic dependency manager and universal module loader that resolves and executes JavaScript modules across different browser and server environments. It functions as an import map polyfill, mapping bare module specifiers to absolute URLs to manage dependencies without requiring a build step. The project provides a system for integrating diverse formats, including AMD and global scripts, into a modern ES module workflow. It enables browser module polyfilling for environments that lack native support for ES modules and import maps, and it allows for dynamic runtime hot-reloading
Provides a programmable hook-based pipeline to intercept and customize module resolution, fetching, and instantiation.
Kedro is a data science pipeline framework and orchestration tool designed to build reproducible and modular data engineering workflows. It functions as an MLOps project template and Python data workflow tool that enforces software engineering best practices to move projects from prototype to production. The system distinguishes itself through a centralized data catalog manager that abstracts data access and versioning across various file formats and cloud storage systems. It further separates processing logic from data access via a lazy-loading data registry and provides a standardized proje
Provides registration points to inject custom logic into project initialization and pipeline execution phases.
django-cms is a content management system built on Django for creating and managing hierarchical pages and reusable content blocks. It functions as an enterprise framework and modular page builder for organizing website layouts and managing complex digital content. The system features a frontend inline content editor that allows users to modify page titles and body content directly on the live site via an interactive toolbar. It provides a multilingual platform for translating pages and localized content across different languages, including built-in translation fallback support. Additionally
Provides a hook system to integrate custom applications and functionality into the core structure for extensibility.
Blinko is a personal knowledge management system and an LLM-powered knowledge base that enables users to capture and organize thoughts through a bi-directional knowledge graph. It functions as a RAG-enabled note-taking application and a self-hosted Markdown editor, allowing for the creation of permanent documentation and fleeting notes. The project distinguishes itself by integrating retrieval-augmented generation to provide conversational querying and AI-powered analysis of private document libraries. It supports both cloud-based and local AI model integration, enabling users to perform sema
Exposes an internal API and event bus that allows third-party plugins to modify UI components and application state.
WooCommerce is a comprehensive eCommerce framework for WordPress that transforms websites into fully functional online stores for physical and digital goods. It serves as a digital storefront manager for product catalogs, inventory, and customer orders across retail and wholesale business models. The system functions as a payment gateway integrator, connecting shops to diverse processors for credit cards, digital wallets, and subscriptions. It also operates as an order fulfillment system for calculating shipping rates, generating labels, and coordinating delivery via third-party couriers, whi
The system adds new capabilities using pre-built extensions or custom development via hooks and API endpoints.
Hardhat is a smart contract development framework and EVM tooling suite designed for the full lifecycle of Ethereum and EVM-compatible applications. It serves as a development environment for compiling, testing, and deploying smart contracts, providing a local blockchain simulation and a programmable task runner. The framework is distinguished by its extensive simulation capabilities, including the ability to fork remote network state and manipulate block time or account balances. It features a hook-based plugin system that allows for the extension of core functionality and the creation of cu
Features a hook-based architecture that allows plugins to inject custom logic into predefined execution points of the core system.
TypeDoc is a documentation generator and AST analyzer that transforms TypeScript source code and comments into structured API reference websites or data files. It functions as a static site generator that converts code symbols into a searchable web interface. The project is an extensible framework, allowing users to modify the documentation process and generator logic through a programmable plugin system and custom themes. Its capabilities include API reference generation, source code parsing, and documentation coverage validation to ensure exported members are properly described. It support
Provides a programmable plugin system allowing external packages to inject logic into the documentation pipeline via hooks.
This project is a World of Warcraft server emulator that simulates a multiplayer online game world, managing player data and game logic. It functions as a modular game server framework and an NPC AI and scripting engine, providing the necessary infrastructure to host a persistent virtual environment. The system is distinguished by a modular framework that allows for the extension of core engine behavior through isolated modules and function hooks without modifying the source code. It includes a structured SQL data layer for managing authentication, character states, and world environment sett
Allows extending core engine behavior by injecting custom game logic into predefined function hooks.
This project is a containerized build automation system and self-hosted DevOps platform provided as a Docker image. It serves as a distributed build orchestrator and a Dockerized continuous integration and delivery server, ensuring consistent execution environments across different infrastructure. The system distinguishes itself through a distributed execution model that separates a primary controller from multiple remote agents connected via SSH, TCP, or web sockets. It utilizes a modular extensibility framework that allows the core system functionality to be augmented through the installati
Allows modifying the graphical user interface by injecting custom JavaScript into specific extension points without altering core code.
Runs custom scripts before or after any supported command, with the ability to abort on failure.
MediaWiki is an open-source wiki engine that serves as a collaborative content platform with full versioning, multilingual publishing, and extensibility. It is fundamentally a web-based system that enables multiple users to create, edit, and organize content together, while tracking every change through revision history for rollback. As an extensible web application and versioned content management system, MediaWiki provides the foundational capabilities for hosting wikis at any scale, from small team documentation to the world's largest collaborative reference sites. The platform distinguish
Provides a hook-based extension framework that lets plugins inject custom logic at predefined execution points without modifying core code.
FreeScout is a self-hosted, open-source help desk and ticket management system built with PHP. It functions as a customer support platform that enables teams to manage shared inboxes and organize customer email conversations into tickets. The platform distinguishes itself as a multi-channel support dashboard that integrates customer relationship management and a knowledge base system. It provides tools for tracking detailed customer profiles and organizational records while offering a programmable interface to manage and expose support articles. The system covers a broad range of support cap
Implements a system of actions and filters that allow custom code to modify core behavior at specific execution points.
asm-dude este o extensie Visual Studio concepută pentru dezvoltarea în limbaj de asamblare și programare low-level. Oferă evidențierea sintaxei, completarea codului și referințe mnemonice atât pentru ferestrele sursă, cât și pentru cele de dezasamblare. Plugin-ul dispune de un instrument de referință mnemonică care afișează descrieri pop-up și semnături de parametri pentru instrucțiunile de asamblare. Aceste referințe sunt gestionate prin fișiere de date configurabile, permițând intrări și descrieri personalizate ale instrucțiunilor. Extensia se integrează cu editorul pentru a oferi tooltips conștiente de context și completarea cuvintelor cheie în timpul tastării. De asemenea, utilizează evidențierea sintaxei bazată pe tipare și plierea codului pentru a îmbunătăți lizibilitatea codului mașină dezasamblat în timpul depanării.
Integrates with the editor host to inject custom behavior into the disassembly and source windows via API hooks.
Millennium is a modding framework for the Steam desktop application designed to inject custom code, scripts, and styles into the client's Chromium rendering engine. It functions as a system for applying custom themes, loading dynamic plugins, and intercepting network requests. The project provides a dynamic plugin loader to extend application functionality without requiring a restart and a telemetry blocker to intercept outgoing network requests for analytics and crash reporting. It includes a tool for modifying the visual appearance of the application via a live editor that supports real-tim
Provides a framework to inject custom stylesheets and scripts directly into the Steam client's Chromium rendering engine.