awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

29 dépôts

Awesome GitHub RepositoriesLifecycle Hook Executions

User-defined functions triggered before or after operations and tool calls for logging, monitoring, or custom logic.

Distinct from Run Lifecycle Controls: Distinct from Run Lifecycle Controls: focuses on custom code execution at lifecycle points, not the start/stop/cancel operations of runs.

Explore 29 awesome GitHub repositories matching programming languages & runtimes · Lifecycle Hook Executions. Refine with filters or upvote what's useful.

Awesome Lifecycle Hook Executions GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • ruanyf/react-demosAvatar de ruanyf

    ruanyf/react-demos

    16,471Voir sur GitHub↗

    This project is a collection of practical code samples and demonstrations for building user interfaces with React. It serves as a set of examples illustrating common interface patterns, state management techniques, and the implementation of modular, reusable components. The repository provides specific demonstrations for several core development areas. These include samples for retrieving and rendering asynchronous data from external APIs, managing component lifecycles during mounting and unmounting, and handling internal state to sync form inputs. It also includes guides for direct document

    Demonstrates how to manage external resources during component mounting and unmounting phases.

    JavaScript
    Voir sur GitHub↗16,471
  • emdash-cms/emdashAvatar de emdash-cms

    emdash-cms/emdash

    10,887Voir sur GitHub↗

    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

    Responds to plugin activation, deactivation, and uninstallation events for setup and cleanup.

    TypeScriptastrocmsemdash
    Voir sur GitHub↗10,887
  • jakesgordon/javascript-state-machineAvatar de jakesgordon

    jakesgordon/javascript-state-machine

    8,751Voir sur GitHub↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    Executes user-defined functions automatically before or after state transitions to handle side effects.

    JavaScript
    Voir sur GitHub↗8,751
  • jupyter/docker-stacksAvatar de jupyter

    jupyter/docker-stacks

    8,432Voir sur GitHub↗

    This project is a collection of pre-configured Docker images that provide ready-to-run environments for interactive computing and data science. It functions as a scientific computing stack and a polyglot notebook server, bundling language interpreters and libraries for Python, R, and Julia within a containerized system to ensure reproducible research environments. The collection uses a layered image hierarchy to provide versioned software dependencies and support for hardware acceleration across different CPU architectures. It allows for the creation of custom images based on a foundation of

    Executes shell scripts or binaries during the container startup sequence to customize the environment.

    Pythondockeripythonipython-notebook
    Voir sur GitHub↗8,432
  • javalin/javalinAvatar de javalin

    javalin/javalin

    8,290Voir sur GitHub↗

    Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container. The project provides specialized frameworks for diverse communication patterns, including a REST API framework with automatic OpenAPI schema generation, a GraphQL API framework with query and mutation resolvers, and a WebSocket server for bidirectional real-time communication. It also includes a dedicated framework for pushing real-t

    Executes custom logic at specific server milestones, such as when the server has successfully started.

    Kotlinhacktoberfestjavajavalin
    Voir sur GitHub↗8,290
  • berstend/puppeteer-extraAvatar de berstend

    berstend/puppeteer-extra

    7,360Voir sur GitHub↗

    💯 Teach puppeteer new tricks through plugins.

    Plugins register lifecycle hooks that run before and after browser launch and page creation.

    JavaScriptautomationchromeheadless-browser
    Voir sur GitHub↗7,360
  • mamaral/onboardAvatar de mamaral

    mamaral/Onboard

    6,581Voir sur GitHub↗

    Onboard is an iOS onboarding framework designed for creating guided welcome screen sequences and tutorial flows. It provides a page transition engine to manage navigation and animations between sequential screens containing images, text, and action buttons. The framework includes a SwiftUI UI library with customizable layout components and styles. It features a system for animating content and managing the navigation flow, which allows for the implementation of smooth transitions and fade effects between instructional screens. The project covers background management with support for static

    Executes user-defined code blocks specifically when content pages are about to appear or have finished appearing.

    Objective-C
    Voir sur GitHub↗6,581
  • pytransitions/transitionsAvatar de pytransitions

    pytransitions/transitions

    6,548Voir sur GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Provides automatic callbacks triggered during the entry and exit phases of state transitions.

    Python
    Voir sur GitHub↗6,548
  • k3d-io/k3dK

    k3d-io/k3d

    6,466Voir sur GitHub↗

    k3d is a containerized Kubernetes orchestrator and wrapper that manages the lifecycle of k3s nodes and servers within container runtimes. It serves as a tool for deploying and destroying multi-node Kubernetes environments on a single machine for local development and testing. The project distinguishes itself by wrapping k3s to provide integrated networking, resource limit control, and local registry orchestration. It enables multi-node cluster simulation by wrapping nodes as isolated containers and using host-entry injection and port proxying to route host TCP and UDP traffic into the cluster

    Executes custom binaries at specific cluster and node stages to automate setup and configuration tasks.

    Go
    Voir sur GitHub↗6,466
  • mimecorg/vuidoAvatar de mimecorg

    mimecorg/vuido

    6,062Voir sur GitHub↗

    Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It

    Executes custom code at specific moments such as instance creation, update, or destruction.

    JavaScriptdesktoplibuivue
    Voir sur GitHub↗6,062
  • zplug/zplugAvatar de zplug

    zplug/zplug

    6,033Voir sur GitHub↗

    zplug est un gestionnaire de plugins pour le shell Zsh conçu pour installer et organiser des plugins, thèmes et commandes communautaires à partir de dépôts distants et de chemins locaux. Il se concentre sur la reproductibilité de l'environnement via une configuration versionnée, permettant aux plugins d'être épinglés à des branches git, tags ou hashs de commit spécifiques. Le projet optimise la vitesse de démarrage du shell en utilisant un système de chargement paresseux (lazy loading) qui diffère l'exécution des plugins jusqu'à ce qu'ils soient explicitement requis. Pour accélérer la configuration initiale de l'environnement, il emploie un installateur parallèle qui télécharge plusieurs extensions simultanément. Le gestionnaire prend en charge l'installation multi-source et gère la résolution des dépendances d'extensions pour garantir que les paquets requis sont chargés dans le bon ordre. Il inclut également des capacités pour télécharger des artefacts binaires externes et les mapper automatiquement au chemin système, ainsi que pour exécuter des hooks de cycle de vie personnalisés lors de l'installation et des mises à jour.

    Allows users to define functions that run automatically before or after plugin lifecycle events.

    Shell
    Voir sur GitHub↗6,033
  • voltagent/voltagentAvatar de VoltAgent

    VoltAgent/voltagent

    6,020Voir sur GitHub↗

    Triggers user-defined functions before and after operations and tool calls for custom logic.

    TypeScriptagentsaiai-agents
    Voir sur GitHub↗6,020
  • maiot-io/zenmlAvatar de maiot-io

    maiot-io/zenml

    5,452Voir sur GitHub↗

    ZenML is an extensible machine learning orchestration framework designed to manage the end-to-end lifecycle of data pipelines and AI agent workflows. It functions as a durable orchestrator that executes machine learning tasks as directed acyclic graphs, ensuring that every step is containerized for consistent performance across local, cloud, and hybrid infrastructure. By decoupling pipeline code from underlying compute and storage backends, the platform allows developers to define infrastructure-agnostic stacks that remain portable across diverse environments. The project distinguishes itself

    Triggers custom user-defined code at specific stages of pipeline execution for logging and automation.

    Python
    Voir sur GitHub↗5,452
  • aasm/aasmAvatar de aasm

    aasm/aasm

    5,219Voir sur GitHub↗

    Cette bibliothèque fournit un framework pour définir des machines à états finis au sein de classes Ruby afin de gérer des cycles de vie d'objets complexes. Elle fonctionne comme un moteur de workflow déclaratif, permettant aux développeurs de modéliser les états, les événements et les transitions des objets via un langage dédié (DSL) lisible. En s'intégrant directement aux couches de persistance de base de données, le framework garantit que les changements d'état sont synchronisés avec les enregistrements de stockage tout en maintenant l'intégrité des données grâce à la gestion des transactions et au verrouillage des lignes. La bibliothèque se distingue en imposant des règles métier strictes via des gardes de transition conditionnels et en empêchant la modification directe de l'état, garantissant que tous les changements de cycle de vie se produisent exclusivement via des événements définis. Elle prend en charge plusieurs machines à états indépendantes au sein d'une même classe en les mappant à des champs de base de données distincts, offrant un contrôle de cycle de vie isolé. De plus, elle génère automatiquement des méthodes d'instance dynamiques pour interroger les états et déclencher des événements, ainsi que des scopes de requête de base de données qui simplifient le filtrage des objets en fonction de leur statut actuel. Au-delà de la gestion de base du cycle de vie, le framework inclut des utilitaires pour la localisation des noms d'état afin de prendre en charge les interfaces multilingues et fournit des hooks pour exécuter une logique personnalisée avant ou après les transitions. Il propose également des matchers de test spécialisés pour vérifier les configurations de machines à états et la logique de transition au sein des suites de tests automatisées. Le projet inclut des outils pour compiler le code source et les configurations en documentation structurée pour faciliter la référence système.

    Executes custom callback logic automatically during specific phases of state transitions.

    Ruby
    Voir sur GitHub↗5,219
  • helmfile/helmfileAvatar de helmfile

    helmfile/helmfile

    4,987Voir sur GitHub↗

    Helmfile is a declarative tool for managing Kubernetes Helm releases across multiple environments. It defines the desired state of releases in version-controlled YAML files and synchronizes the cluster to match that state, acting as both a release manager and a state sync orchestrator. The tool layers environment-specific values, secrets, and lifecycle hooks onto shared release definitions, enabling consistent multi-environment deployments. Helmfile distinguishes itself through several integrated capabilities: it generates separate dependency lockfiles per environment for staged rollout of ch

    Runs user-defined commands at configurable points before and after sync stages to customize deployment workflows.

    Gohelmkuberneteskustomize
    Voir sur GitHub↗4,987
  • backup/backupAvatar de backup

    backup/backup

    4,868Voir sur GitHub↗

    Ce projet est un orchestrateur de sauvegarde Unix utilisé pour modéliser et exécuter la protection des données full-stack. Il fonctionne comme un système de gestion pour les dumps de base de données, l'archivage chiffré, la rotation des versions et le transport vers un stockage distant. Le système se distingue en orchestrant des outils système natifs pour diverses bases de données, incluant PostgreSQL, MySQL, MongoDB, Redis et Riak. Il emploie un workflow d'archivage sécurisé qui combine la compression et le chiffrement en utilisant GPG, OpenSSL ou AES avant de transporter les paquets vers des services compatibles S3, Dropbox ou des serveurs distants via SFTP et RSync. Les capacités étendues incluent l'automatisation de la synchronisation des données via des transferts delta et des téléchargements par blocs, ainsi qu'une gestion de rétention avec état pour faire pivoter et élaguer les archives historiques. L'orchestrateur dispose également d'un système de notification multicanal qui s'intègre avec l'email, HTTP POST, PagerDuty et diverses plateformes de chat pour alerter les administrateurs des résultats des opérations. Les utilisateurs peuvent définir ces workflows en utilisant un modèle basé sur la configuration qui prend en charge l'injection de variables dynamiques et la vérification de la syntaxe.

    Executes custom scripts before and after core operations to handle environment preparation and post-process logic.

    Ruby
    Voir sur GitHub↗4,868
  • microsoft/vscode-dev-containersAvatar de microsoft

    microsoft/vscode-dev-containers

    4,747Voir sur GitHub↗

    Ce projet est un orchestrateur d'espace de travail basé sur des conteneurs et un standard pour définir des environnements de développement utilisant Docker. Il fournit un mécanisme pour automatiser la construction, le lancement et la gestion de toolchains isolées, garantissant que les dépendances logicielles et les runtimes sont séparés du système hôte local. Le système permet la distribution des définitions d'environnement, des paramètres d'éditeur et des configurations de toolchain via le contrôle de version. Cela garantit la portabilité et la standardisation entre les équipes, permettant aux contributeurs d'instancier des espaces de travail identiques sur différentes machines. Il prend également en charge le développement en conteneur distant en connectant un éditeur local à des moteurs Docker hébergés sur des serveurs distants. La boîte à outils couvre le provisionnement de l'espace de travail via des Dockerfiles et des fichiers de configuration personnalisés, ainsi que la gestion du cycle de vie pour démarrer, arrêter et s'attacher aux conteneurs. Elle inclut des capacités pour monter des dossiers locaux dans des volumes isolés, transférer des ports réseau vers l'hôte et exécuter des extensions d'éditeur directement à l'intérieur de l'environnement conteneurisé. L'outil fournit des utilitaires en ligne de commande pour construire des images de conteneurs, orchestrer le démarrage de l'environnement et exécuter des commandes distantes.

    Executes specific setup commands and scripts immediately after container creation to finalize the environment configuration.

    Shellcodespacescontainersdev-containers
    Voir sur GitHub↗4,747
  • derbyjs/derbyAvatar de derbyjs

    derbyjs/derby

    4,706Voir sur GitHub↗

    Derby est un framework MVC isomorphe et un moteur de synchronisation de données en temps réel conçu pour créer des applications collaboratives. Il fonctionne comme une bibliothèque de liaison de données bidirectionnelle et un moteur de template qui partage une base de code unique entre Node.js et le navigateur pour synchroniser l'état entre les clients et les serveurs. Le framework se distingue par l'utilisation de la transformation opérationnelle pour résoudre automatiquement les conflits de données, permettant l'édition partagée en temps réel et la collaboration multi-utilisateurs. Il emploie un modèle de mutation d'état différentiel pour minimiser les mises à jour en effectuant des vérifications d'égalité profonde, garantissant que seules les valeurs modifiées sont propagées. La plateforme couvre un large éventail de capacités, incluant la gestion d'état réactive, le routage isomorphe et le développement de composants d'interface modulaires. Elle fournit des outils pour gérer les chemins de données imbriqués, exécuter le rendu isomorphe pour des chargements initiaux rapides et s'intégrer avec des middlewares serveur. Le système est implémenté en utilisant TypeScript.

    Executes cleanup logic and removes event listeners automatically when UI elements are destroyed to prevent memory leaks.

    TypeScript
    Voir sur GitHub↗4,706
  • obsidianmd/obsidian-sample-pluginAvatar de obsidianmd

    obsidianmd/obsidian-sample-plugin

    4,305Voir sur GitHub↗

    Ce projet est un boilerplate et un template de plugin TypeScript pour créer des extensions communautaires pour l'application de base de connaissances Obsidian. Il fournit une base de code et un projet de démarrage conçus pour implémenter les meilleures pratiques de développement pour la création et la distribution de plugins. Le dépôt inclut un bootstrapper de projet basé sur Deno qui automatise la génération d'un template de projet TypeScript, incluant les configurations de build et les définitions nécessaires. Le projet couvre l'intégralité du flux de travail de développement pour les extensions, incluant la transpilation TypeScript vers JavaScript, le packaging des assets via un bundler, et l'implémentation du cycle de vie du plugin. Il utilise des définitions de type basées sur des interfaces et une configuration basée sur des modules pour assurer la compatibilité avec l'application hôte.

    Implements hooks that allow plugins to initialize and shut down during the host application's loading sequence.

    TypeScript
    Voir sur GitHub↗4,305
  • kubernetes-sigs/cluster-apiAvatar de kubernetes-sigs

    kubernetes-sigs/cluster-api

    4,233Voir sur GitHub↗

    Cluster API est un framework déclaratif et un système de gestion multi-cluster pour automatiser la création, la mise à l'échelle et la destruction de clusters Kubernetes à travers diverses infrastructures. Il agit comme un orchestrateur de provisionnement de cluster et un provisionneur d'infrastructure, utilisant un cluster de gestion centralisé pour opérer le cycle de vie complet de multiples clusters de travail distants. Le projet emploie une architecture de plugins basée sur des fournisseurs qui découple la logique d'orchestration centrale des implémentations cloud ou bare-metal spécifiques. Cela permet au système de standardiser le déploiement des plans de contrôle, l'initialisation des nœuds et la gestion de l'infrastructure via un ensemble de contrats de ressources communs et de définitions d'API. Le système couvre une large surface de capacités opérationnelles, incluant l'orchestration de flottes de machines, la mise à l'échelle du plan de contrôle et les mises à niveau déclaratives de clusters. Il gère également les exigences d'infrastructure de bas niveau telles que la distribution des domaines de défaillance, la gestion des adresses IP et la rotation des certificats. Des outils de développement sont fournis pour la simulation de clusters, les tests d'infrastructure portable et le développement de fournisseurs d'initialisation et d'infrastructure personnalisés.

    Provides custom binary execution triggered during specific stages of the Kubernetes node and cluster lifecycle.

    Gok8s-sig-cluster-lifecycle
    Voir sur GitHub↗4,233
