thehardwarestore.ai

where AI agents shop for the right tools

── 99745 repos indexed ── | filtered by tag: golang
insomniacslk/dublin-traceroute β˜… 300 59 APPLICATION

Dublin Traceroute is a NAT-aware multipath traceroute tool that extends the Paris-traceroute technique to enumerate ECMP load-balanced paths and detect NATs. It forges UDP packets with custom payloads to control the UDP checksum, which is used as a per-flow identifier and embedded in the IP ID field for NAT correlation. The system listens for ICMP Time Exceeded and Destination Unreachable responses, matches them to sent probes using IP ID (IPv4) or payload length (IPv6), and computes a NAT ID from checksum differences. Output is provided in JSON or DOT format for visualization. The repository contains two independent implementations: a primary C++ library/CLI using libtins and jsoncpp, and an experimental Go implementation with IPv6 support and additional tooling (routest for integration testing). The Go implementation demonstrates cleaner separation of concerns with reusable network protocol modules (ICMP, UDP, IPv6) and a layered protocol abstraction.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
dlvhdr/gh-enhance β˜… 236 15 APPLICATION

gh-enhance is a production-ready GitHub CLI extension that delivers a fast, terminal-based user interface for monitoring and interacting with GitHub Actions workflows, jobs, steps, and check runs. It is implemented as a single Go binary using the Bubble Tea framework (Elm architecture) with Lipgloss for styling and glamour for markdown rendering, and it supports three display modes: run-level, PR-level, and repository-level. The application authenticates via the GitHub CLI's OAuth token and communicates with the GitHub API through a mix of GraphQL (for PR checks and workflow run steps) and REST (for workflow runs, job logs, and rerun actions). A subprocess call to `gh run view --log --job` retrieves raw job logs, which are then parsed into an interactive, searchable view. The architecture is monolithic but well-structured, with a clean separation between the API layer, the TUI layer, and the data model, and includes a comprehensive test harness with mock API responses and a fake GitHub server for offline testing. It is actively maintained, with a responsive issue tracker and an engaged community on Discord.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
Azure/autorest β˜… 4793 736 APPLICATION

AutoRest is a production-grade code generation tool that transforms OpenAPI (Swagger) specifications into client SDKs for multiple programming languages, including C#, Java, Python, Ruby, Go, and Node.js. It is the primary tool used by Azure to generate SDKs for Azure services, but it can be used for any REST API. The system ingests OpenAPI 2.0/3.0 documents, validates them, and processes them through a plugin-based pipeline to produce language-specific client libraries. The architecture is built around a directed acyclic graph of pipeline plugins, each responsible for a specific transformation stage (modeling, flattening, naming, emitting). The core engine orchestrates the pipeline, manages configuration loading and merging, and handles extension lifecycle. A virtual file system with source mapping tracks the provenance of generated code back to original spec positions, enabling accurate error reporting and blame tracking. Key entry points include the CLI application at packages/apps/autorest/src/app.ts, the core processing engine at packages/extensions/core/src/lib/autorest-core.ts, and the modelerfour extension that converts OpenAPI to an intermediate code model. The system also includes an experimental path to convert OpenAPI to TypeSpec via the openapi-to-typespec extension. External dependencies include npm for extension management and runtime environments (Java, Python, .NET) for generated code validation. The data flow begins with loading and parsing OpenAPI specs, followed by validation, conversion to a language-agnostic code model, and finally emission of language-specific SDK code. The pipeline supports caching, configuration merging with interpolation, and directive-based customization (e.g., removing operations, renaming components). The codebase is a large monorepo with many interdependent packages, showing signs of long-term evolution and some technical debt.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
kubewall/kubewall β˜… 1938 102 APPLICATION

Kubewall is a production-grade, open-source Kubernetes dashboard that provides real-time multi-cluster management through a single-binary web application. It combines a Go backend (Echo framework, client-go informers) with a React/TypeScript frontend (Redux Toolkit, shadcn/ui, TanStack Router) to offer live monitoring, YAML editing, pod log streaming, port forwarding, and an AI-powered troubleshooting assistant (kwAI). The architecture relies on Server-Sent Events (SSE) to push Kubernetes resource updates to the browser, with an in-memory informer cache per cluster. The backend exposes REST endpoints for every standard Kubernetes resource type as well as Custom Resource Definitions (CRDs), while the frontend uses virtualized data tables, Radix UI primitives, and lazy-loaded Monaco editor for editing. The system supports multiple kubeconfig authentication methods and includes a Helm chart for deployment.

