One HTML page that maps a Go module: every package, what it builds on within the module, and the functions in each of its files. Search it, click a package to see what it uses and what uses it, and, for a module on GitHub, jump to any function's line. Tests are left out.
Example: yggstore's map, 40 packages and 1,850 functions.
In your module's folder, with Go 1.24 or later:
go run github.com/peterretief/codemap@latest -o code-map.htmlThen open code-map.html in a browser. It's one file with nothing to serve,
so it can go on any website. -root DIR maps another folder.
- uses: actions/checkout@v4
- uses: peterretief/[email protected]
with:
output: code-map.html
- uses: actions/upload-artifact@v4
with:
name: code-map
path: code-map.html- Each row builds only on the rows below it, so the foundations are at the bottom and your commands at the top.
- Wider boxes have more functions, and colours are top-level folders.
internal/is left off names.vendor,testdataand folders with their owngo.modare left out.- The page loads its fonts from Google Fonts, and falls back to system fonts without them.