Préc.12Suivant
  1. Home
  2. Programming Languages & Runtimes
  3. Runtime Execution Environments
  4. Runtime Environments
  5. Runtime Management & Utilities
  6. Run Lifecycle Controls
  7. Lifecycle Hook Executions

Explorer les sous-tags

  • Cluster Lifecycle HooksCustom binary execution triggered at specific stages of the Kubernetes node and cluster lifecycle. **Distinct from Lifecycle Hook Executions:** Targets infrastructure and node lifecycle events rather than runtime function or request-response hooks.
  • Container Startup HooksScripts triggered at specific stages of a container's lifecycle to automate environment customization. **Distinct from Lifecycle Hook Executions:** Specifically targets the container startup and runtime lifecycle rather than request-response or database model events.
  • Plugin Lifecycle HooksCustom functions triggered at specific stages of a plugin's existence, such as initialization and finalization. **Distinct from Lifecycle Hook Executions:** Distinct from Lifecycle Hook Executions by focusing specifically on the plugin's operational lifecycle rather than general tool calls.
  • State Transition Lifecycle HooksAutomatic callbacks triggered specifically during the entry and exit phases of a state transition. **Distinct from Lifecycle Hook Executions:** Specific to the transition phases of a state machine rather than general runtime operation lifecycles.
  • UI Component LifecyclesLogic executed during the mounting, updating, and unmounting phases of a user interface element. **Distinct from Lifecycle Hook Executions:** Focuses on UI component lifecycle phases rather than general runtime tool hooks.