golang-popular-libraries

द्वारा samber

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.

npx skills add https://github.com/samber/cc-skills-golang --skill golang-popular-libraries

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:

  1. Production-readiness - Mature, well-maintained libraries with active communities
  2. Simplicity - Go's philosophy favors simple, idiomatic solutions
  3. Performance - Libraries that leverage Go's strengths (concurrency, compiled performance)
  4. Standard Library First - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value

Reference Catalogs

Find more libraries here: https://github.com/avelino/awesome-go

This skill is not exhaustive. Please refer to library documentation and code examples for more information.

General Guidelines

When recommending libraries:

  1. Assess requirements first - Understand the use case, performance needs, and constraints
  2. Check standard library - Always consider if stdlib can solve the problem
  3. Prioritize maturity - MUST check maintenance status, license, and community adoption before recommending
  4. Consider complexity - Simpler solutions are usually better in Go
  5. 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-management skill for adding, auditing, and managing dependencies
  • → See samber/cc-skills-golang@golang-samber-do skill for samber/do dependency injection details
  • → See samber/cc-skills-golang@golang-samber-oops skill for samber/oops error handling details
  • → See samber/cc-skills-golang@golang-stretchr-testify skill for testify testing details
  • → See samber/cc-skills-golang@golang-grpc skill for gRPC implementation details

samber की और Skills

golang-code-style
samber
Golang code style conventions — line length and breaking, variable declarations, control flow clarity, when comments help vs hurt. Use when writing or reviewing Go code, asking about style or clarity, or establishing project coding standards. Not for naming conventions (→ See `samber/cc-skills-golang@golang-naming` skill), linter configuration (→ See `samber/cc-skills-golang@golang-lint` skill), or doc comments (→ See `samber/cc-skills-golang@golang-documentation` skill).
developmentcode-review
golang-testing
samber
प्रोडक्शन-रेडी गोलैंग टेस्ट — टेबल-ड्रिवन टेस्ट, टेस्टिफाई सूट और मॉक, पैरेलल टेस्ट, फज़िंग, फिक्स्चर, गोलिक के साथ गोरूटीन लीक डिटेक्शन, स्नैपशॉट टेस्टिंग, कोड कवरेज, इंटीग्रेशन टेस्ट, इडियोमैटिक टेस्ट नेमिंग। गो टेस्ट लिखते या रिव्यू करते समय, टेस्टिंग दृष्टिकोण चुनते समय, गो टेस्ट सीआई सेट अप करते समय, या फ्लैकी/स्लो टेस
developmenttestingcode-review
golang-design-patterns
samber
इडियोमैटिक गोलैंग डिज़ाइन पैटर्न — फंक्शनल ऑप्शंस, कंस्ट्रक्टर, एरर फ्लो और कैस्केडिंग, रिसोर्स मैनेजमेंट और लाइफसाइकिल, ग्रेसफुल शटडाउन, रेज़िलिएंस, आर्किटेक्चर, डिपेंडेंसी इंजेक्शन, डेटा हैंडलिंग, स्ट्रीमिंग और अन्य। तब लागू करें जब आर्किटेक्चरल पैटर्न के बीच स्पष्ट रूप से चुनाव करना हो, फंक्शनल ऑप्शंस लागू करना हो, कं
developmentdesigncode-review
golang-error-handling
samber
इडियोमैटिक गोलैंग एरर हैंडलिंग — %w के साथ क्रिएशन और रैपिंग, errors.Is/As, errors.Join, कस्टम एरर टाइप्स, सेंटिनल एरर्स, panic/recover, सिंगल हैंडलिंग रूल, slog के साथ स्ट्रक्चर्ड लॉगिंग, HTTP रिक्वेस्ट लॉगिंग मिडलवेयर, और प्रोडक्शन एरर्स के लिए samber/oops। लॉग एग्रीगेशन थर्ड-पार्टी टूल्स के साथ स्केल पर लॉग्स को उपयोगी बनाने के लिए बनाया गया। Go कोड में एरर्स बनाते, रैप करते, निर
developmentcode-review
golang-performance
samber
गोलांग प्रदर्शन अनुकूलन पैटर्न और पद्धति - यदि X अड़चन है, तो Y लागू करें। इसमें आवंटन कमी, CPU दक्षता, मेमोरी लेआउट, GC ट्यूनिंग, पूलिंग, कैशिंग और हॉट-पाथ अनुकूलन शामिल है। इसका उपयोग तब करें जब प्रोफाइलिंग या बेंचमार्क ने कोई अड़चन पहचान ली हो और आपको उसे ठीक करने के लिए सही अनुकूलन पैटर्न की आवश्यकता हो। इसका उपयोग प्रदर्शन कोड समीक्षा करते समय भी करें ताकि सुधार
developmentcode-review
golang-security
samber
गोलांग के लिए सुरक्षा सर्वोत्तम अभ्यास और भेद्यता रोकथाम। इंजेक्शन (SQL, कमांड, XSS), क्रिप्टोग्राफी, फाइलसिस्टम सुरक्षा, नेटवर्क सुरक्षा, कुकीज़, सीक्रेट्स प्रबंधन, मेमोरी सुरक्षा और लॉगिंग को शामिल करता है। सुरक्षा के लिए Go कोड लिखते, समीक्षा करते या ऑडिट करते समय, या क्रिप्टो, I/O, सीक्रेट्स प्रबंधन, उपयोगकर्ता इनपुट हैंडलिंग या प्रमाणीकरण से जुड़े किसी भी जोख
securitycode-reviewdevelopment
golang-database
samber
Go डेटाबेस एक्सेस के लिए व्यापक मार्गदर्शिका — पैरामीटराइज़्ड क्वेरीज़, स्ट्रक्ट स्कैनिंग, NULL योग्य कॉलम, ट्रांज़ैक्शन, आइसोलेशन लेवल, SELECT FOR UPDATE, कनेक्शन पूल, बैच प्रोसेसिंग, कॉन्टेक्स्ट प्रोपेगेशन और माइग्रेशन टूलिंग। PostgreSQL, MariaDB, MySQL या SQLite के साथ इंटरैक्ट करने वाले Golang कोड को लिखते, समीक्षा करते या डीबग करते समय उपयोग करें; डेटाबेस परीक्षण के लिए; या database/sql, sqlx या pg
developmentdatabase
golang-lint
samber
Golang प्रोजेक्ट्स के लिए लिंटिंग सर्वोत्तम अभ्यास और golangci-lint कॉन्फ़िगरेशन — लिंटर चलाना, .golangci.yml कॉन्फ़िगर करना, nolint निर्देशों के साथ चेतावनियाँ दबाना, लिंट आउटपुट की व्याख्या करना और लिंटर चुनना। इसका उपयोग तब करें जब golangci-lint कॉन्फ़िगर करना हो, लिंट चेतावनियों या nolint सप्रेशन के बारे में पूछना हो, कोड गुणवत्ता टूलिंग सेट अप करनी हो, या लिंटर चुनने हों। इसका उपयोग तब भी करें
developmentcode-reviewtesting