129 dépôts
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 129 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.
Ce projet est une implémentation de Protocol Buffers pour Go, fournissant un framework de sérialisation binaire pour convertir des structures de données natives en un format binaire compact, optimisé pour la transmission réseau et le stockage. Il fonctionne comme un générateur de liaisons de langage, utilisant un plugin de compilation pour créer du code source Go à partir de définitions de protocol buffer neutres. L'implémentation inclut un mappeur de données JSON qui transforme les messages binaires structurés en format JSON pour faciliter la compatibilité avec les services web et les API externes. Il permet également l'échange de données inter-langages en utilisant un schéma commun pour partager des structures de données entre différents langages de programmation. La bibliothèque couvre de larges capacités de sérialisation et désérialisation, incluant la manipulation de messages structurés via le clonage, la fusion et la comparaison. Elle fournit aussi des mécanismes d'inspection de messages basés sur la réflexion et la fusion récursive pour maintenir la cohérence d'état dans les systèmes distribués.
Provides a compiler plugin that generates Go source code from platform-neutral protocol buffer definitions.
Admin-bro est un framework de panneau d'administration Node.js qui transforme automatiquement les schémas de base de données en systèmes de gestion de contenu (CMS) et tableaux de bord backend fonctionnels. Il fournit une interface visuelle pour effectuer des opérations de création, lecture, mise à jour et suppression (CRUD) sur des enregistrements provenant de diverses sources de données. Le framework utilise une génération d'interface pilotée par les modèles pour mapper les métadonnées de la base de données vers des composants de formulaire, et emploie une couche d'abstraction basée sur des adaptateurs pour traduire les opérations administratives en requêtes spécifiques. Il prend en charge l'exécution de logique métier personnalisée et de workflows opérationnels via des déclencheurs liés à des enregistrements de ressources spécifiques. Le système inclut des capacités de visualisation de données via des tableaux de bord administratifs et des rapports de business intelligence. Il fournit également des outils pour la validation des entrées basée sur le schéma, l'extension des métadonnées de ressources via des décorateurs, et une architecture basée sur des plugins pour ajouter des composants d'interface personnalisés.
Adds custom dashboards and report pages by injecting external components into the core administrative layout.
Noctalia est un shell de bureau Wayland et un gestionnaire de « layer shell » conçu pour coordonner les barres, les docks et les centres de notification via une interface unifiée. Il fonctionne comme un contrôleur système léger et un environnement d'exécution qui maintient une empreinte mémoire minimale pour des opérations en arrière-plan discrètes. Le projet propose un système d'extension basé sur des plugins pour ajouter des widgets personnalisés, des lanceurs et des services en arrière-plan. Il inclut un moteur de configuration en temps réel qui surveille les fichiers pour mettre à jour l'apparence et le comportement du bureau sans nécessiter de redémarrage. Le système s'intègre aux protocoles d'affichage Wayland pour gérer les « layer shells » et le verrouillage de session. Ses capacités couvrent la gestion unifiée des éléments du bureau, la personnalisation du compositeur et un système de modules dynamique pour étendre les fonctionnalités du shell.
Implements an architectural pattern that allows adding custom widgets and background services via dynamic plugins.
k8sgpt est une suite d'outils axés sur Kubernetes conçus pour le débogage assisté par IA, les diagnostics de cluster et l'auto-guérison. Il fonctionne comme un analyseur et débogueur automatisé qui utilise des modèles de langage étendus (LLM) pour expliquer les erreurs de cluster, suggérer des étapes de remédiation et identifier les défaillances de ressources. Le projet se distingue par un framework d'analyse extensible qui prend en charge des plugins de diagnostic personnalisés et un serveur Model Context Protocol, qui expose les diagnostics de cluster comme des outils pour les assistants IA. Il inclut un agent d'auto-guérison capable de générer et d'appliquer automatiquement des correctifs pour les anomalies détectées, ainsi qu'un middleware d'anonymisation des données pour masquer les informations sensibles avant leur transmission à des fournisseurs d'IA externes. L'ensemble d'outils couvre un large éventail de capacités opérationnelles, y compris la surveillance continue de la santé via un opérateur, l'audit de conformité par rapport aux moteurs de politique, et l'orchestration multi-cluster pour identifier les modèles de défaillance étendus. Il fournit également des fonctionnalités d'observabilité telles que l'exportation des résultats de diagnostic, l'intégration des métriques d'observabilité et le dépannage des défaillances de pods.
Provides a plugin-based framework for creating extensible diagnostic checks in any language.
Ce projet est un plugin de thème IDE JetBrains et un pack de schémas de couleurs qui implémente un thème d'interface utilisateur Material Design. Il fournit une refonte complète de l'interface qui remplace les couleurs et icônes standard de l'éditeur par l'esthétique Material Design. Le plugin se concentre sur la personnalisation de l'espace de travail du développeur en permettant aux utilisateurs d'appliquer un langage visuel cohérent aux environnements de développement JetBrains. Il permet la personnalisation de l'apparence de l'IDE via une collection de palettes personnalisables pour la coloration syntaxique et les éléments de l'interface utilisateur.
Uses a plugin architecture to extend the host IDE and modify its internal UI components.
L'OpenTelemetry Collector est un proxy agnostique et un pipeline de données d'observabilité qui reçoit, traite et exporte des traces, des métriques et des logs. Il fonctionne comme une passerelle d'ingestion de télémétrie et un agent de surveillance multi-backend, traduisant divers formats de données en une représentation interne standardisée pour un traitement cohérent. Le projet se distingue par un modèle de composants basé sur des plugins, permettant l'intégration de récepteurs, processeurs et exportateurs personnalisés sans modifier la base de code principale. Il utilise un système de pipeline configurable où la télémétrie circule à travers une séquence de composants pour être routée, répliquée ou transformée avant d'être envoyée vers des backends de surveillance externes. Le collecteur inclut des capacités de gestion du trafic de télémétrie, telles que le traitement par lots des points de données pour optimiser le débit et l'implémentation d'une limitation de charge consciente de la mémoire pour éviter les plantages système lors des pics de volume. Il fournit également une transmission de données sécurisée via des canaux chiffrés et prend en charge la résolution de configuration dynamique pour mettre à jour les paramètres à l'exécution. Des distributions pré-configurées sont disponibles pour réduire la configuration manuelle pour des environnements spécifiques.
Utilizes a plugin-based extensibility model allowing custom receivers, processors, and exporters to be integrated without modifying the core.
Rushstack est un ensemble d'outils complet pour gérer les monorepos TypeScript à grande échelle, fournissant un framework pour l'automatisation des pipelines de build, la coordination des dépendances et l'analyse statique. Il fonctionne comme un orchestrateur de build incrémental et un système de gestion conçu pour maintenir la cohérence et la performance à travers de multiples packages dans un espace de travail partagé. Le système se distingue par un modèle d'exécution basé sur des graphes acycliques dirigés et un incrémentalisme basé sur le hash de contenu, qui assure que seuls les projets affectés sont reconstruits. Il optimise davantage les workflows de développement via la mise en cache distante des artefacts de build avec des intégrations pour S3, Azure et HTTP, et utilise la gestion d'espace de travail basée sur des liens symboliques pour une visibilité immédiate des changements locaux. L'ensemble d'outils couvre un large éventail de capacités incluant des workflows de release automatisés, l'analyse de contrat API et l'application de la qualité de code en entreprise via des profils de linting standardisés. Il fournit également un support étendu pour le bundling d'actifs, la transpilation TypeScript et la génération de définitions de type à partir de schémas JSON et d'actifs statiques. Des domaines utilitaires supplémentaires incluent la gestion de la localisation, la génération d'avis de licence et l'orchestration d'interfaces de ligne de commande avec une sortie de processus synchronisée.
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.
Ce projet est un firmware personnalisé pour le Flipper Zero qui fournit un écosystème de plugins embarqués, une boîte à outils de pentesting matériel et une couche d'émulation multi-protocole. Il modifie le système d'exploitation de l'appareil pour inclure une suite radio Sub-GHz pour une plage de fréquences étendue et la possibilité de compiler et déployer des applications tierces directement sur le matériel. Le firmware étend les capacités natives de l'appareil via une suite radio Sub-GHz permettant l'extension de fréquence et la capture de signaux au-delà des paramètres d'usine. Il implémente une émulation spécialisée pour BadUSB et les claviers BLE, et inclut un framework dédié pour l'exécution de plugins modulaires et de jeux. Le système couvre un large éventail de domaines d'interaction matérielle, incluant la gestion NFC et RFID, le contrôle d'appareils infrarouges et le pontage série UART. Il fournit également des outils pour le monitoring de capteurs environnementaux et l'analyse de la qualité de l'air, ainsi qu'une authentification à deux facteurs basée sur le matériel via la spécification U2F. Les utilisateurs peuvent compiler le code source en plugins exécutables ou créer des archives de firmware compressées pour une installation via une carte de stockage amovible.
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 est un framework web low-code et un constructeur de pages mobiles visuel utilisé pour concevoir des pages web mobiles interactives. Il fonctionne comme un moteur de rendu de page basé sur JSON qui convertit les configurations de design en pages en direct pour la livraison aux utilisateurs finaux, et inclut un constructeur de formulaires visuel pour créer des champs de saisie interactifs et suivre les statistiques de soumission. Le projet propose un convertisseur PSD vers HTML qui analyse les fichiers Photoshop en pages HTML fonctionnelles pour automatiser le flux de travail design-vers-code. Il se distingue par un système basé sur des plugins qui permet le développement de composants UI personnalisés et de plugins de page spécialisés. La plateforme couvre une large surface de capacités, incluant le design visuel par glisser-déposer, la gestion d'animations et l'intégration d'actifs multimédias. Elle fournit des outils pour la gestion de contenu backend, la liaison de données dynamique et la publication de pages vers des URLs publiques avec des aperçus en direct sur appareil via des codes QR.
Implements a modular architecture allowing the addition of custom UI elements and page components via plugins.