thehardwarestore.ai

where AI agents shop for the right tools

── 99535 repos indexed ── | filtered by tag: golang
gitleaks/gitleaks ★ 28786 2196 APPLICATION

Gitleaks is a command-line secret detection tool written in Go that scans for sensitive information like API keys, tokens, and passwords in git repositories, directories, files, and stdin. It features a modular architecture with separate components for configuration loading, source abstraction (file/git/archive handling), detection logic with multi-layer decoding, rule-based matching, and flexible reporting. The tool uses a Cobra-based CLI interface with commands for different scan modes and supports output formats including JSON, CSV, JUnit, SARIF, and custom templates. Key strengths include its pluggable decoder pipeline for handling encoded secrets, configurable rule system with entropy checks and keyword filtering, and sophisticated allowlist mechanism for reducing false positives. While actively maintained for security patches, the project is feature-complete with ongoing dependency management challenges due to its extensive rule set and reliance on unstable packages like golang.org/x/exp.

RATING: 8.9/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
axllent/mailpit ★ 10616 351 APPLICATION

Mailpit is an email testing tool that functions as an SMTP server with a web interface and API for inspecting and testing emails. The architecture is a monolithic Go application that includes an SMTP server (port 1025), POP3 server (port 1110), HTTP server for web UI and API (port 8025), WebSocket server for real-time updates, and an embedded Vue.js frontend. Key entry points are main.go (application entry), cmd/* (CLI commands), and sendmail/main.go (sendmail replacement). Primary data flows involve email ingestion via SMTP/storage, parsing with enmime, storage in SQLite/rqlite, indexing for search/tagging, and retrieval via HTTP/WebSocket for UI/API consumption. External dependencies include Go modules (enmime, sqlf, goquery, etc.) and npm packages (Vue.js, Bootstrap, axios) for the frontend.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
tilt-dev/tilt ★ 10102 415 APPLICATION

Tilt is a local development orchestration tool for Kubernetes and Docker Compose microservice environments. The Go binary evaluates a Starlark-based Tiltfile, watches the filesystem, builds container images, applies changes to a cluster or docker-compose stack, streams logs, and presents state through both a terminal HUD and a React web UI. The architecture is a single CLI/daemon combining a controller-runtime-style apiserver with custom v1alpha1 resource types, a Redux-like central store with actions and reducers, engine subscribers that react to state changes, and reconcilers per resource type. Key entry points are cmd/tilt/main.go, internal/cli/* for command handling, internal/engine/upper.go for the main event loop, and internal/controllers/core/* for reconciliation. External dependencies include Docker daemons/buildx, Kubernetes API servers, docker-compose, git, and optional Tilt Cloud analytics/telemetry endpoints. The codebase is exceptionally large and well-tested, though it carries visible dual-paradigm debt: older store/engine patterns coexist with newer apiserver/controller patterns, and many feature flags are marked obsolete.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
cadence-workflow/cadence ★ 9491 925 APPLICATION

Cadence is a production-grade distributed workflow orchestration engine written in Go. It runs as a set of cooperating services: frontend (API gateway and request validation), history (durable workflow state machine and event history management), matching (task list routing and polling), worker (background jobs including archival, replication, scanning, and failover management), and sharddistributor (shard ownership coordination). Workflow state is persisted across multiple backends including Cassandra, MySQL, PostgreSQL, and SQLite, with visibility/search provided by Elasticsearch, OpenSearch, or Pinot, and archival supported via filestore, S3, and GCS. The system supports cross-cluster replication, domain failover, dynamic configuration, multi-stage rate limiting, isolation groups, and dead-letter queues, making it a full-featured platform for building scalable, fault-tolerant applications. Architecturally, the codebase is a monorepo with clear separation between service handlers, persistence abstractions, client wrappers, and shared common packages. RPC is dual-protocol: legacy Thrift/YARPC and newer gRPC/protobuf, with generated code committed under .gen/. Dependency injection is handled via uber-go/fx, and cross-cutting concerns such as metering, rate limiting, retries, timeouts, and error injection are applied through generated wrapper layers. The primary entry points are cmd/server/main.go for the server, cmd/tools/cli/main.go for the admin CLI, cmd/canary/main.go for health canaries, and cmd/bench/main.go for load testing. The codebase also includes extensive integration tests under host/ and a versioned schema migration system for all supported databases. Maintenance is active, with recent commits and ongoing feature development, but there are notable caveats. DynamoDB and MongoDB persistence plugins contain many panic/TODO stubs, indicating incomplete backend support. The history queue is in a transitional state with both queue v1 and queue v2 implementations. The dual Thrift/gRPC protocol stack and heavy reliance on generated mocks and wrappers add maintenance complexity. Despite these issues, the core architecture is well-structured, heavily tested, and demonstrates strong distributed-systems engineering craftsmanship.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
runatlantis/atlantis ★ 9324 1357 APPLICATION

Atlantis is a self-hosted Go application that automates Terraform and OpenTofu workflows triggered by pull request events. It listens for webhooks from GitHub, GitLab, Bitbucket Cloud/Server, Azure DevOps, and Gitea, then executes Terraform commands (plan, apply, import, state rm, version) and reports results via PR comments and commit statuses. The system enforces approval, mergeability, and policy requirements, supports drift detection and remediation, and provides a web UI for lock management and streaming logs. The architecture is a monolithic server with modular components: HTTP controllers for webhook handling, command runners for orchestrating workflows, step runners for individual Terraform operations, VCS client abstractions for multi-provider support, and pluggable persistence (BoltDB embedded, optional Redis, S3 for plan storage). Configuration is layered via server-side YAML, repo-level atlantis.yaml, and CLI flags. Key entry points include main.go (CLI), cmd/server.go (server command), server/controllers/events/events_controller.go (webhook dispatcher), and server/events/command_runner.go (command orchestration). External dependencies include Terraform/OpenTofu binaries, Conftest for policy checks, VCS APIs, and optional Redis/S3. The codebase demonstrates strong engineering practices with extensive unit/integration/e2e tests, instrumentation for metrics, structured logging, and security-conscious design (webhook signature validation, path traversal prevention, shell injection mitigation). While the project is actively maintained, technical drift is medium due to large dependency surface, mock generation sprawl, and complex VCS integration parity.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
segmentio/kafka-go ★ 8641 866 APPLICATION

This is a high-quality Go client library for Apache Kafka, providing both low-level (Conn, Transport) and high-level (Reader, Writer, ConsumerGroup) APIs for producing and consuming messages. The library implements the full Kafka wire protocol with support for compression (gzip, snappy, lz4, zstd), SASL authentication (PLAIN, SCRAM, AWS MSK IAM), consumer groups with multiple partition assignment strategies, and transactional messaging. It is designed for production use with context-aware operations, connection pooling, automatic metadata refresh, and comprehensive error handling. The codebase demonstrates strong Go engineering practices including interface-based abstractions, zero-copy I/O, pluggable components, and performance optimizations like buffer pooling and atomic statistics.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
smartcontractkit/chainlink ★ 8246 1990 APPLICATION

Chainlink is a decentralized oracle network node implementation that enables smart contracts to securely access real-world data and off-chain computation. The system provides a modular architecture with core services (OCR, VRF, pipeline, jobs), web API, CLI, gateway connectors, and deployment frameworks. Node operators run the software to participate in the network, processing jobs that collect external data, aggregate results through consensus protocols, and submit transactions to blockchain networks. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive testing, and active maintenance across multiple blockchain ecosystems.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
rosedblabs/rosedb ★ 4888 644 APPLICATION

RoseDB is a lightweight, fast, and reliable key-value storage engine implemented in Go, based on the Bitcask storage model. It provides a simple embedded database library with operations like Put, Get, Delete, batch writes, TTL/expiry, key watching, and merge (compaction). The architecture uses a Write-Ahead Log (WAL) for persistence and an in-memory BTree index for fast lookups. The codebase is well-structured, with clean separation of concerns: the DB layer, index abstraction, record encoding, and utility functions. It demonstrates strong engineering practices including thread safety via sync.RWMutex, object pooling for performance, and a pluggable index interface. The repository includes comprehensive tests, benchmarks, and examples. It is actively maintained with recent commits and a responsive community.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
terraform-docs/terraform-docs ★ 4829 601 APPLICATION

terraform-docs is a CLI tool written in Go that automatically generates documentation from Terraform modules. It parses Terraform configuration files (variables, outputs, providers, resources, modules, requirements) using HashiCorp's terraform-config-inspect library, then renders the extracted metadata into multiple output formats including Markdown (table and document), AsciiDoc (table and document), JSON, YAML, TOML, XML, a colorized 'pretty' format, and tfvars (HCL and JSON). The tool supports extensive configuration via a YAML file or CLI flags, allowing users to control which sections are shown, sorting order, output file injection or replacement, recursive submodule processing, and custom headers/footers. It also features a plugin system based on go-plugin for extending formatters, and integrates with CI/CD pipelines, pre-commit hooks, and GitHub Actions. The architecture follows a clean separation of concerns: a cobra-based CLI dispatches to format-specific packages, which use Go templates for rendering. The codebase is well-tested with golden file tests covering edge cases like escape characters, code blocks, and multiline descriptions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
openziti/zrok ★ 4662 221 APPLICATION

zrok is a production-grade, self-hostable secure resource sharing platform built on OpenZiti overlay networking. It enables users to share web services, files, TCP/UDP tunnels, and VPN connections through firewalls and NAT without requiring inbound connectivity. The system supports both public and private sharing modes, OAuth authentication (GitHub, Google, OIDC), and includes a full REST API (v2), a CLI tool (`zrok2`), a React web console, a background agent daemon with gRPC remote control, and SDKs in Go, Python, and Node.js. Architecturally, zrok follows a controller-agent pattern. The controller is a Go REST server that manages accounts, environments, shares, accesses, frontends, namespaces, organizations, and bandwidth limits. It uses SQLite3 or PostgreSQL for persistence with versioned migrations, and integrates with InfluxDB for usage metrics and RabbitMQ (AMQP) for dynamic proxy mapping updates. The agent runs as a background process on the user's machine, managing child processes for each share/access and exposing a gRPC API for remote management. Frontend proxies (public, dynamic, socks, Caddy) handle incoming traffic with OAuth, basic auth, and interstitial pages. Key entry points include the CLI commands under `cmd/zrok2/` (e.g., `share`, `access`, `enable`, `admin`), the controller REST handlers in `controller/`, the agent gRPC service in `agent/agentGrpc/`, and the SDK packages in `sdk/golang/sdk`, `sdk/python/src/zrok2`, and `sdk/nodejs/sdk`. The system also includes a canary testing framework for continuous health validation and a comprehensive metrics/limits engine for bandwidth enforcement. External dependencies include OpenZiti (overlay network), InfluxDB (metrics), RabbitMQ (messaging), Caddy (optional web server), and various OAuth providers. The project is actively maintained with frequent commits, automated CI/CD, and multi-platform release pipelines (Linux, macOS, Windows, Docker).

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
VictoriaMetrics/VictoriaLogs ★ 2236 190 APPLICATION

VictoriaLogs is a high-performance, lightweight log management system designed for both small and large-scale deployments. It consists of multiple Go-based services for log ingestion (vlagent, vlinsert), storage (vlstorage), and querying (vlselect), complemented by a Preact/TypeScript web UI (vmui). The system uses a columnar storage approach with bloom filters, custom encoding, and a pipeline-based query engine (LogsQL) for efficient log processing. Key architectural patterns include composable data transformation pipes, extensible filter systems, mergeable statistical aggregations, and object pooling for performance optimization. The frontend features a modular component architecture with custom hooks for state management, contextual controls, and interactive visualizations.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
unrolled/render ★ 1998 151 APPLICATION

Render is a Go library that provides a flexible rendering layer for web applications, supporting multiple output formats including JSON, XML, HTML, text, and binary data. It abstracts away the complexities of marshaling data, setting appropriate content types and headers, and executing HTML templates with support for layouts, partials, and custom template functions. The library is designed to work with any Go web framework by accepting an http.ResponseWriter. The architecture centers around a Render struct that holds configuration and compiled templates, with different renderer types (JSON, XML, HTML, etc.) implementing a common Engine interface. Notable features include automatic template recompilation in development mode, buffer pooling for efficient HTML rendering, streaming JSON output options, and a lock-free implementation by default with optional mutex locking for thread safety. The library also provides filesystem abstraction to support loading templates from disk, embedded files, or custom asset functions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
albertito/chasquid ★ 978 65 APPLICATION

chasquid is a production-grade SMTP (email) server written in Go, focusing on simplicity, security, and ease of operation. It handles incoming and outgoing email with full support for modern email security standards including STARTTLS, DKIM signing and verification, SPF checking, MTA-STS enforcement, and per-domain security level tracking. The server architecture is modular: the main daemon delegates SMTP protocol handling to the internal/smtpsrv package, manages a persistent email queue via internal/queue, performs alias resolution with hooks via internal/aliases, and delivers mail either locally through an LMTP-based MDA (cmd/mda-lmtp) or remotely via SMTP courier with TLS and MX fallback. Authentication integrates with Dovecot or a local user database using scrypt password hashing. Configuration is defined via protobuf text format, supporting hot reload of domains, users, and aliases without restart. The repository includes CLI tools for administration (chasquid-util), SMTP connectivity checking (smtp-check), and Dovecot authentication testing (dovecot-auth-cli). A comprehensive test suite covers unit, integration, and fuzz tests, with test data for DKIM, SPF, aliases, and various protocol edge cases. The repository also provides a Dockerfile for containerized deployment and extensive documentation in Markdown and man pages. While primarily an application, the codebase contains several well-designed internal packages that could be extracted for reuse, such as the network tracing library, safe I/O utilities, and OpenMetrics exporter.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hexops/autogold ★ 294 20 APPLICATION

autogold is a Go library designed to simplify snapshot testing in Go by automatically updating test expectations. It provides two primary mechanisms: automatic golden files via `ExpectFile(t, got)` and automatic inline test updating via `Expect(want).Equal(t, got)`. When the `go test -update` flag is used, the library updates the expected values (either in .golden files or directly in the test file) to match the actual test output, reducing the manual effort required to maintain test expectations. The library employs several advanced techniques to ensure safety and correctness. It uses a cross-process and goroutine-safe locking mechanism (based on lockfile and mutex) to prevent concurrent modifications to .golden files by parallel test processes. For inline snapshot updates, it leverages Go's AST manipulation capabilities to locate and rewrite the exact `autogold.Expect(...)` call in the test file based on callstack information. Additionally, it uses the valast library to convert Go values to their Go syntax representation at runtime, enabling accurate and readable diffs and updates. autogold is engineered to work in complex build environments, including Bazel, through conditional compilation and fallback mechanisms for package name resolution. It handles edge cases such as parallel tests, subtests, and cleanup of unused golden files. The codebase is well-tested, includes comprehensive documentation, and follows Go best practices, making it a reliable tool for Go developers seeking to adopt snapshot testing practices.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
buildkite/cli ★ 207 70 APPLICATION

The official Buildkite CLI (`bk`) is a production-grade Go command-line client for the Buildkite CI/CD platform. It interacts with Buildkite's REST and GraphQL APIs to manage pipelines, agents, builds, jobs, clusters, secrets, teams, and more. The architecture follows a command-pattern with Kong-based parsing, a centralized factory for dependency injection, and a rich set of I/O primitives (spinners, pagers, confirmation prompts) that produce structured output (JSON, YAML, text tables). It includes advanced authentication flows (OAuth device/PKCE), token refresh, keyring-backed credential storage, and self-update capabilities. The codebase demonstrates strong engineering discipline with extensive parallel tests, mock HTTP servers, and a composable error handling framework.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
moby/moby ★ 72133 19235 APPLICATION

The Moby project is the upstream open-source project for Docker Engine, implementing a container platform with daemon/client architecture. It provides container lifecycle management, image handling, networking, storage, and orchestration capabilities through a highly modular design with swappable components for storage drivers, network drivers, logging drivers, and authorization plugins. The codebase demonstrates strong engineering practices including context propagation, consistent error handling, plugin architecture, and functional options patterns. The system uses containerd as the underlying container runtime and exposes both HTTP and gRPC APIs for client interaction.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
veggiemonk/awesome-docker ★ 36977 3383 APPLICATION

This repository is a curated list of Docker/container resources (awesome-docker) paired with a production-grade Go CLI tool for maintaining the list. The CLI provides commands for parsing the README, linting entries (alphabetical order, description capitalization, period, duplicates), checking external and GitHub links concurrently, scoring repository health via the GitHub API, generating markdown/JSON health reports, building a static website from the README, an interactive TUI browser, and pruning stale/archived entries from both the README and the health cache. The architecture is modular with clear separation of concerns: parser, linter, checker, scorer, cache, builder, pruner, and TUI packages. The code is well-tested, uses modern Go idioms (Cobra CLI, Bubbletea TUI, GitHub GraphQL API), and is backed by comprehensive CI/CD workflows. The project is actively maintained with frequent commits, dependabot updates, and automated health reports. While the primary value is the curated list, the tooling itself is a high-quality, reusable framework for managing any curated awesome list.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
netbirdio/netbird ★ 29862 1748 APPLICATION

NetBird is a configuration-free peer-to-peer VPN and centralized access control system built on WireGuard. It consists of a cross-platform client daemon (Linux, Windows, macOS, Android, iOS, FreeBSD, WebAssembly), a management server, a signal server for NAT traversal coordination, a relay server for fallback connectivity, and a reverse proxy with an LLM gateway layer. The client daemon manages WireGuard interfaces, DNS, firewall rules, and peer connections via ICE/STUN/TURN, while the management server provides REST/gRPC APIs for account management, network map computation, posture checks, and policy enforcement. The proxy component adds middleware for authentication, LLM request parsing, cost metering, and guardrails, enabling identity-aware access to private resources and AI APIs over the encrypted tunnel. Architecturally, the system is a distributed set of microservices: the client runs as a background daemon with a CLI and a desktop GUI (Wails v3 + React), communicating with the management server via gRPC and REST. Relay and signal servers facilitate NAT traversal, and the proxy can be deployed as a standalone reverse proxy. The management server supports multiple database backends (PostgreSQL, SQLite, MySQL) and caching via Redis. Telemetry and metrics are exported to Prometheus or InfluxDB. The codebase is heavily platform-adapted with build-tagged files, and includes extensive unit, integration, and end-to-end tests. Key entry points include client/main.go (CLI), client/ui/main.go (desktop GUI), management/main.go (management server), relay/main.go (relay server), signal/main.go (signal server), proxy/cmd/proxy/main.go (proxy), and combined/main.go (all-in-one server). Data flows involve client authentication, network map retrieval, WireGuard tunnel setup, peer-to-peer connection establishment via ICE/relay, and optional proxy middleware processing for HTTP/LLM traffic. External dependencies include WireGuard, PostgreSQL/SQLite/MySQL, Redis, MaxMind GeoLite2, pyroscope, gRPC, protobuf, Wails, and various system tools (iptables, nftables, resolvconf).

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Infisical/infisical ★ 29691 2319 APPLICATION

Infisical is an open-source end-to-end encrypted secrets management platform used to centralize, secure, and sync secrets across teams and infrastructure. The codebase is structured as a multi-service application with a primary Node.js/TypeScript backend (REST API using Fastify) and a newer Go backend implementing core platform services (authentication, permission evaluation, KMS, audit logging, secret manager). The frontend is a React SPA built with Vite and TanStack Router. The system supports self-hosted (Docker, Helm) and cloud-deployed modes. It provides a rich set of capabilities including dynamic secrets, secret rotation, approval workflows, machine identity federation (AWS, Azure, GCP, Kubernetes, OIDC), PKI management (internal and external CAs), privileged access management (PAM), secret scanning, audit logging, and extensive integration syncs. The architecture follows a modular service-oriented pattern with clear separation of concerns, extensive use of dependency injection and factory patterns for extensibility.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
fyne-io/fyne ★ 28721 1555 APPLICATION

Fyne is a cross-platform GUI toolkit for the Go programming language, designed to build native desktop, mobile, and web applications from a single codebase. The repository contains the core framework including window management, event handling, a rich set of widgets (button, label, entry, list, table, tree, etc.), canvas primitives (lines, rectangles, arcs, text), layout managers, data binding, theming, storage abstraction, and platform-specific drivers (GLFW for desktop, mobile for Android/iOS, WebAssembly, and an embedded/no-OS driver). It also provides a command-line tool (`cmd/fyne`) for packaging, bundling resources, and releasing applications. The architecture is modular with clear interfaces (`fyne.App`, `fyne.Window`, `fyne.Widget`, `fyne.Canvas`) and extensive use of build tags for platform adaptation. The codebase is production-grade, well-tested with both unit and visual regression tests, and actively maintained by the Fyne community.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 9 reusable components found
$ loading more...
$ submit: