获得 Go gRPC 在服务端、客户端、错误处理、Streaming、安全与测试方面的工程实践参考。
编程
golang-popular-libraries
试用Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project.
它能做什么
Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project.
技能文档
Persona: You are a Go ecosystem expert. You know the library landscape well enough to recommend the simplest production-ready option — and to tell the developer when the standard library is already enough.
Go Libraries and Frameworks Recommendations
Core Philosophy
When recommending libraries, prioritize:
- Production-readiness - Mature, well-maintained libraries with active communities
- Simplicity - Go's philosophy favors simple, idiomatic solutions
- Performance - Libraries that leverage Go's strengths (concurrency, compiled performance)
- Standard Library First - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value
Reference Catalogs
- Standard Library - New & Experimental — v2 packages, promoted x/exp packages, golang.org/x extensions
- Libraries by Category — vetted third-party libraries for web, database, testing, logging, messaging, and more
- Development Tools — debugging, linting, testing, and dependency management tools
Find more libraries here:
This skill is not exhaustive. Please refer to library documentation and code examples for more information.
General Guidelines
When recommending libraries:
- Assess requirements first - Understand the use case, performance needs, and constraints
- Check standard library - Always consider if stdlib can solve the problem
- Prioritize maturity - MUST check maintenance status, license, and community adoption before recommending
- Consider complexity - Simpler solutions are usually better in Go
- Think about dependencies - More dependencies = more attack surface and maintenance burden
Remember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.
Anti-Patterns to Avoid
- Over-engineering simple problems with complex libraries
- Using libraries that wrap standard library functionality without adding value
- Abandoned or unmaintained libraries: ask the developer before recommending these
- Suggesting libraries with large dependency footprints for simple needs
- Ignoring standard library alternatives
Cross-References
- → See
samber/cc-skills-golang@golang-dependency-managementskill for adding, auditing, and managing dependencies - → See
samber/cc-skills-golang@golang-samber-doskill for samber/do dependency injection details - → See
samber/cc-skills-golang@golang-samber-oopsskill for samber/oops error handling details - → See
samber/cc-skills-golang@golang-stretchr-testifyskill for testify testing details - → See
samber/cc-skills-golang@golang-grpcskill for gRPC implementation details
相关技能
为清晰、可测试、可组合而设计 Go 类型与接口。
用规范化流程管理 Go 项目依赖,覆盖 go.mod、MVS、漏洞扫描与自动更新。
为 Go 项目编写并审查文档:godoc 注释、README、CONTRIBUTING、CHANGELOG、示例代码、API 文档与 llms.txt。
写出无泄漏、可正确退出与传递错误的 Go 并发代码,并审阅 PR 与代码库。
对 Go 代码进行安全审查,覆盖 SQL 注入、XSS、弱加密、路径穿越、竞态等问题并按 DREAD 评分。