I’m new to go, but I’m already missing something like NPM for package discovery. I’ve already seen that this question get asked in various places, but: Where do people discover go packages?
Here are the places I’ve found so far.
-
pkg.go.dev
(orgodoc.org
) -
GitHub
search for keywords withlanguage:go
search.gocenter.io
go-search.org
awesome-go
I find these a little lacking for a few reasons.
-
pkg.go.dev
- No sorting
- Publication is via proxy use?
-
godoc.org
- No sorting
- Publication is via explicit search?
-
GitHub
- Doesn’t really search for consumable modules, just all go language projects.
- Stars are the metric of popularity, not usage.
-
search.gocenter.io
- No sorting
- Terrible matching
- Must be published to jfrog?
- Just kinda bad.
-
go-search.org
- Currently down.
-
awesome-go
- Just a static document.
- None of them have any sort of metadata mechanism (urls, authors, contacts, keywords, etc.)
I’m thinking of creating a site to add some of the things I want.
- Search for and see inline metadata
- urls (issue tracker, homepage, etc.)
- authors/contributors/contacts
- organization
- keywords
- etc.
- Sorting
- popularity
- Greatest of: Favorited count, GitHub stars, or GitHub stars equivalent.
- import count
- Based on go.mod content in indexed packages
- activity
- Based on version count, frequency, most recent version increment.
- quality
- Tests, etc.
- popularity
- Save “favorite” packages
- CLI to “publicize” packages
- An explicit way to add a package to the index.
- Init functionality to bootstrap metadata.
This is a dangerous question to ask, but would this project be interesting/useful/welcomed by anyone?
This is also my second foray into the Go community, so I’m curious to see what style of response this gets :).