Art of README (2020)
github.com
github.com
• https://tldp.org/HOWTO/Software-Release-Practice-HOWTO/distp...
• https://www.gnu.org/prep/standards/html_node/Releases.html#i...
> 2. A pointer to the project website (if it has one)
And there you see a major shift that has happened in the last fifteen or so years. README files used to be for once you had obtained the code. But then GitHub co-opted them to be the home page, and other forges have by and large followed suit. I get why (repository info blocks on SourceForge and similar weren’t great), but I wish that brand of pragmatism hadn’t happened. Fortunately, I think that if you create another readme file in a .github/ subdirectory, GitHub should use that rather than the top-level readme file, so if you want to leave a proper readme file at the top level but direct casual viewers to an actual separate website with a deliberately stub GitHub readme file (“Go to <https://example.com> for information about the product, or look at the [in-repository README.md file](../README.md) for information about the code.”), you should be able to do so. Otherwise you’re stuck either stuffing far too much inappropriate stuff into the readme file, or having people miss out on what they should see. If I were in this situation, I’d probably do that.
(See also https://news.ycombinator.com/item?id=32211789 where I made this observation 11 days ago when a link to a code repository that contained a traditional README, instead of to a project page, led to surprise.)
so why isn't yours....
node community has horrible documentation in general, at least in my experience of some shitty npm packages i was cursed to deal with. giving non executable code samples to start.
Because this isn't a software project with a README, this is a piece of writing about READMEs that happens to be in a README.md file, likely because that's what GitHub displays by default.
This seems obvious to me now but it was not obvious when I was younger. I will forget what a project is.
I sometimes completely forget what a project is, but I nearly _always_ forget how to build / run / test / deploy it… Now I make sure that simple copy-pastable one-liners for those four steps are included pretty much right after I’ve written my top-level “what is this for” sentence.
The 'effing building or running process and its unwritten dependencies/twirks though? Hell, better rewrite the project from scratch than having to figure out the obscure incantations I used 6 month ago.
I'm so glad our industry heavily pivoted towards package managers with consistent `$ pkgmanager build` processes. I've lost count of the number of times I did not document my Python dependencies when I was younger.
But seeing FILE_ID.DIZ takes me back a few decades!
Javadoc is also great, but it's too much.
I miss that very much.
Typo, Freudian slip, or ???
(I wish that section came first.. :p)
[0] https://github.com/hackergrrl/art-of-readme#care-about-peopl...
I think some READMEs can go a bit over the top with every affordance or badge you can muster however. But I think we'd rather have something than nothing which is all too common in software.
Sadly, this tradition slowly faded away, some readme-s of todays Clojure libraries are indistinguishable from typical JS noob-trap frameworks.
I find a CI and coverage badge worthwhile because they provide a quick reassurance that the project at least has some form of test plan, which immediately distinguishes it from many other repos.
Anything more is just wanking.
That was for a DECsystem-10, so still DEC, just a bit earlier.