golang
Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD and WebAssembly.
Configure Unify Execute. Validate, define, and use dynamic and text‑based data.
CUE makes it easy to validate data, write schemas, and ensure configurations align with policies.
CUE works with a wide range of tools and formats that you're already using such as Go, JSON, YAML, TOML, OpenAPI, Protobuf, and JSON Schema.
Related contents:
Hello friend 👋. I’ve been working in the sysadmin, devops and cybersecurity domains. I started with Go around 2018 after using mostly Bash, Perl and Python. It took me quite some time to become productive in Go but now I find it very useful - for building tools, automation and platforms.
Fabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.
Kong is a command-line parser for Go.
Kong aims to support arbitrarily complex command-line structures with as little developer effort as possible.
To achieve that, command-lines are expressed as Go types, with the structure and tags directing how the command line is mapped onto the struct.
Mockery is a project that creates mock implementations of Golang interfaces. It inspects source code and generates implementations of the interface that aid in testing.
In addition to providing a number of different styles of mocks, mockery also allows users to provide their own template files that will then be rendered using a set of template data, methods, and functions that provide comprehensive typing information about the Go interface in question.
GoMock is a mocking framework for the Go programming language.
Go Reference
gomock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing package, but can be used in other contexts too.
This project originates from Google's golang/mock repo. Unfortunately, Google no longer maintains this project, and given the heavy usage of gomock project within Uber, we've decided to fork and maintain this going forward at Uber.
Thou Shalt Write Tests.
A toolkit with common assertions and mocks that plays nicely with the standard library.
Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend.
Related contents:
One command. 25 languages. Universal multi-language runner and smart REPL written in Rust.
A universal code runner and stateful REPL written in Rust. Execute Python, JavaScript, TypeScript, Go, Rust, C, C++, Java, Kotlin, Swift, and 15 more languages with a single command.
Go Backend Generator.
Create Go projects faster → Auth, DB, gRPC, Docker, Swagger, and monitoring included.
GoCraft is a powerful, production-ready Go backend generator that helps developers quickly scaffold modern microservices with their preferred frameworks, databases, and features. Generate complete, well-structured Go applications in seconds with built-in best practices, security features, and comprehensive documentation.
Zero Allocation JSON Logger.
The zerolog package provides a fast and simple logger dedicated to JSON output.
Zerolog's API is designed to provide both a great developer experience and stunning performance. Its unique chaining API allows zerolog to write JSON (or CBOR) log events by avoiding allocations and reflection.
Cross-platform filesystem notifications for Go.
fsnotify is a Go library to provide cross-platform filesystem notifications on Windows, Linux, macOS, BSD, and illumos.
A difference algorithm module for Go. A high-performance difference algorithm module for Go.
Difference algorithms compare two inputs and find the edits that transform one to the other. This is very useful to understand changes, for example when comparing a test result with the expected result or to understand which changes have been made to a file.
Related contents:
a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS.
bluemonday takes untrusted user generated content as an input, and will return HTML that has been sanitised against an allowlist of approved HTML elements and attributes so that you can safely include the content in your web page.
Related contents:
Golangci-lint is a fast linters runner for Go
It runs linters in parallel, uses caching, supports YAML configuration, integrates with all major IDEs, and includes over a hundred linters.
Related contents:
An open-source framework for building AI-powered apps, built and used in production by Google
Open-source framework for building AI-powered apps in JavaScript, Go, and Python, built and used in production by Google
It offers a unified interface for integrating AI models from providers like Google, OpenAI, Anthropic, Ollama, and more. Rapidly build and deploy production-ready chatbots, automations, and recommendation systems using streamlined APIs for multimodal content, structured outputs, tool calling, and agentic workflows.
Related contents:
Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveraging NEON, AVX2, AVX-512, SVE, GPGPU, & SWAR to accelerate search, hashing, sorting, edit distances, sketches, and memory ops 🦖
Related contents:
Interactive Code Explorer.
Select a concurrency pattern from the sidebar to explore Go's powerful concurrency primitives with live code execution and event exploration.
A Model Context Protocol server for Go developers.
GoDoctor is an intelligent, AI-powered companion for the modern Go developer. It integrates seamlessly with AI-powered IDEs and other development tools through the Model Context Protocol (MCP), providing a suite of powerful features to enhance your workflow.
a go library for parsing command line arguments.
This library provides similar functionality to the builtin flag library of go, but provides much more functionality and nicer formatting. From the documentation:
Package flags provides an extensive command line option parser. The flags package is similar in functionality to the go builtin flag package but provides more options and uses reflection to provide a convenient and succinct way of specifying command line options.
10x faster dynamic Protobuf parsing in Go that’s even 3x faster than generated code.
hyperpb is a highly optimized dynamic message library for Protobuf or read-only workloads. It is designed to be a drop-in replacement for dynamicpb, protobuf-go's canonical solution for working with completely dynamic messages.
Related contents:
An Express-inspired web framework written in Go. Fiber is a Go web framework built on top of Fasthttp, the fastest HTTP engine for Go. It's designed to ease things up for fast development with zero memory allocation and performance in mind.
Related contents:
Otter is designed to provide an excellent developer experience while maintaining blazing-fast performance. It aims to address the shortcomings of its predecessors and incorporates design principles from high-performance libraries in other languages (such as Caffeine).
Related contents:
An open source framework for building AI-powered apps with familiar code-centric patterns. Genkit makes it easy to develop, integrate, and test AI features with observability and evaluations. Genkit works with various models and platforms.
Genkit is an open-source framework for building full-stack AI-powered applications, built and used in production by Google's Firebase. It provides SDKs for multiple programming languages with varying levels of stability
A programming language designed to fix Go’s frustrating design choices — without sacrificing its strengths 👾
Gauntlet is a programming language designed to address many of Golang’s shortcomings. It transpiles exclusively to Go code, fully supports all of its features, and integrates seamlessly with its entire ecosystem — without the need for bindings.
A minimal, developer-friendly pretty-printer and debug dumper for Go structs, inspired by Laravel’s dump() and Symfony’s VarDumper.
godump is a developer-friendly, zero-dependency debug dumper for Go. It provides pretty, colorized terminal output of your structs, slices, maps, and more — complete with cyclic reference detection and control character escaping. Inspired by Symfony's VarDumper which is used in Laravel's tools like dump() and dd().
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
go-mysql-server is a data-source agnostic SQL engine and server which runs queries on data sources you provide, using the MySQL dialect and wire protocol. A simple in-memory database implementation is included, and you can query any data source you want by implementing your own backend.
Related contents:
Mage is a make/rake-like build tool using Go. You write plain-old go functions, and Mage automatically uses them as Makefile-like runnable targets.
LDAP authentication server for developers. A lightweight LDAP server for development, home use, or CI.
Go-lang LDAP Authentication (GLAuth) is a secure, easy-to-use, LDAP server w/ configurable backends.
An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.
Patterns and techniques for writing high-performance applications with Go.
beego is an open-source, high-performance web framework for the Go programming language.
Beego is used for rapid development of enterprise application in Go, including RESTful APIs, web apps and backend services.
It is inspired by Tornado, Sinatra and Flask. beego has some Go-specific features such as interfaces and struct embedding.
Go Managed File Transfer.
GoMFT is a web-based managed file transfer application built with Go, leveraging rclone for robust file transfer capabilities. It provides a user-friendly interface for configuring, scheduling, and monitoring file transfers across various storage providers.
The GoAdBlock project is written entirely in Go and is designed for network level DNS ad-blocking functionality. The project is public, under the MIT License.
GoAdBlock is a lightweight, high-performance DNS-based ad blocker written in Go. It intercepts DNS queries for known advertising and tracking domains and prevents them from resolving, effectively blocking ads at the network level before they're downloaded.
url shortener.
krtk.ee (/ˈkrut.kʲɛ/) or KROOT-kyeh was created because I didn't see any easy-to-use or easy-to-deploy URL shorteners, so I made my own.
Write Go, online, with LLMs.
sketch.dev is a new kind of Go playground that lets you write and run Go code in your browser, in a real editor. Build packages and modules, import dependencies, run tests, code with chat, and use a lightweight unix sandbox.
Related contents:
OpenDAL represents Open Data Access Layer. Our vision is One Layer, All Storage.
OpenDAL (/ˈoʊ.pən.dæl/, pronounced "OH-puhn-dal") is an Open Data Access Layer that enables seamless interaction with diverse storage services.
OpenDAL's development is guided by its vision of One Layer, All Storage and its core principles: Open Community, Solid Foundation, Fast Access, Object Storage First, and Extensible Architecture.
Related contents:
Get Infrastructure from Code. Effortless backends with infrastructure from code. Nitric is a multi-language framework for cloud applications with infrastructure from code.
Nitric is a multi-language framework, with concise inline infrastructure from code. Modern applications should be robust, productive and a joy to build. Nitric solves common problems building for modern platforms:
Related contents:
Compile shell scripts to static binaries.
Bunster transforms your shell scripts into efficient, standalone binaries that are easy to distribute and deploy across platforms (only unix is supported at the moment).
Technically speaking, Bunster is a shell-to-Go Transpiler that generates Go source out of your scripts. Then, optionally uses the Go Toolchain to compile the code to an executable program.
pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
pflag is compatible with the GNU extensions to the POSIX recommendations for command-line options. For a more precise description, see the "Command-line flag syntax" section below.
Go configuration with fangs.
Viper is a complete configuration solution for Go applications including 12-Factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation.
An open framework to assemble ultra performance API Gateways with middlewares; formerly known as KrakenD framework, and core service of the KrakenD API Gateway. An extendable, simple and stateless high-performance API Gateway framework designed for both cloud-native and on-prem setups.
Lura is an API Gateway builder and proxy generator that sits between the client and all the source servers, adding a new layer that removes all the complexity to the clients, providing them only the information that the UI needs. Lura acts as an aggregator of many sources into single endpoints and allows you to group, wrap, transform and shrink responses. Additionally it supports a myriad of middlewares and plugins that allow you to extend the functionality, such as adding Oauth authorization or security layers.
TUI components for Bubble Tea 🫧 .
Some components for Bubble Tea applications. These components are used in production in Glow, Charm and many other applications.
The Microsoft Graph software development kits (SDKs) are designed to simplify building high-quality, efficient, resilient applications that access Microsoft Graph. The SDKs include two components: a service library and a core library.
The service library contains models and request builders generated from Microsoft Graph metadata. The service library provides a rich, strongly-typed, and discoverable experience when working with the many datasets available in Microsoft Graph.
A Framework for Modern CLI Apps in Go. A Commander for modern Go CLI interactions.
Cobra is a library for creating powerful modern CLI applications.
Related contents:
Lightweight universal DDNS Updater program. Container to update DNS records periodically with WebUI for many DNS providers. Program to keep DNS A and/or AAAA records updated for multiple DNS providers
AmphiPod is a lightweight, HTTP-based Model Context Protocol (MCP) server implementation written in Go. It simplifies the integration of AI tools by providing an HTTP interface to the MCP specification and executing tools through WebAssembly plugins.
Build Reliable Backends 10x Faster, Scale to Millions with 1 Click.
DBOS is a serverless platform for building highly reliable applications. What takes days to build on AWS takes minutes on DBOS.
Related contents:
Easy Go Containers. Build and deploy Go applications.
ko makes building Go container images easy, fast, and secure by default.
ko is a simple, fast container image builder for Go applications. It's ideal for use cases where your image contains a single Go application without any/many dependencies on the OS base image (e.g., no cgo, no OS package dependencies).
Go library and CLIs for working with container registries.
Go toolkit for clean, composable, channel-based concurrency.
Rill is a toolkit that brings composable concurrency to Go, making it easier to build concurrent programs from simple, reusable parts. It reduces boilerplate while preserving Go's natural channel-based model.
ar-go-tools (Argot) is a collection of analysis tools for Go
A Go test harness that starts an ephemeral PostgreSQL server.
Package postgrestest provides a test harness that starts an ephemeral PostgreSQL server. It is tested on macOS, Linux, and Windows. It can cut down the overhead of PostgreSQL in tests up to 90% compared to spinning up a postgres Docker container: starting a server with this package takes roughly 650 milliseconds and creating a database takes roughly 20 milliseconds.
Golang library for managing configuration data from environment variables.
Cloud Development Framework.
The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation.
It offers a high-level object-oriented abstraction to define AWS resources imperatively using the power of modern programming languages. Using the CDK’s library of infrastructure constructs, you can easily encapsulate AWS best practices in your infrastructure definition and share it without worrying about boilerplate logic.