I have this question after I saw the 5 Years Anniversary video, Because of the decentralized nature of Crystal shards, I don’t actually use them very often. However, I am curious just as an example, why my shards, such as procodile, as a long-standing Crystal project (it’s been around for years in github), aren’t showing up in the search results on either of these sites?
My understanding is that Shardbox does not add projects automatically. You need to open a pull request to request inclusion.
I’m not sure about shards.info, but my guess is that it filters out forked repositories as non-original projects. Otherwise, all forked repositories would appear on the site.
Let’s ask the authors to get a more definitive answer. @straight-shoota @mamantoha
You need to open a pull request to request inclusion
If that’s really what’s required, it’s way too cumbersome.
From my perspective, it’s just not feasible, we need a more simpler(or automated) way to handle this.
Since I started using agent coding, even when I publish a library, I no longer want it to be widely used as much as before. Other people can probably generate something similar with agents, and I want to avoid extra maintenance work or responsibility. Some people may also prefer quieter places than GitHub.
A complete catalog of shards is useful. But I also think a database where authors or others can request registration only when they want to is a good idea.
If that’s really what’s required, it’s way too cumbersome.
Spending a few minutes to list your shards is nothing compared to spending years maintaining 'em.
Look at https://shards.info/ for a blunt “whatever uses crystal language” but that only tracks github.com, while shards could come from wherever (gitlab, codeberg, custom gitea server, …)
I feel like shardbox.org is still too clunky. Since there’s already a website, a simple web form would be more than enough.
Spending a few minutes to list your shards is nothing compared to spending years maintaining 'em.
I maintain this project because I genuinely enjoy it and because it’s useful to me. It feels completely different from just writing a YAML file, forking a repo, and submitting a PR. Not to mention, I don’t like handling such trivial requests. Besides, what if the other person doesn’t even have a GitHub account? Even if they do, what if there’s already a catalog project with the same name? These are all valid concerns. and, there are still open issues regarding the addition or removal of shards.
(Translated from Chinese using gemma4:26b)
I agree that adding shards to the index requires jumping through more hoops than should be necessary.
But it’s actually quite a huge leap from “there is already a website” to “receive HTTP submissions to edit the catalog”.
The current website is entirely read-only, except for a private webhook that triggers a resync of the catalog data.
Adding a web form would require a lot of security work to ensure only valid submissions are allowed.
Going through the Github PR workflow is clunky, but it was an easy grab. It works well enough in my opinion, as it takes care of authorization, editorial workflow, synchronization, and accountability.
So I don’t see an urgent need to work on a replacement. But I’m happy to talk about alternatives. Contributions to improve the workflow are welcome, of course.
Naming conflicts are a general problem for the ecosystem, regardless of whether the conflicting shards are indexed on shardbox.
Shardbox itself handles multiple shards with the same name just fine because it identifies shards by repo. In case of ambiguity, the name-based short identifier gets an additional qualifier representing the owner of the shard.
Anyway, adding a simple form would be extremely easy.
- Select an existing category from the list.
- Enter the GitHub URL of the shard.
- Provide a description.
After submission, it will remain in a “pending” state until you manually verify it on the backend.
Besides, since the submission already includes the user’s Git repo, everything remains fully traceable.
In short, this is a very straightforward process and won’t add much complexity.
If you think this sounds okay, shall I go ahead and try to implement it?
(Translated from Chinese using gemma4:26b)
In my opinion it is more than acceptable the publishing procedure through a PR in github.com/shardbox/catalog.
Maintaining a package registry is a heavy work because of the constant maintenance, security, etc.
What I personally understand is that most devs here have the the necessary knowledge (and more) to create and maintain a package registry for Crystal, but the challenge is not knowledge, but time.