RATING: 7.8/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
TransformerOptimus/SuperCoder β˜… 995 110 APPLICATION

SuperCoder is a local-first, open-source AI coding agent with a desktop application (Tauri + Rust + React) and a suite of backend services. The core agent (Rust crate) provides an LLM-driven loop with tool execution (file editing, bash, git, code search), subagent spawning, and an 'Auto' mode where an orchestrator LLM generates plans executed by worker agents. The desktop app offers a rich UI for agent interaction, diff review, file exploration, and permission management. A separate Go-based 'Context Engine' service indexes codebases into vector (Qdrant), graph (FalkorDB), and text stores, enabling semantic code search, dependency analysis, and automated PR review with risk scoring. The repository also includes a legacy v1 backend (Go) with workflow executors for Django/Flask/Next.js code generation and a workspace service for managing isolated development environments. While primarily an application, the context engine introduces data/research elements through its indexing pipelines, retrieval strategies, and code review analytics.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 7 reusable components found
kubernetes/perf-tests β˜… 989 654 APPLICATION

This repository is the official Kubernetes performance testing suite, housing multiple tools for benchmarking, load testing, and monitoring Kubernetes clusters. The core tool is clusterloader2 (CL2), a powerful framework that deploys scalable workloads, measures key performance indicators (API responsiveness, pod startup latency, scheduling throughput), and validates SLOs. It uses a pluggable measurement system, tuning sets for load patterns, and a provider abstraction layer supporting various environments (GKE, EKS, AKS, Kind, Kubemark). Other tools include a metric comparison utility (benchmark), a historical performance dashboard (perfdash), a real-time SLO Prometheus exporter (slo-monitor), DNS and network performance benchmarks, and data ingestion pipelines (perflens). The codebase is predominantly Go with Python scripts for data processing and extensive Prometheus/Grafana configurations. While primarily an application, it incorporates data pipelines for metric ingestion and SLO analysis, making it a hybrid toolset for performance engineering.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
ubuntu/WSL β˜… 200 53 APPLICATION

This repository contains the source code and build pipeline for the official Ubuntu distribution for Windows Subsystem for Linux (WSL). The core component is a C++ launcher executable (DistroLauncher) that registers the Ubuntu WSL instance, manages user accounts, and launches shells via the WSL API. The build system is orchestrated by a set of Go tools (wsl-builder) that automate downloading root filesystem images, generating application metadata and assets (icons, manifests, Windows Terminal integration), and invoking MSBuild to produce an AppX/MSIX bundle for the Microsoft Store. The repository also includes comprehensive CI/CD workflows for building, testing, and publishing releases, as well as end-to-end tests for the launcher. It is a production-grade application packaging system, not a data analysis project.

RATING: 7.8/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
swiftcarrot/queryx β˜… 198 7 APPLICATION

Queryx is a schema-first, type-safe ORM for Go and TypeScript. It provides a CLI tool that parses HCL schema files, manages database migrations using Atlas, and generates type-safe ORM client code for both Go and TypeScript. The codebase is well-structured with clear separation of concerns: schema parsing (schema/), database adapters (adapter/), code generation (generator/), and string inflection utilities (inflect/). It supports PostgreSQL, MySQL, and SQLite. The project includes comprehensive integration tests and CI/CD pipelines. While still in beta (v0), it demonstrates solid engineering practices with template-based code generation, fluent query builders, and support for associations, transactions, and custom primary keys. The generated code is type-safe and includes its own type wrappers for nullable fields and JSON serialization.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
unidoc/unioffice β˜… 4934 508 APPLICATION

UniOffice is a commercial Go library for reading, writing, and converting Office Open XML (OOXML) documents, including Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) formats. It provides a high-level API for document manipulation, supporting features such as text formatting, tables, images, charts, animations, ActiveX controls, digital ink, and 3D models. The library also includes conversion to PDF via the UniPDF dependency. Architecturally, the library is layered: low-level schema types auto-generated from OOXML schemas handle XML marshalling/unmarshalling and validation; a middle layer of wrapper structs (e.g., Document, Spreadsheet, Presentation) provides a user-friendly interface; and conversion utilities transform documents to PDF. Key entry points include the main module (unioffice.go) for namespace handling and document type detection, common/common.go for core types like DocBase and ContentTypes, and the document/spreadsheet/presentation modules for specific operations. Data flows involve reading a ZIP package, parsing XML into schema types, manipulating via the high-level API, and writing back. The library relies on external dependencies such as unipdf (PDF generation), unichart (chart rendering), unitype (font parsing), and others for encryption and image processing. It requires a license key and uses obfuscated generated code to protect intellectual property. Despite the obfuscation, the library contains several well-designed, reusable components such as a storage abstraction, logger interface, wildcard matching, natural sort, measurement conversions, color parsing, MS-CFB binary format reader/writer, and an Excel number format engine. These components are self-contained and could be extracted for use in other projects.

