Awesome Go


We use the Golang Bridge community Slack for instant communication, follow the form here to join.

Sponsorships:
Special thanks to
Awesome Go has no monthly fee, but we have employees who work hard to keep it running. With money raised, we can repay the effort of each person involved! You can see how we calculate our billing and distribution as it is open to the entire community. Want to be a supporter of the project click here.
A curated list of awesome Go frameworks, libraries, and software. Inspired by awesome-python.
Contributing:
Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!
If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Contents
Expand contents
⬆ back to top
Actor Model
Libraries for building actor-based programs.
- asyncmachine-go/pkg/machine - Graph control flow library (AOP, actor, state-machine).
- Ergo - An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang.
- Goakt - Fast and Distributed Actor framework using protocol buffers as message for Golang.
- Hollywood - Blazingly fast and light-weight Actor engine written in Golang.
- ProtoActor - Distributed actors for Go, C#, and Java/Kotlin.
⬆ back to top
Artificial Intelligence
Libraries for building programs that leverage AI.
- AegisFlow - AI gateway for routing, securing, and monitoring LLM traffic across 10+ providers. OpenAI-compatible API, WASM policy plugins, canary rollouts, real-time dashboard.
- Aetheris - AI Agent execution runtime with event sourcing, checkpoint recovery, and At-Most-Once execution guarantee. Written in Go.
- agent-sdk-go - Framework for building stateful AI agents in Go.
- agy-mcp - Model Context Protocol (MCP) server wrapping the Antigravity CLI to run prompts and peer reviews.
- ai - A Go toolkit for building AI agents and applications across multiple providers with unified LLM, embeddings, tool calling, and MCP integration.
- ai-gateway - OpenAI-compatible LLM gateway that routes requests across 30 providers with fallback, rate limiting, budgets, guardrails, and observability.
- chromem-go - Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence.
- crewai-go - Idiomatic Go port of CrewAI (multi-agent orchestration). Zero dependencies, stdlib only.
- dakera-go - Official Go client SDK for the Dakera self-hosted agent memory server, providing typed interfaces for memory store/recall, session management, namespace operations, and decay configuration.
- fun - The simplest but powerful way to use large language models (LLMs) in Go.
- goai - Go SDK for building AI applications. One SDK, 20+ providers. Inspired by Vercel AI SDK.
- GoModel - AI gateway exposing a unified OpenAI-compatible API across OpenAI, Anthropic, Gemini, Groq, xAI, Ollama and other providers, with routing, usage tracking, rate limits, and guardrails.
- hotplex - AI Agent runtime engine with long-lived sessions for Claude Code, OpenCode, pi-mono and other CLI AI tools. Provides full-duplex streaming, multi-platform integrations, and secure sandbox.
- jargo - Framework for building real-time voice AI agents over WebRTC, wiring speech-to-text, LLMs, and text-to-speech into a streaming pipeline.
- keen-code - A context-efficient terminal-based AI coding agent. Provider agnostic, supports MCPs, Agent Skills, Subagents, and more. Comes with a simple and straightforward TUI.
- langchaingo - LangChainGo is a framework for developing applications powered by language models.
- langgraphgo - A Go library for building stateful, multi-actor applications with LLMs, built on the concept of LangGraph,with a lot of builtin Agent architectures.
- llm-box - Terminal-based AI workflow engine with YAML-driven pipelines, 20+ LLM providers (DeepSeek, Qwen, GLM, Mistral, etc.), and a TUI for workflow management.
- LocalAI - Open Source OpenAI alternative, self-host AI models.
- localaik - LocalStack-style local emulation of OpenAI and Gemini APIs; single Docker container, llama.cpp + Gemma 3 backend.
- mcp-go - Go implementation of the Model Context Protocol for building MCP servers and clients in Go.
- Ollama - Run large language models locally.
- OllamaFarm - Manage, load-balance, and failover packs of Ollamas.
- otellix - OpenTelemetry-native LLM observability and budget guardrails for cost-constrained production environments.
- routex - YAML-driven multi-agent AI runtime for Go with Erlang-style supervision, MCP tool server support, and a CLI.
- semantic-search - Meaning-based search over PDF, Markdown, DOCX, source code, and other file types, using generative AI embedding models to vectorize files into a vector database.
- skillreaper - CLI that scans AI agent session transcripts to identify and safely quarantine unused skills, MCP servers, and agents across Claude Code, Codex CLI, Hermes, OpenCode, Cursor, and OpenClaw.
- Smeldr - AI-native content backend with typed lifecycle management, native MCP tools for every content type, and zero runtime dependencies.
- snip - CLI proxy that reduces LLM token usage by 60-90% with declarative YAML filters. Drop-in for Claude Code, Cursor, Copilot, and Gemini. rtk alternative in Go.
- trpc-agent-go - Framework for building LLM-based multi-agent systems.
- web-researcher-mcp - MCP server providing AI assistants with web search, content extraction, and multi-source research capabilities. Single binary, 5 search providers with circuit-breaker failover, 4-tier scraping pipeline.
- zenflow - Multi-agent orchestration & workflow engine. Declarative YAML workflows, LLM coordinator with hub-and-spoke mailboxes, race-safe delivery. One YAML file, one Go binary. Runs on any goai-supported provider.
⬆ back to top
Audio and Music
Libraries for manipulating audio and music.
- beep - A simple library for playback and audio manipulation.
- flac - Native Go FLAC encoder/decoder with support for FLAC streams.
- gaad - Native Go AAC bitstream parser.
- go-aac - Pure-Go AAC-LC encoder and decoder ported from FFmpeg.
- go-audio-resampler - Pure-Go, high-quality audio resampler with SIMD acceleration.
- go-flac - Native Go FLAC encoder and decoder with SIMD acceleration.
- go-mpris - Client for mpris dbus interfaces.
- go-opus - Native Go implementation of the Opus audio codec (RFC 6716) with RFC-compliant decoder.
- go-resample - Pure-Go (no cgo) audio sample-rate converter with sinc, linear, and zero-order-hold converters.
- go-wav - Pure-Go WAV/RIFF reader and writer with RF64 and BW64 support for files larger than 4 GiB.
- GoAudio - Native Go Audio Processing Library.
- gosamplerate - libsamplerate bindings for go.
- id3v2 - ID3 decoding and encoding library for Go.
- malgo - Mini audio library.
- minimp3 - Lightweight MP3 decoder library.
- music-theory - Music theory models in Go.
- Oto - A low-level library to play sound on multiple platforms.
- PortAudio - Go bindings for the PortAudio audio I/O library.
-voxrai-ai - AI voice agents with a JSON configuration, STT → LLM → TTS pipelines over WebSocket and WebRTC
⬆ back to top
Authentication and Authorization
Libraries for implementing authentication and authorization.
- authboss - Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.
- authgate - A lightweight OAuth 2.0 Authorization Server supporting Device Authorization Grant (RFC 8628), Authorization Code Flow with PKCE (RFC 6749 + RFC 7636), and Client Credentials Grant for machine-to-machine authentication.
- branca - branca token specification implementation for Golang 1.15+.
- casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC.
- cookiestxt - provides a parser of cookies.txt file format.
- go-githubauth - Utilities for GitHub authentication: generate and use GitHub application and installation tokens.
- go-guardian - Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.
- go-iam - Developer-first Identity and Access Management system with a simple UI.
- go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
- go-jwt - A JWT (JSON Web Token) library for Go.
- go-jwt - JWT authentication package providing access tokens and refresh tokens with f