monochange_go
monochange_go discovers Go modules for the shared planner.
Reach for this crate when you need to scan standalone go.mod files, parse module metadata and require dependencies, infer go mod tidy, and preserve Go's tag-based versioning model in mixed-language release plans.
Why use it?
- discover root and multi-module Go repositories through
go.modmanifests - normalize Go module paths and
requireedges for shared release planning - update internal dependency requirements without treating
go.sumas a lockfile - model Go releases as VCS tags, including path-prefixed tags for submodules
Best for
- scanning Go modules into normalized workspace records
- adding Go dependency edges to a mixed-language release plan
- refreshing
go.modandgo.sumthroughgo mod tidyafter manifest rewrites - publishing Go modules by creating tags such as
v1.2.3orapi/v1.2.3
Public entry points
discover_go_modules(root)discoversgo.modmodules under a repository rootparse_go_module(path, root)parses one module manifest into package metadataupdate_go_mod_text(contents, dependencies)rewrites matchingrequiredirectivesdiscover_lockfiles(package)reports Go checksum artifacts for command-based refreshes
Scope
go.modmodule directive parsing- direct and grouped
requiredependency extraction - Go semantic import version handling through module paths
- command inference for
go mod tidy - metadata used by publishing for Go proxy lookup and path-prefixed VCS tags