optgen
go-binsize-treemap
optgen | go-binsize-treemap | |
---|---|---|
1 | 2 | |
14 | 442 | |
- | - | |
3.3 | 5.7 | |
11 months ago | 9 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
optgen
-
How to start a Go project in 2023
Things I can't live without in a new Go project in no particular order:
- https://github.com/golangci/golangci-lint - meta-linter
- https://goreleaser.com - automate release workflows
- https://magefile.org - build tool that can version your tools
- https://github.com/ory/dockertest/v3 - run containers for e2e testing
- https://github.com/ecordell/optgen - generate functional options
- https://golang.org/x/tools/cmd/stringer - generate String()
- https://mvdan.cc/gofumpt - stricter gofmt
- https://github.com/stretchr/testify - test assertion library
- https://github.com/rs/zerolog - logging
- https://github.com/spf13/cobra - CLI framework
FWIW, I just lifted all the tools we use for https://github.com/authzed/spicedb
We've also written some custom linters that might be useful for other folks: https://github.com/authzed/spicedb/tree/main/tools/analyzers
go-binsize-treemap
-
How to start a Go project in 2023
go-binsize-treemap[1] is the best tool for this by a large margin. I came across it because of the exact same reason as you did actually, k8s client bloating my binary massively.
[1] https://github.com/nikolaydubina/go-binsize-treemap
- Visualise treemap of your Go executable binary
What are some alternatives?
spicedb - Open Source, Google Zanzibar-inspired permissions database to enable fine-grained access control for customer applications
basgo - basgo compiles BASIC-lang to Golang. Then 'go build' can translate code to native executable binary.
entr - Run arbitrary commands when files change
go-chart - go chart is a basic charting library in go.
goreleaser - Deliver Go binaries as fast and easily as possible
render - Go package for easily rendering JSON, XML, binary data, and HTML templates responses.
dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
Glyph - An architecture independent binary analysis tool for fingerprinting functions through NLP
parco - ๐๐ป generalist, fast and tiny binary parser and compiler generator, powered by Go 1.18+ Generics
gasper - Your Cloud in a Binary
Hugo - The worldโs fastest framework for building websites.
golangci-lint - Fast linters runner for Go