Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
We all have projects that never took off, that are far from usable yet, or that are abandoned for one reason or another. What I propose is adding a single metadata field to each repository, called "status" (or maybe "release_status", or something less ambiguous). The value would be a single string (well, an enum / a fixed set of possibilities), and would be settable via the API and the repository Settings page.
Values could be something like:
Ideally, these could also show up as a column in search results, and would be displayed somewhere near the top of the repository and releases pages.
I've heard some people recommend using the Releases feature to handle this. However, even at best (assuming everyone uses semantic versioning correctly), this results in a trinary value - no releases, 0.x releases, and >=1.0 releases. This misses out on what is, in my opinion, the most valuable information: whether the project is in a usable state or incomplete, and whether the owner intends on continuing development.
This isn't just information that I want about other people's projects, and that I want to make available to other people (which I could do acceptably well in the README). It's also something I want for my own personal repositories and my employer's org repositories. I have ~90 repositories and my organization has well over 100, and it's quite a pain to figure out what the status of them all is.
Would be great to have a standard format where stuff like this could be read from the README (thinking like yaml front-matter, but maybe not so ugly :). I love github, but prefer the idea of keeping the smarts in the plaintext files, rather than in metadata only available via api :)
I would like to see something like this on all repos - and the ability to filter accordingly.
You could split this into 2
(by deprecated or superseded - I mean to say that things change and the code may no longer have a relevant utility).