1) All projects have a bad commit history. Just one commit and that's it. Usually it's something for school with really basic stuff inside. Most might be IDE provided "generate code" boilerplate.
Even a single commit beyond the GitHub provided initial commit example is enough. Multiple ones in a sane cycle is even better. Even if you just update some comments.
2) Does the project run? If I check out the project, is there a clear way to run it or does it rely on the compile & run commands being on the submitter's bash history?
Add a make/magefile or run.sh or anything.
3) README. Does it exist? GitHub pushes you really hard to add one, if you're lacking even the default one, you clearly don't understand how GH works.
4) Bonus task: does the repo have integrations or GH Actions enabled? If the project automatically runs some tests or builds on commit, it's a big green flag for me. If I'm going to be paying you over 100€/hour, I don't want you spending your time doing stuff manually if it can be automated with 15 minutes of boilerplate work.
This is a strange one, I am not sure why the priorities of a third party hosting platform should take priority. Many people use it is more of a cloud repo backup than a social sharing site.
So why knock people for using it differently? It does not measure their understanding of how Github works.
My memory sucks, that's why I write down what I'm planning to do with a project into the readme. It doesn't need to be super fancy with images and status badges and all that jazz.
This is perfectly enough:
projectname
===========
This fizzes
TODO
----
Add buzzing later
Check if bazzing library is ready for productionHowever, I strongly associate Readme.md, designed for a web based intro view with Github.
It would be interesting to get the real history, because it could be a fluke of timing.
I’d bet if we look back at old source forge projects created pre-github there would be a strong correlation with the markdown version added and the rise of github. (Of course this could be a timing fluke)
Yes GitHub pushes you really hard to add one. But I disagree that not having one on a personal project means you don't understand how GitHub works. I don't need (or really even want) a README for a personal project. It detracts from writing code. If I neglect the personal project for months or years and come back to it then I'm not going to give a flying crap about the README anyway: I will have come back to it specifically to look at the code. Whether that's because I had a new/better idea or wanted to reminisce or maybe to copy/paste some idea from it.
All of the rest of your points are good though.
How ironic ;)
I do wonder what a recruiter looks for in a good README though. Technical chops or perspective on potential applications/intended project direction or ... ?
I've ended up building boilerplate workflows for various languages, environments, etc. to just drop in and tweak per-project.
But I think it's a plus for using something off the beaten path, provided that the other conditions are met.
I consider them as conversation items. I don't think anyone is expecting to see multiple completed products with 1k+ stars.
The worst case is, you waste time agonising over the quality of your code and either: don't publish, or no one even looks at it (highly likely)
You're not about to get code-reviewed. At most, if anything, it would be:
"explain this class/function": I'd expect you to vaguely know the answer after reading it
or, "why did you do <something> this way?": answers like "I got it from SO", "I don't know of a better way" are perfectly fine.
I'm preparing to publicly release a project with the intent of building it up to demonstrate my own experience level. I'm asking as someone with next to no prior public code despite developping back-end almost full time since I dropped out 10ish years ago. I guess I'm asking for external criteria for whether I'm impostor-syndroming!