RATING: 7.7/10 MAINT: active DRIFT: low
β–Έ 7 reusable components found
gobyexample-cn/gobyexample β˜… 1964 325 APPLICATION

Go by Example δΈ­ζ–‡η‰ˆ is a static site generator that produces a Chinese-language tutorial website for Go programming. The system reads annotated Go source files and shell scripts from the `examples/` directory, parses them into interleaved documentation and code segments, applies Markdown rendering and syntax highlighting via chroma, and generates a complete set of HTML pages. The build pipeline (`tools/build`) orchestrates testing, formatting, line-length measurement, and HTML generation, while `tools/serve` provides a local preview server. The site is deployed to S3 using a dedicated upload script. This is a monolithic toolset with a clear separation of concerns: the core generator is in `tools/generate.go`, templates are in `templates/`, and static assets are served directly. The codebase is well-structured and makes effective use of Go's standard library and third-party packages for syntax highlighting and Markdown processing. It is a practical, reusable pattern for building annotated code documentation sites.

RATING: 7.7/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
MadAppGang/dingo β˜… 1912 39 APPLICATION

Dingo is a source-to-source transpiler for a custom language that extends Go with Rust-inspired features like sum types (enums), pattern matching, error propagation (`?`), safe navigation (`?.`), null coalescing (`??`), lambdas, tuples, and functional utilities (Option/Result). The transpiled output is clean, idiomatic Go with zero runtime overhead. The repository includes a full CLI tool (`dingo`) with build, run, fmt, lint, and update commands, as well as a language server (`dingo-lsp`) that wraps gopls as a proxy and uses source maps (`.dmap` binary format) for position translation. Editor integrations cover VS Code, Neovim, and JetBrains. The codebase is organized as a monolith with a modular plugin architecture for AST transformations. While actively developed and containing several well-crafted reusable components (source map binary format, error formatting with carets and suggestions, concurrent type cache, animated terminal mascot), the project shows signs of architectural fragmentation: duplicate parser implementations, a legacy preprocessor coexisting with a newer AST pipeline, multiple skipped tests, and known incomplete features tracked in TODOs. The scope is ambitious β€” many language features are implemented but the overall coherence suffers from incremental AI-assisted development patterns visible in the extensive ai-docs archive.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
zekroTJA/shinpuru β˜… 201 34 APPLICATION

This repository contains shinpuru, a production-grade Discord bot written in Go with a React/TypeScript web dashboard. It serves as a comprehensive guild management and moderation platform, handling reports, kicks, bans, mutes, and community engagement features like karma, starboard, votes, and code execution. The backend is a monolith using the discordgo library for Discord interactions, Fiber for its REST API, and sarulabs/di for dependency injection, backed by MySQL, Redis, and MinIO. The architecture is well-structured with clear separation of concerns. The internal/ directory houses services (database, storage, permissions, karma, reports), event listeners, slash commands, and middleware. The pkg/ directory is a standout collection of over 30 reusable utility packages, covering areas like rate limiting (limiter), one-time authentication (onetimeauth), Discord embed building (embedbuilder), fuzzy object resolution (fetch), and permission management (permissions). These packages are largely self-contained and could be extracted for use in other Go projects. The frontend is a modern React SPA with i18n support (English and German), a typed API client (shinpuru-ts), and a comprehensive set of components for managing every aspect of the bot. The project demonstrates strong engineering practices with CI/CD pipelines, Docker support, and a clear contribution model. While the codebase is large and shows some signs of technical drift (legacy package versions, some raw SQL patterns, duplicated package versions), the core architecture and reusable packages make it a valuable reference for building complex Discord bots or Go web applications.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 7 reusable components found
tmc/langchaingo β˜… 9634 1138 APPLICATION

