AI 资讯
Go Modules in Practice: Init, Tidy, Vendor, and Publishing Packages
As a backend engineer, I have worked on many services where the hard part was not only writing the code. The hard part was keeping the project clean, reproducible, easy to build, and safe to maintain as the team and codebase grew. In Go, a big part of that discipline comes from understanding Go Modules . At first, Go Modules may look simple: a go.mod file, a go.sum file, and a few commands like go mod init and go mod tidy . But in real projects, these small tools decide how your service builds in CI, how your dependencies are verified, how private repositories are handled, and how other developers can use your package. In this article, I want to explain Go Modules in a practical way, from the mindset of someone building production backend systems. We will cover: What Go Modules are and why Go does not work like NPM or Pip How go mod init , go mod tidy , and go mod vendor actually help How I think about Go project structure without over-engineering How to publish your own Go package A few production tips that matter in real teams What Are Go Modules? A Go module is a versioned collection of Go packages. In simple words, it is the boundary of your project. It tells Go: what your project is called which Go version it targets which dependencies it needs which versions of those dependencies should be used A Go module is defined by the go.mod file. Before Go Modules, Go projects were commonly managed inside GOPATH . That worked, but it created friction around dependency versions and project location. Go Modules solved that by making dependency management explicit and project-based. Today, when I start a serious Go project, one of the first things I do is initialize a module. Why Go Packages Feel Different From NPM or Pip If you come from JavaScript or Python, Go package management may feel a little strange at first. In Node.js, packages are usually published to NPM . In Python, packages are usually published to PyPI . Go is different. Go uses the module path as an import
开发者
I Built an MCP Agent Framework for My B.Tech Major Project. It Got 750+ npm Downloads in Week One. Here's the Comeback Story.
This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built Last...
开源项目
🔥 spaceandtimefdn / sxt-proof-of-sql - Space and Time | Proof of SQL
GitHub热门项目 | Space and Time | Proof of SQL | Stars: 5,436 | 1 star this week | 语言: Rust
开源项目
🔥 screenpipe / screenpipe - YC (S26) | Give AI the ability to live your experience. Reco
GitHub热门项目 | YC (S26) | Give AI the ability to live your experience. Records everything you do, say, hear 24/7, local, private, secure | Stars: 18,948 | 156 stars this week | 语言: Rust
开源项目
🔥 grpc / grpc-rust - A native gRPC client & server implementation with async/awai
GitHub热门项目 | A native gRPC client & server implementation with async/await support. | Stars: 12,178 | 130 stars this week | 语言: Rust
开源项目
🔥 ai-dynamo / dynamo - A Datacenter Scale Distributed Inference Serving Framework
GitHub热门项目 | A Datacenter Scale Distributed Inference Serving Framework | Stars: 7,101 | 285 stars this week | 语言: Rust
开源项目
🔥 nautechsystems / nautilus_trader - Production-grade Rust-native trading engine with determinist
GitHub热门项目 | Production-grade Rust-native trading engine with deterministic event-driven architecture | Stars: 23,081 | 241 stars this week | 语言: Rust
开源项目
🔥 bevyengine / bevy - A refreshingly simple data-driven game engine built in Rust
GitHub热门项目 | A refreshingly simple data-driven game engine built in Rust | Stars: 46,314 | 165 stars this week | 语言: Rust
开源项目
🔥 ogulcancelik / herdr - agent multiplexer that lives in your terminal.
GitHub热门项目 | agent multiplexer that lives in your terminal. | Stars: 2,639 | 853 stars this week | 语言: Rust
开源项目
🔥 blakeblackshear / frigate - NVR with realtime local object detection for IP cameras
GitHub热门项目 | NVR with realtime local object detection for IP cameras | Stars: 33,313 | 1,282 stars this week | 语言: TypeScript
开源项目
🔥 multica-ai / multica - The open-source managed agents platform. Turn coding agents
GitHub热门项目 | The open-source managed agents platform. Turn coding agents into real teammates — assign tasks, track progress, compound skills. | Stars: 33,669 | 3,791 stars this week | 语言: TypeScript
开源项目
🔥 ChromeDevTools / chrome-devtools-mcp - Chrome DevTools for coding agents
GitHub热门项目 | Chrome DevTools for coding agents | Stars: 42,009 | 1,876 stars this week | 语言: TypeScript
开源项目
🔥 humanlayer / 12-factor-agents - What are the principles we can use to build LLM-powered soft
GitHub热门项目 | What are the principles we can use to build LLM-powered software that is actually good enough to put in the hands of production customers? | Stars: 22,584 | 1,127 stars this week | 语言: TypeScript
开源项目
🔥 rohitg00 / agentmemory - #1 Persistent memory for AI coding agents based on real-worl
GitHub热门项目 | #1 Persistent memory for AI coding agents based on real-world benchmarks | Stars: 18,709 | 3,781 stars this week | 语言: TypeScript
开源项目
🔥 ilysenko / codex-desktop-linux - Run OpenAI Codex Desktop on Linux - automated installer
GitHub热门项目 | Run OpenAI Codex Desktop on Linux - automated installer | Stars: 1,112 | 182 stars this week | 语言: JavaScript
开源项目
🔥 npm / cli - the package manager for JavaScript
GitHub热门项目 | the package manager for JavaScript | Stars: 9,788 | 26 stars this week | 语言: JavaScript
开源项目
🔥 zizifn / edgetunnel - Running V2ray inside edge/serverless runtime
GitHub热门项目 | Running V2ray inside edge/serverless runtime | Stars: 8,602 | 73 stars this week | 语言: JavaScript
开源项目
🔥 nodejs / node - Node.js JavaScript runtime ✨🐢🚀✨
GitHub热门项目 | Node.js JavaScript runtime ✨🐢🚀✨ | Stars: 117,387 | 155 stars this week | 语言: JavaScript
开源项目
🔥 WhiskeySockets / Baileys - Socket-based TS/JavaScript API for WhatsApp Web
GitHub热门项目 | Socket-based TS/JavaScript API for WhatsApp Web | Stars: 9,567 | 102 stars this week | 语言: JavaScript
开源项目
🔥 jellyfin / jellyfin-web - The Free Software Media System - Official Web Client
GitHub热门项目 | The Free Software Media System - Official Web Client | Stars: 3,608 | 40 stars this week | 语言: JavaScript