20 dépôts
Mechanisms for injecting custom logic into application lifecycles.
Distinguishing note: No candidates provided; this is the standard category for lifecycle extension points.
Explore 20 awesome GitHub repositories matching development tools & productivity · Execution Hooks. Refine with filters or upvote what's useful.
Cobra is a development framework for building command-line applications in Go. It organizes application logic into a hierarchical tree structure where each node represents a command, complete with its own flags and execution logic. This structure allows developers to build complex, nested command interfaces that mirror business domains while maintaining a clean separation between command orchestration and underlying business logic. The framework distinguishes itself through its declarative approach to metadata and configuration. It automatically derives help documentation, usage instructions,
Provides pre-run and post-run extension points for injecting cross-cutting concerns like authentication or telemetry.
OpenZeppelin Contracts is a library of modular, secure, and reusable smart contract components designed for the development of decentralized applications. It provides a foundational framework for building standard-compliant contracts, offering battle-tested implementations for token standards, access control, and common utility patterns. The project distinguishes itself through its comprehensive support for complex architectural patterns, including proxy-based upgradeability, role-based access control, and account abstraction. It enables developers to implement modular logic injection via hoo
Injects custom logic into contract operations to centralize modifications and avoid overriding core functions.
Agentscope is a comprehensive toolkit for developing and orchestrating autonomous multi-agent systems. It provides a unified framework for building agents that can reason, execute tools, and manage memory, enabling the creation of complex, collaborative workflows where multiple specialized agents interact to solve multi-step objectives. The platform distinguishes itself through a robust orchestration engine that supports both sequential and concurrent agent pipelines. It utilizes a centralized event bus for real-time telemetry, allowing developers to track agent reasoning, tool usage, and sys
Provides mechanisms to register and clear custom logic hooks for controlling agent behavior across scopes.
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Provides examples of dry-run execution to preview changes without modifying systems.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Enforces consistent execution of stateful logic by restricting hook placement.
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
Sets hook priority, timeout, dependencies, and error policy to control execution order and behavior.
Lefthook est un gestionnaire de hooks Git et un automatiseur de flux de travail qui utilise une approche basée sur la configuration pour gérer les scripts déclenchés par des événements de contrôle de version. Il fonctionne comme un exécuteur de tâches en parallèle, exécutant plusieurs scripts simultanément pour réduire le temps requis pour les vérifications pré-commit ou pré-push. Le projet fournit un exécuteur de hooks conteneurisé pour garantir des dépendances et des ensembles d'outils cohérents sur différentes machines de développeurs. Il prend également en charge l'orchestration de monorepos en exécutant des scripts dans des sous-répertoires spécifiques et en gérant des structures de projet complexes. Le système inclut des capacités de filtrage de fichiers basé sur des motifs pour exécuter des tâches d'assurance qualité uniquement sur les actifs modifiés. Il prend en charge l'exécution manuelle de tâches, le marquage et le regroupement de commandes, ainsi que des remplacements de configuration locaux pour les paramètres spécifiques à l'environnement.
Executes Git hooks inside containerized environments to ensure consistent toolsets and dependency versions.
Lefthook is a Git hook manager and workflow automation tool designed to execute user-defined scripts during version control events. It automates the execution of linters, tests, and formatters to validate changes and maintain code quality before commits or pushes. The project distinguishes itself through a parallel execution model that runs multiple shell commands concurrently to reduce latency. It supports complex configuration management, including the ability to merge global, remote, and local settings and synchronize configurations from external repositories to standardize development env
Restricts hook execution to specific files using glob patterns and file type filters.
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
Shows what commands would be executed without actually running them for preview purposes.
Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo
Runs hooks from a built-in repository without network access or environment setup, enabling fully offline operation.
pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across
Continues execution despite operation failures, optionally proceeding with remaining commands after an error.
pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing servers, Docker containers, and local machines. It operates as a declarative, idempotent deployment tool, applying desired system states by comparing target configurations against current states and making only the necessary changes. The framework provides a connector-based transport abstraction that unifies SSH, Docker, and local execution behind a common interface, with a parallel execution engine that manages concurrent operations across hosts. The tool distinguishes itself
Proceeds with remaining commands when one fails, instead of halting execution.
Descheduler est un rééquilibreur de charge de travail et gestionnaire d'éviction de pods pour Kubernetes, conçu pour optimiser la distribution des ressources et maintenir la stabilité du cluster. Il identifie et supprime les pods qui ne satisfont plus les contraintes de planification ou les exigences de santé, permettant au cluster de les relocaliser sur des nœuds plus appropriés. Le projet fournit des capacités spécialisées pour équilibrer l'utilisation des ressources des nœuds, appliquer des contraintes de répartition topologique et supprimer les pods en double pour améliorer la distribution. Il fonctionne également comme une aide à l'autoscaling en compactant les charges de travail sur moins de nœuds pour faciliter la réduction de l'infrastructure inutilisée. Le système couvre un large éventail de tâches de maintenance, incluant le nettoyage des pods échoués, instables ou vieillissants, et l'application des règles d'affinité et de taints des nœuds. Il inclut des mécanismes de sécurité tels que la validation de la compatibilité de planification pour garantir que les pods peuvent être replanifiés avant l'éviction, le filtrage basé sur les labels pour protéger les charges de travail critiques, et un mode "dry-run" pour prévisualiser les changements. L'utilitaire peut être déployé en tant que processus d'arrière-plan continu ou tâche cron récurrente, et supporte la haute disponibilité via l'élection de leader.
Provides a dry-run mode to preview which pods would be evicted without performing actual deletions.
PyBoy est un émulateur Game Boy programmable et un framework de simulation matérielle écrit en Python. Il fonctionne comme un moteur d'émulation qui permet aux utilisateurs d'exécuter des logiciels portables originaux tout en fournissant une interface programmatique pour contrôler, sonder et automatiser l'exécution des jeux. Le projet est spécifiquement conçu comme un environnement d'apprentissage par renforcement, exposant les états et contrôles de l'émulateur pour faciliter l'entraînement d'agents d'intelligence artificielle. Il se distingue en fournissant des outils pour le mapping de zones de jeu et l'extraction de représentations d'écran 2D simplifiées et de cartes de collision pour soutenir l'IA. Le système couvre un large éventail de capacités, incluant l'émulation matérielle cycle-précise, les opérations de lecture/écriture mémoire directes et un système de callback pour les hooks d'exécution. Il prend en charge l'extraction de données de jeu en temps réel, telles que les positions des sprites et les symboles mémoire, et inclut un mode d'exécution headless pour accélérer la vitesse de simulation en contournant le rendu graphique et audio. L'émulateur fournit également des utilitaires pour la persistance d'état via la sérialisation de snapshots, la simulation d'entrée pour les agents autonomes et des outils pour l'analyse mémoire et la modification de données ROM.
Triggers custom callback functions when the system executes specific memory addresses or symbols.
tModLoader is a modding framework and toolset designed for expanding game content and extending core game logic. It provides a polymorphic content API that allows for the creation of new items, NPCs, projectiles, and world assets through object-oriented inheritance. The project is distinguished by its advanced code modification capabilities, utilizing intermediate language bytecode patching and reflection-based private access to alter internal game behavior. It features a hot-reloading assembly runtime that enables developers to recompile and apply source code changes in real-time without res
Restricts logic execution to specific network roles to prevent state desynchronization between clients and servers.
gogcli is a single command-line binary that manages Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Apps Script, Contacts, People, Tasks, Classroom, Chat, Groups, Keep, and Workspace Admin services through a predictable service resource method grammar. It authenticates across multiple Google accounts using OAuth, service accounts, access tokens, or application default credentials, storing credentials in the OS keyring for secure persistence. The tool also exposes a Model Context Protocol server over stdio that registers typed tools for agent clients, and can invoke any Google Discovery-
Tests subscription and playlist mutations without making network requests using a dry-run flag.
Awaitility is a Java asynchronous testing library and conditional polling framework. It provides a fluent domain-specific language to synchronize tests with asynchronous operations by polling for specific states or conditions. The library allows for the configuration of polling intervals, timeouts, and the assignment of specific threads or services to handle background polling. It includes mechanisms for deadlock detection, exception filtering to treat specific errors as false results, and the ability to fail fast when a prohibited condition is met. The framework covers state verification, i
Immediately terminates a test when a prohibited condition is met before the desired state is reached.
Qui is a BitTorrent cross-seeding manager, automation engine, and multi-instance torrent dashboard. It provides a unified web interface to manage multiple separate torrent client instances from a single location and functions as an authentication gateway using OpenID Connect to protect backend API endpoints. The project specializes in identifying and adding matching torrents across different trackers to increase seeding ratios. It utilizes hardlink-based file replication to satisfy multiple tracker layouts without duplicating disk space and features a rule-based automation engine that execute
Simulates rule execution via dry-runs to preview which items would be affected before applying changes.
Fluent-validator est un framework de validation Java conçu pour appliquer l'intégrité des données via des contraintes déclaratives et des vérifications automatisées au niveau de la couche de service. Il fournit un environnement structuré pour définir une logique de validation qui s'intègre avec la spécification JSR 303, permettant aux développeurs de maintenir une qualité de données cohérente à travers des hiérarchies d'objets complexes et des limites d'application. Le framework se distingue par une interface fluide qui permet l'orchestration de chaînes de validation, permettant des séquences de règles lisibles et maintenables. Il prend en charge un contrôle d'exécution avancé, y compris la capacité de basculer entre des stratégies d'échec rapide et de basculement, et utilise une interception basée sur proxy pour vérifier automatiquement les arguments de méthode au sein des conteneurs gérés. Au-delà de l'intégration de contraintes standards, la bibliothèque facilite une intégrité profonde des données via le parcours récursif de graphes d'objets et la validation en cascade. Elle s'adapte aux exigences commerciales dynamiques en prenant en charge la logique conditionnelle, les groupes de validation pour la résolution de règles sensible au contexte et l'injection de propriétés externes dans la portée de validation. Les développeurs peuvent également implémenter des classes de validation personnalisées pour gérer des exigences de données uniques aux côtés des annotations standards.
Supports configurable execution strategies, including fail-fast and fail-over modes, to control validation flow.
Ce projet est une bibliothèque Java conçue pour valider des documents JSON par rapport à des spécifications de schéma définies. Il fonctionne comme un moteur conforme aux normes qui garantit l'intégrité des données en vérifiant la conformité structurelle et en appliquant des règles métier au sein des applications Java. La bibliothèque se distingue par ses stratégies de validation flexibles, permettant aux développeurs d'injecter une logique personnalisée et des moteurs de correspondance de motifs pour gérer des formats de données spécialisés. Elle prend en charge des modes d'exécution configurables, permettant aux utilisateurs soit d'arrêter la validation immédiatement dès la première erreur, soit de collecter toutes les violations pour un rapport complet. De plus, le moteur inclut des capacités intégrées pour la coercition de type et l'injection de valeurs par défaut, ce qui aide à normaliser les données entrantes pendant le processus de validation. Au-delà des contrôles structurels standard, le système fournit des fonctionnalités avancées pour gérer les dépendances de données complexes et les contraintes de sécurité. Il inclut un registre local pour résoudre les références de schéma sans accès réseau et prend en charge l'application de modèles d'accès en lecture seule ou en écriture seule. La bibliothèque offre également des outils d'observabilité, tels que des hooks pilotés par les événements qui permettent aux systèmes externes de surveiller le processus de validation interne.
Supports configurable execution modes to either halt immediately upon the first violation or collect all errors.