130 repositorios
Architectural patterns that allow adding new functionality to a system via custom plugins.
Distinct from Plugin-Based Extensions APIs: Shortlist candidates are restricted to specific domains like browser extensions, LMS, or audio plugins
Explore 130 awesome GitHub repositories matching software engineering & architecture · Plugin-Based Extensibility. Refine with filters or upvote what's useful.
ScrollMagic is a DOM scroll interaction framework and animation engine used to map scroll progress to callbacks and visual effects. It functions as a library for triggering animations based on a user's scroll position and the proximity of elements to the viewport. The framework employs a plugin-based system to extend core behavior and customize how elements react during movement. This allows for the development of non-standard scrolling interactions and interactive storytelling experiences where content transitions are tied to the scroll position. The system provides capabilities for viewpor
Implements a plugin system that allows external modules to inject custom logic into the scroll loop.
Ajv is a JSON Schema validator and schema compilation engine used to verify that JavaScript objects conform to specific JSON Schema definitions. It functions as a data coercer and localization tool, allowing for the application of default values and the translation of validation error messages into different languages. The project converts declarative JSON Schema definitions into optimized JavaScript functions to increase validation speed. It supports the extension of validation logic through custom keywords and the generation of standalone validation code that executes without external depen
Allows users to extend validation logic by defining custom keywords and handlers.
RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and a distributed message stream. It provides a server for translating and bridging communication between diverse messaging standards to connect heterogeneous systems. The system distinguishes itself through distributed broker clustering and federation, using shoveling mechanisms to synchronize data across geographically separate sites. It supports high-throughput, append-only logs for persisting and reading large sequences of messages for real-time processing. The broker covers
Provides an architectural framework to integrate community modules and functional extensions without modifying the core broker codebase.
Sonar is a mobile app debugging platform and extensible toolkit that allows developers to inspect the internal state, network traffic, and system logs of mobile devices via a desktop interface. It functions as a centralized system for monitoring application behavior and troubleshooting logic and performance issues. The platform is distinguished by a plugin-based extension system that enables the development of custom debugging tools. These plugins can visualize specific application data and facilitate event exchange between a mobile device and a computer. The toolkit covers several core obse
Features an architectural pattern that allows developers to extend the platform with custom visualization tools via plugins.
MeterSphere is a continuous testing platform that provides a suite of tools for automating interface, performance, and functional tests within a delivery pipeline. It functions as a comprehensive system for managing the testing lifecycle, from initial case planning and execution to defect tracking and reporting. The platform distinguishes itself through the use of large language models to automatically generate functional and interface test cases from requirements. It also features a distributed performance testing engine that coordinates pools of hardware and software resources to execute hi
Features a plugin-based extension system to integrate external defect trackers and CI tools.
AllenNLP is a PyTorch-based research library and deep learning language toolkit designed for developing and training neural network architectures for linguistic tasks. It provides a distributed training system that coordinates data and gradients across multiple GPUs and a framework for integrating pretrained transformer architectures. The system distinguishes itself with a dedicated algorithmic bias mitigation tool used to identify and reduce bias in linguistic model predictions. It also includes model influence analysis to interpret predictions by calculating the influence of specific traini
Supports dynamically loading external packages to register custom classes and subcommands into the system.
EmDash is an open-source content management system built on Astro that combines a visual admin panel with a plugin-driven architecture and server-side rendering. It provides a complete content management system with structured content modeling, a rich text editor using Portable Text format, and a TypeScript API for type-safe content queries. The system supports authentication through passkeys, OAuth 2.1, and external providers, with role-based access control and fine-grained permission scopes. What distinguishes EmDash is its plugin development framework, which supports both native plugins ru
Adds custom admin pages, dashboard widgets, and settings by reacting to content and media lifecycle events in native or sandboxed runtimes.
Este proyecto es una implementación de Protocol Buffers para Go, que proporciona un framework de serialización binaria para convertir estructuras de datos nativas en un formato binario compacto para una transmisión y almacenamiento eficientes en red. Funciona como un generador de bindings de lenguaje, utilizando un plugin de compilador para crear código fuente en Go a partir de definiciones de protocol buffer independientes de la plataforma. La implementación incluye un mapeador de datos JSON que transforma mensajes binarios estructurados al formato JSON para facilitar la compatibilidad con servicios web y APIs externas. También permite el intercambio de datos entre diferentes lenguajes mediante el uso de una definición de esquema común para compartir datos estructurados. La biblioteca cubre amplias capacidades para la serialización y deserialización de datos, incluida la capacidad de manipular mensajes estructurados mediante clonación, fusión y comparación. Además, proporciona mecanismos para la inspección de mensajes basada en reflexión y la fusión recursiva de mensajes para mantener la consistencia del estado en sistemas distribuidos.
Provides a compiler plugin that generates Go source code from platform-neutral protocol buffer definitions.
Admin-bro es un framework de panel administrativo para Node.js que transforma automáticamente esquemas de bases de datos en sistemas de gestión de contenido y paneles de control funcionales. Proporciona una interfaz visual para realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en registros a través de diversas fuentes de datos compatibles. El framework utiliza la generación de UI basada en modelos para mapear metadatos de bases de datos a componentes de formulario y emplea una capa de abstracción basada en adaptadores para traducir operaciones administrativas en consultas específicas de base de datos. Admite la ejecución de lógica de negocio personalizada y flujos de trabajo operativos mediante disparadores basados en acciones vinculados a registros de recursos específicos. El sistema incluye capacidades para la visualización de datos mediante paneles administrativos e informes de inteligencia empresarial. También proporciona herramientas para la validación de entradas basada en esquemas, la extensión de metadatos de recursos mediante decoradores y una arquitectura basada en plugins para añadir componentes de interfaz personalizados.
Adds custom dashboards and report pages by injecting external components into the core administrative layout.
Noctalia es un shell de escritorio Wayland y gestor de layer shell diseñado para coordinar barras, docks y centros de notificaciones mediante una interfaz unificada. Funciona como un controlador de sistema de bajo consumo y un entorno de ejecución que mantiene un uso mínimo de memoria para operaciones en segundo plano no intrusivas. El proyecto cuenta con un sistema de extensiones basado en plugins para añadir widgets personalizados, proveedores de lanzadores y servicios en segundo plano. Incluye un motor de configuración en tiempo real que monitoriza archivos para actualizar la apariencia y el comportamiento del escritorio sin necesidad de reiniciar. El sistema se integra con los protocolos de visualización de Wayland para gestionar layer shells y el bloqueo de sesión. Su superficie de capacidades abarca la gestión unificada de elementos del escritorio, la personalización del compositor y un sistema dinámico de módulos para extender la funcionalidad del shell.
Implements an architectural pattern that allows adding custom widgets and background services via dynamic plugins.
k8sgpt es un conjunto de herramientas centradas en Kubernetes diseñadas para la depuración impulsada por IA, diagnósticos de clúster y auto-reparación. Funciona como un analizador y depurador automatizado que utiliza modelos de lenguaje grandes (LLM) para explicar errores de clúster, sugerir pasos de remediación e identificar fallos de recursos. El proyecto se distingue por un framework de análisis extensible que admite plugins de diagnóstico personalizados y un servidor de Model Context Protocol, que expone los diagnósticos del clúster como herramientas para asistentes de IA. Incluye un agente de auto-reparación capaz de generar y aplicar automáticamente correcciones para anomalías detectadas, así como middleware de anonimización de datos para enmascarar información sensible antes de que se transmita a proveedores de IA externos. El conjunto de herramientas cubre una amplia gama de capacidades operativas, incluyendo monitoreo continuo de salud mediante un operador, auditoría de cumplimiento frente a motores de políticas y orquestación multi-clúster para identificar patrones de fallo generalizados. También proporciona características de observabilidad como exportación de resultados de diagnóstico, integración de métricas de observabilidad y resolución de problemas de fallos en pods.
Provides a plugin-based framework for creating extensible diagnostic checks in any language.
Este proyecto es un plugin de tema para IDEs de JetBrains y paquete de esquemas de color que implementa un tema de UI de Material Design. Proporciona una revisión completa de la interfaz que reemplaza los colores e iconos estándar del editor con la estética de Material Design. El plugin se centra en la personalización del espacio de trabajo del desarrollador al permitir a los usuarios aplicar un lenguaje visual consistente a los entornos de desarrollo de JetBrains. Permite la personalización de la apariencia del IDE a través de una colección de paletas personalizables para el resaltado de código y elementos de la interfaz de usuario.
Uses a plugin architecture to extend the host IDE and modify its internal UI components.
El OpenTelemetry Collector es un proxy agnóstico y pipeline de datos de observabilidad que recibe, procesa y exporta trazas, métricas y registros. Funciona como una puerta de enlace de ingesta de telemetría y un agente de monitoreo multi-backend, traduciendo varios formatos de datos a una representación interna estandarizada para un procesamiento consistente. El proyecto se distingue por su modelo de componentes basado en plugins, lo que permite la integración de receptores, procesadores y exportadores personalizados sin modificar el código base principal. Utiliza un sistema de pipeline configurable donde la telemetría fluye a través de una secuencia de componentes para ser enrutada, replicada o transformada antes de ser enviada a backends de monitoreo externos. El colector incluye capacidades para la gestión del tráfico de telemetría, como el procesamiento por lotes de puntos de datos para optimizar el rendimiento y la implementación de limitación de carga consciente de la memoria para evitar fallos del sistema durante picos de alto volumen. También proporciona transmisión segura de datos a través de canales cifrados y admite la resolución de configuración dinámica para actualizar los ajustes en tiempo de ejecución. Hay distribuciones preconfiguradas disponibles para reducir la configuración manual en entornos específicos.
Utilizes a plugin-based extensibility model allowing custom receivers, processors, and exporters to be integrated without modifying the core.
Rushstack es un conjunto de herramientas integral para gestionar monorepos de TypeScript a gran escala, proporcionando un framework para la automatización de pipelines de construcción, coordinación de dependencias y análisis estático. Funciona como un orquestador de construcción incremental y sistema de gestión diseñado para mantener la consistencia y el rendimiento a través de múltiples paquetes en un espacio de trabajo compartido. El sistema se distingue por un modelo de ejecución basado en grafos acíclicos dirigidos y un incrementalismo basado en hash de contenido, que asegura que solo los proyectos afectados sean reconstruidos. Optimiza aún más los flujos de trabajo de desarrollo mediante el almacenamiento en caché de artefactos de construcción remotos con integraciones para S3, Azure y HTTP, y utiliza la gestión de espacios de trabajo basada en enlaces simbólicos para una visibilidad inmediata de los cambios locales. El conjunto de herramientas cubre una amplia gama de capacidades, incluyendo flujos de trabajo de lanzamiento automatizados, análisis de contratos de API y cumplimiento de calidad de código empresarial a través de perfiles de linting estandarizados. También proporciona un amplio soporte para el empaquetado de activos, transpilación de TypeScript y la generación de definiciones de tipo a partir de esquemas JSON y activos estáticos. Áreas de utilidad adicionales incluyen la gestión de localización, generación de avisos de licencia y la orquestación de interfaces de línea de comandos con salida de proceso sincronizada.
Integrates custom preprocessors and loaders through a hook-based plugin architecture for extending tool capabilities.
KodExplorer is a web-based file manager and remote server administration tool that provides a desktop-like interface for organizing and managing files in a browser. It functions as an enterprise file sharing platform and an online document previewer, allowing users to view hundreds of file formats without local software installations. The system is distinguished by a plugin-based API gateway that exposes RESTful endpoints for third-party integrations and custom functional extensions. It also includes a browser-based code editor with syntax highlighting and autocomplete for over 120 languages,
Enables the addition of new capabilities and service calls through the development and installation of custom plugins.
WebSlides is a CSS-class-driven presentation framework that turns HTML sections into full-screen slides with keyboard, touch, and remote navigation. Its core architecture defines slides as HTML section elements styled entirely through CSS classes for layout, animation, and background, with a vertical-rhythm spacing foundation using an 8-pixel baseline grid. The framework includes a plugin-based behavior extension system that hooks into slide lifecycle events, and maps each slide to a unique URL hash for direct permalink navigation. The framework distinguishes itself through a comprehensive se
Registers custom JavaScript plugins that hook into slide lifecycle events to override or augment built-in behaviors.
Este proyecto es un firmware personalizado para Flipper Zero que proporciona un ecosistema de plugins embebidos, un kit de herramientas de pentesting de hardware y una capa de emulación multiprotocolo. Modifica el sistema operativo del dispositivo para incluir una suite de radio Sub-GHz para un rango de frecuencia ampliado y la capacidad de construir y desplegar aplicaciones de terceros directamente en el hardware. El firmware extiende las capacidades nativas del dispositivo a través de una suite de radio Sub-GHz que permite la extensión de frecuencia y la captura de señales más allá de los valores predeterminados de fábrica. Implementa emulación especializada para BadUSB y teclados BLE, e incluye un framework dedicado para ejecutar plugins modulares y juegos. El sistema cubre un amplio rango de áreas de interacción con hardware, incluyendo gestión de NFC y RFID, control de dispositivos infrarrojos y puente serie UART. También proporciona herramientas para monitoreo de sensores ambientales y análisis de calidad del aire, así como autenticación de segundo factor basada en hardware mediante la especificación U2F. Los usuarios pueden compilar código fuente en plugins ejecutables o crear archivos de firmware comprimidos para su instalación mediante una tarjeta de almacenamiento extraíble.
Implements an architectural pattern that allows extending system capabilities via modular third-party plugins.
BFE is a Layer 7 HTTP and HTTPS traffic distributor that routes requests based on content inspection and configurable policies, managed through a RESTful API. It operates as a reverse proxy, distributing incoming traffic across backend servers according to user-defined rules. The project distinguishes itself through a domain-specific language for content-aware routing, allowing traffic to be directed by inspecting request headers, paths, and payloads. It supports multiple configurable load balancing policies and includes a plugin-based extension system for adding custom modules and middleware
Extends core functionality by loading custom modules through a defined plugin interface.
Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
Adds custom components and functionality to existing views through a gRPC-based plugin system.
luban-h5 es un framework web low-code y constructor visual de páginas móviles utilizado para diseñar páginas web móviles interactivas. Funciona como un renderizador de páginas basado en JSON que convierte configuraciones de diseño en páginas en vivo para su entrega al usuario final, e incluye un constructor visual de formularios para crear campos de entrada interactivos y rastrear estadísticas de envío. El proyecto cuenta con un convertidor de PSD a HTML que analiza archivos de Photoshop en páginas HTML funcionales para automatizar el flujo de trabajo de diseño a código. Se distingue por un sistema basado en plugins que permite el desarrollo de componentes de UI personalizados y plugins de página especializados. La plataforma cubre una amplia superficie de capacidades, incluyendo diseño visual drag-and-drop, gestión de animaciones e incrustación de activos multimedia. Proporciona herramientas para la gestión de contenido backend, enlace dinámico de datos y la publicación de páginas en URLs públicas con vistas previas en vivo en dispositivos mediante códigos QR.
Implements a modular architecture allowing the addition of custom UI elements and page components via plugins.