langchaingo is a Go port of the LangChain framework, providing a modular, composable library for building LLM-powered applications. In production, it serves as an abstraction layer over dozens of LLM providers (OpenAI, Anthropic, Google AI, AWS Bedrock, Ollama, HuggingFace, etc.), vector stores (Chroma, Pinecone, Weaviate, pgvector, Redis, Qdrant, and many more), and supporting components such as chains, agents, memory, tools, document loaders, and prompt templates. The architecture is a monorepo library: users import packages and compose interfaces (`Model`, `Chain`, `VectorStore`, `Agent`, `Memory`) to orchestrate LLM workflows. Key entry points are provider constructors (e.g., `openai.New()`) and composition functions (e.g., `chains.NewLLMChain()`, `agents.NewExecutor()`). The library relies on many external SDKs and databases, creating a large dependency surface. It includes a custom HTTP record/replay testing infrastructure (`httprr`) for deterministic testing of API calls. The codebase is actively maintained with recent commits and a large community, but carries medium technical drift due to some outdated dependencies and deprecated API patterns.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
ritz078/transform β˜… 9217 705 APPLICATION

This repository is a polyglot web converter application built with Next.js. It provides a large collection of code transformations (e.g., JSON to TypeScript, SVG to JSX, GraphQL to Resolvers, HTML to Pug, etc.) in a user-friendly two-pane editor interface. The architecture is a monolith with each transformation implemented as a separate page under `pages/`, all sharing a common `ConversionPanel` component that manages the input/output editors, web workers for heavy processing, and server-side API routes for a few transforms that require Node.js native modules. External dependencies include numerous npm libraries for the actual conversion logic (e.g., `json_typegen_wasm`, `@svgr/core`, `graphql-codegen`), the Monaco editor for code editing, and the evergreen-ui component library for the UI. The application uses web workers extensively (via a custom `workerWrapper` utility) to offload CPU-intensive conversions off the main thread, ensuring a responsive UI. Data flows from the user's input editor, through a transformer function (which may call a web worker or an API endpoint), and into the output editor, with results automatically formatted by Prettier. The codebase is well-structured with a consistent pattern for each converter, making it straightforward to add new transformations.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
IBM/fp-go β˜… 2019 83 APPLICATION

IBM fp-go is a comprehensive functional programming library for Go, heavily inspired by fp-ts (TypeScript). It provides a wide range of algebraic abstractions including Option, Either, Result, IO, Reader, State, Writer, and their monad transformer stacks (IOEither, ReaderIOEither, ReaderIOResult, StateReaderIOEither, etc.). The library employs Go generics to simulate higher-kinded types and includes optics (lenses, prisms, isomorphisms, traversals), lazy iterators, retry policies, resource management via Bracket, dependency injection with Reader, and code generation tools. It also offers idiomatic Go wrappers that return (A, error) tuples while preserving functional composition. The codebase is split into two parallel module paths (root and v2/), with v2 representing a newer generation requiring Go 1.24+ and adding result types, effect packages, and context-aware variants. While highly engineered and feature-rich, the dual tree structure, some incomplete components, and non-standard pragmas introduce maintenance complexity.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
nwg-piotr/nwg-look β˜… 1003 37 APPLICATION

nwg-look is a GTK settings editor designed for Wayland environments, particularly wlroots-based compositors like Sway. It provides a graphical interface to configure GTK appearance settings including themes, icons, cursors, fonts, and other interface options. The application reads current gsettings values, allows users to modify them through a GTK3 interface, and applies changes via gsettings commands. It can also export settings to various configuration files (settings.ini, .gtkrc-2.0, index.theme, xsettingsd.conf, GTK4 symlinks) and includes Flatpak integration for theme management. The architecture follows a traditional monolithic GUI pattern with separation between main application logic, UI components, utility functions, and a dedicated stylepak package for Flatpak-specific functionality.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
jo-m/trainbot β˜… 495 13 APPLICATION

Trainbot (Onlytrains) is a computer vision application that automatically detects trains passing a fixed camera, stitches the train's frames into a single composite image, and logs sightings to a SQLite database. It is designed to run on a Raspberry Pi with a camera (USB, Pi Cam 3, or video file) and can optionally upload results via FTP to a web server. The project is unmaintained as stated in the README. Architecturally, it is a monolith Go backend with three CLI binaries: `trainbot` (main detection loop), `confighelper` (interactive crop selection), and `cleanup` (orphaned blob removal). The backend captures frames using `pkg/vid` (abstraction over V4L2, libcamera-vid, ffmpeg), processes them through a stitch pipeline that detects motion, computes frame offsets via patch matching, fits a constant-acceleration model using RANSAC, and then blends frames into a single JPEG and an animated GIF. Results are stored in a SQLite database and served by a built-in HTTP server. The frontend is a Vue 3 static SPA that loads the SQLite database client-side to display train sightings, stats, and images with no server-side rendering. Key highlights include highly optimized image processing: the `pkg/pmatch` package offers four implementations of cosine-similarity patch search (slow Go, optimized Go, Cgo, Vulkan compute), and the `pkg/ransac` package provides a generic RANSAC fitter for the speed model. The codebase demonstrates strong engineering craftsmanship with a clear package structure, extensive tests, test data sets, and a CI pipeline. However, heavy reliance on Cgo and Vulkan, plus the explicit unmaintained status, introduce cross-compilation complexity and potential drift from modern tooling.

