143 dépôts
Collections of helper functions and tools to improve development efficiency.
Explore 143 awesome GitHub repositories matching part of an awesome list · General Utility Libraries. Refine with filters or upvote what's useful.
This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono
Command-line fuzzy finder.
Hub is a git command line tool and GitHub API client that provides a shell interface for automating workflows. It functions as a GitHub git wrapper, extending standard git commands to include direct management of repositories, issues, and pull requests. The tool integrates REST API communication with a wrapper-based execution model to perform administrative tasks without a web browser. It utilizes OAuth-based authentication and a local configuration store to secure API requests. The utility includes shell command completion and argument parsing to improve terminal productivity. It also suppo
CLI wrapper for interacting with GitHub.
ctop est un utilitaire de tableau de bord basé sur le terminal conçu pour surveiller et gérer les applications conteneurisées. Il fournit une interface en temps réel pour suivre l'état opérationnel et l'utilisation des ressources de plusieurs conteneurs simultanément, offrant une vue centralisée de la santé du système directement dans un émulateur de terminal. L'outil se distingue en s'intégrant directement au runtime de conteneur pour fournir à la fois des aperçus de l'infrastructure de haut niveau et des capacités d'inspection approfondies. Les utilisateurs peuvent organiser leur tableau de bord via des préférences de filtrage et de tri persistantes, garantissant que les données de performance restent structurées à travers différentes sessions. Au-delà de la surveillance, l'utilitaire facilite le contrôle opérationnel en permettant aux utilisateurs d'exécuter des commandes shell et d'accéder aux journaux en direct pour des conteneurs individuels. Cette combinaison de visualisation des performances et de gestion du cycle de vie offre un environnement complet pour diagnostiquer les goulots d'étranglement et maintenir les états des conteneurs.
Top-like interface for container metrics.
sqlx is a set of extensions for the Go database/sql package that reduces boilerplate code by automating the mapping of database query results directly into structs and slices. It provides a wrapper around standard database types to eliminate manual row scanning and repetitive error handling. The project distinguishes itself through named parameter binding and query placeholder rebinding, which translate generic markers into driver-specific symbols. It also enables dynamic SQL execution by allowing the application to read and execute SQL statements directly from the filesystem. The library co
Extensions for the standard database/sql package.
GoReleaser est un outil d'automatisation de version pour construire, empaqueter et distribuer des binaires Go à travers plusieurs plateformes et architectures. Il fonctionne comme un pipeline de construction de compilation croisée et un orchestrateur de distribution binaire qui gère le cycle de vie complet des versions logicielles. L'outil utilise un pipeline de configuration déclaratif basé sur un fichier de définition YAML pour automatiser la chaîne d'outils Go. Il lie les balises Git au processus de compilation, permettant le balisage automatique des versions et l'injection de métadonnées de construction et de chaînes de version dans les binaires via des drapeaux d'éditeur de liens. Ses capacités couvrent l'empaquetage multiplateforme et la génération de sommes de contrôle cryptographiques pour la validation des artefacts. Le système prend en charge la distribution d'actifs multi-fournisseurs, poussant les binaires compilés et les archives vers diverses API de contrôle de version et hôtes de stockage distants simultanément. Le projet est conçu pour être intégré dans des flux de travail de livraison continue pour déplacer le code du commit à la production.
Tool for releasing Go binaries.
Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a dependency-based build system and cross-platform task automator, allowing users to execute shell commands across different operating systems using a declarative configuration file. The project operates as an incremental build tool, utilizing file fingerprints and checksums to track state and avoid redundant work by determining if tasks are up to date. It manages execution via a dependency graph to ensure prerequisites are completed before target commands run. The system includ
Task runner as a Make alternative.
Wuzz is an interactive command line HTTP client and request inspector designed for capturing, reviewing, and analyzing outgoing network calls and their payloads. It functions as a terminal-based tool for debugging API issues and testing web endpoints. The tool provides specialized filtering for response bodies, using regular expressions and format-specific query syntaxes tailored for JSON and HTML data. It allows for the persistence of captured requests and responses to disk to facilitate the reproduction of network issues and offline analysis. User settings and default request behaviors are
Interactive CLI for HTTP inspection.
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
Interactive filtering tool.
go-funk est une bibliothèque de programmation fonctionnelle pour Go qui fournit un ensemble de fonctions utilitaires pour transformer et interroger des slices et des maps. Elle permet un style de codage déclaratif pour la manipulation de collections et la transformation de données, réduisant ainsi le besoin de boucles manuelles répétitives. La bibliothèque implémente des fonctions d'ordre supérieur pour les opérations courantes, notamment le mapping, le filtrage et la recherche dans des structures de données à l'aide de prédicats et de callbacks. Elle inclut des utilitaires pour détecter l'existence d'éléments et trouver des éléments communs entre des collections. Ces capacités sont prises en charge par des contraintes de type basées sur les génériques et des assertions de type basées sur des interfaces pour garantir que les opérations fonctionnent sur divers types d'éléments.
Utility library for common collection operations.
Realize est un automatiseur de flux de travail de développement, un exécuteur de tâches et un outil de rechargement en direct principalement utilisé pour le développement d'applications Golang. Il surveille le système de fichiers pour détecter les changements afin de redémarrer automatiquement les applications en cours d'exécution et d'exécuter des séquences prédéfinies de commandes shell et de variables d'environnement. Le système agit comme un gestionnaire de tâches multi-projets, coordonnant et suivant les flux de travail d'automatisation à travers plusieurs projets logiciels différents simultanément à partir d'une configuration unique. Sa surface de capacités couvre la surveillance des événements du système de fichiers, la gestion du cycle de vie des processus pour le rechargement à chaud et l'exécution de flux de travail de tâches automatisés. Il inclut également des fonctionnalités d'observabilité pour capturer les flux de sortie standard et d'erreur, les exportant vers des fichiers externes pour l'audit et le débogage.
Build system with file monitoring and reloading.
This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services using the circuit breaker pattern. It serves as a resilience tool for managing request timeouts, defining fallback logic, and protecting remote systems from overloading. The library differentiates itself through the integration of a health metrics exporter that streams real-time performance and status data of remote connections to external monitoring tools. It combines this observability with a circuit breaker state machine that tracks success and failure rates to block calls
Implementation of Hystrix-style fallback mechanisms.
godropbox est un framework de développement backend et un blueprint de service pour construire des applications serveur et des microservices cohérents en Go. Il fournit une collection de bibliothèques partagées et de modèles pour standardiser le processus de développement à travers plusieurs projets. Le projet inclut une bibliothèque d'injection de dépendances qui découple la logique métier des implémentations via des contrats de service basés sur des interfaces. Il fournit également une suite d'outils pour compiler et déployer des applications Go sous forme de binaires statiques autonomes sur Linux. Le framework couvre l'outillage d'applications d'entreprise, incluant des primitives partagées pour la journalisation, la configuration et la gestion des erreurs. Il prend en outre en charge l'architecture de microservices et l'orchestration de services Linux pour assurer un comportement cohérent entre les services interconnectés.
Library for writing Go services and applications.
This project is a collection of Go libraries designed to reduce the size of multiple web formats while preserving functional integrity. It serves as a high-performance text processor and multi-format asset compressor for shrinking HTML, CSS, JavaScript, JSON, SVG, and XML files by removing redundant characters. The tool is designed for both static batch processing and real-time use. It includes middleware capabilities to intercept and minify web responses on the fly based on MIME types or file extensions, allowing for content compression during active data streams. The processing suite cover
Fast minifier for web assets.
Panicparse is a toolset for Go crash analysis and runtime debugging. It functions as a panic stack trace parser, a race detector log parser, and a goroutine deduplicator designed to transform raw crash dumps and thread sanitizer output into structured, readable formats. The project distinguishes itself by converting complex stack traces into visual HTML reports with embedded source code. It reduces noise in highly parallelized processes by grouping identical goroutine stacks and prioritizes application code over standard library calls during parsing. The utility also covers live process moni
Groups and colors goroutine stack dumps.
Unix like utilities for object store
Client for S3-compatible cloud storage.
✨ A complete and self-contained solution for developers of any qualification to create a production-ready project with backend (Go), frontend (JavaScript, TypeScript) and deploy automation (Ansible, Docker) by running only one CLI command.
CLI for scaffolding production-ready projects.
Go (golang) package with 90 configurable terminal spinner/progress indicators.
Terminal loading animations.
Fast, dependency-free Go package to infer binary file types based on the magic numbers header signature
Infers file types by checking magic numbers.
Simple and powerful toolkit for BoltDB
Tool for BoltDB.
A Go package for media type and file extension detection, based on magic numbers
MIME type detection based on magic numbers.