No! At the risk of duplicating the conversation on the NIP PR @fiatjaf just opened: In I proposed we should add a Git repository 'set' with a default d=starred that acts as a follow list. but maybe a 'standard' NIP-51 git repository follow list like that PR suggests is better. Would / should clients label this list as starred repositories? I think may git clients will want to inherit the 'starred' concept from github but I there is an overlap with reactions, zaps and a repository follow list. We should definately add git repositories as a set. BudaBit is using lists for git repositories so we should also build on their work @Biz @Five.
DanConwayDev's avatar DanConwayDev
I love your use of the term stargazers. Here is my code review: ## Stores and Structure The data can be more flexibly used if stored in a `stargazers` hex-pubkey string array parameter of `RepoEvent`, `RepoCollection` and `RepoSummary` in `components/repo/type.ts` rather than in a dedicated store. For example it creates the opportunity to inlude them on repo cards in the Latest Repositories of the homepage. The code to fetch the data could be moved into a `fetchStargazers` function and called in `ensureRepoCollection` in `stores/repos.ts` on line 96. I just abstracted out `fetchReferencesBy` to make `repos.ts` easier to read and so that it could be used as a model for `fetchStargazers` in commit 24427e1682d56eed07913df8383b248f95cf92af. ## Stargazers Event Kind and Format instead of a nip51 'standard list' with a custom kind, what about a nip51 'set' with the kind `30618` which is repo_event_kind + 1? `30618` could be the kind for all curated lists of `30617` repositories and a `d` identifier of `stared` could be used for this instance. ## UI integration It looks great to have stars shown, doesnt it? Gitworkshop uses daisyui which provides consistant theming for buttons. checkout daisyui, or some of the other buttons to see the classes Maybe the star button could show many current stars? tweaking this and how it is diplayed can come later. Thanks so much for contributing.
View quoted note →

Replies (1)

To me sets with canonical names are an antipattern (see discussion in and the trouble we all had to prune the spec from these). I think the concept of "starred" is just publishing a reaction to a repository (with a "k" tag of "30617"). Those can easily be queried later. Following should be a simple list, either if you want to follow a repository to see everything that happens in it or someone to see their repositories and the patches they send elsewhere. That should be the base and the simplest thing to implement. Sets are much more complex. Organizing people and repositories in sets can be done (like for all the other lists we also have sets) but honestly that's more like a power user feature and we should postpone that to 2027 because there aren't even enough repositories today to fill a short simple list.