RATING: 7.6/10 MAINT: stale DRIFT: medium
β–Έ 3 reusable components found
z4yx/GoAuthing β˜… 309 31 APPLICATION

GoAuthing is a command-line authentication tool for Tsinghua University's network (TUNET). It provides login, logout, and keep-alive functionality for both IPv4 and IPv6 connections. The application features a clean separation between the CLI interface (built with urfave/cli) and the core authentication logic (in the libauth package). It handles credential input via prompts or config files, communicates with the authentication server using custom encryption and encoding schemes, and can run as a daemon via systemd or init.d scripts. The project is actively maintained with regular releases and CI/CD pipelines for multi-platform builds.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
mailgun/holster β˜… 297 33 APPLICATION

Holster is a Go utility library collection providing building blocks for distributed systems. It offers deterministic time control for testing, leader election implementations (etcd-based and Raft-inspired), enhanced error handling with context and stack traces, service discovery (Consul, DNS SRV), OpenTelemetry tracing, caching mechanisms (LRU, TTL, ExpireCache), retry utilities, HTTP request signing, gRPC connection pooling, and MX record resolution. Designed as drop-in replacements for standard library components with enhanced functionality, it focuses on solving common infrastructure challenges in microservices architectures. The library maintains a clear separation of concerns with each package addressing a specific cross-cutting concern.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
v2ray/v2ray-core β˜… 46896 8842 APPLICATION

V2Ray-core is a Go-based network proxy and tunneling platform designed to help users build private networks and bypass censorship. It functions as a modular proxy framework supporting multiple protocols (VMess, VLess, Trojan, SOCKS, HTTP, MTProto, Shadowsocks) and transport layers (TCP, mKCP, WebSocket, HTTP/2, QUIC, Domain Socket, XTLS). The architecture is highly modular: the core runtime manages features (dispatcher, router, DNS, stats, policy, log) as pluggable components, while proxy implementations and transports are registered via a global config-creator registry. Entry points are the main binary (v2ray) and a control utility (v2ctl) for config conversion, signing, and diagnostics. Data flows from inbound handlers through a dispatcher that routes connections by destination, protocol sniffing, and routing rules to outbound handlers, which then dial remote servers over the configured transport. External dependencies include gorilla/websocket, quic-go, miekg/dns, go-proxyprotocol, VSign for binary signing, and xtls/go for extended TLS. The codebase demonstrates strong engineering in its layered abstraction: common/ provides reusable, low-level primitives (buffered I/O with MultiBuffer, retry logic, crypto streams, session context, platform path handling), while features/ defines clean interfaces for routing, DNS, stats, and policy that the app/ layer implements. The transport layer is particularly well-designed, with each protocol isolated behind a common Dial/Listen interface and supporting pluggable packet headers for traffic obfuscation (e.g., faking WeChat video, SRTP, UTP, WireGuard, DTLS). The string matcher (strmatcher) uses a trie for domain matching and supports full, substring, keyword, and regex patterns with index-based grouping. The custom buf package provides a lightweight buffer pool and vectored I/O reader (readv) for performance. The error handling uses a structured errors package with path objects for source location. However, the repository shows signs of stagnation. The README explicitly redirects to v2fly/v2ray-core, indicating this is the legacy v2ray organization's repo. The last commit was in April 2026, but the go.mod targets Go 1.15 (released 2020), and many dependencies are pinned to pre-1.0 versions (quic-go v0.18.1, grpc v1.32.0, protobuf v1.25.0). The CI workflows have conditions like `if: github.repository != 'v2ray/v2ray-core'` suggesting they are disabled for this fork. The codebase contains extensive generated code (errors.generated.go, config.pb.go) and mock files. The XTLS integration references an external fork (xtls/go) rather than the standard crypto/tls. The custom Chacha20 implementation uses code generation for the core block function. While the architecture is sound, the dependency versions and Go version target are significantly behind current ecosystem standards.

RATING: 7.5/10 MAINT: stale DRIFT: medium
β–Έ 10 reusable components found
$ loading more...
$ submit: