Menu

1 / 2

go.work for Real Monorepos: Setup, CI Gotchas, and the Right Layout

DEV Community·Gabriel Anhaia·6 months ago
#v1CjYKjI
#go#monorepo#module#work#workspace
Reading 0:00
15s threshold

Book: The Complete Guide to Go Programming

Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go

My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools

Me: xgabriel.com | GitHub

A team I talked to had four Go modules in one repo: two services and two libraries. Each module had its own go.mod and its own release cadence. A developer changed a function signature in one of the libraries and pushed. CI built each module independently and went green. The library shipped a tag. The next morning the service that used the library would not compile, because the service's go.mod still pointed at the previous tag and nobody had bumped it.

The team's reaction was to add a replace line in the service's go.mod pointing at ../libs/auth . That worked on laptops.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.