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) -
GitHubsearch for keywords withlanguage:go search.gocenter.iogo-search.orgawesome-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 :).