upvote
Feedback and issues you need to troubleshoot with your projects is a good indicator of your audience level, and from my experience it’s helpful to understand that documentation is always under development just like the code

from experience in ENT support where i was sending instructions & quick fix scripts to technically capable persons, you will learn very fast when you’ve missed the mark with your documentation / instructions. tons of times i had ready made solutions that i thought “just copy and paste and go what could possibly go wrong?” and was caught off guard how often a little too much knowledge lends to confusion. i am not blaming the users here it is my fault that i didn’t explain things like “no don’t change this date in the fix that is a special date when the issue could have earliest occurred and it’s there to avoid grabbing more than we need to parse”, but i didn’t tell that so of course people changed it to all sorts of dates thinking they had to

such feedback and issues also got me way better about writing code that avoided chances for such mistakes as i didn’t want users to have to read a novel to understand what to do; it’s a fine balance between what to solve with documentation and what to solve with code

reply
Installation instructions usually (should) have a “prerequisites” section. You don’t have to explain how to install the prerequisites, but they should be listed.
reply
reply
From the root comment, it appears to be incomplete.
reply
No need for Adobe Creative Cloud is a nice touch
reply
Yeah, he's taking the piss instead of listing prerequisites.

Tells something about the project, IMO.

reply
Tells me he's having fun
reply
> How far back in the stack do you go?

My rule of thumb for my READMEs: there should be a list of commands, that when executed in order and in a clean machine, result in the software doing something useful. Yes, this includes `git clone`.

If there's something the user might already have, like the webserver, I add a comment "skip this if you already have a web server". If there are any shortcuts that make it not production-ready, it's time to break out the ALL CAPS.

Limiting the operations to simple commands also helps me keep honest about the instructions (no hidden assumptions), and forces the software to be minimally testable.

reply
Why stop at `git clone`? Why not include `apt install git` and equivalents for all OSs?
reply
Whenever I write documentation, my first step is to explain how silicon can be used as a transistor.
reply
Yeah well I produce home grown silicon in super novae.

'If you wish to make an apple pie from scratch, you must first invent the universe.'

reply
I used to think it was a struggle to walk the user through introductory EM physics.

But, it turns out that was a walk in the park compared to explaining how to acquire and isolate the dopants, not to mention building up the pure silicon wafers.

reply
If Windows/MacOS doesn't ship git by default, then yes, that should be included. On Linux, the people who are running Linux From Scratch can probably infer what the problem is.
reply
I don't know about these days, but at some point neither Debian or Ubuntu Server shipped with Git. You can still find tutorials that start with apt-get update and apt-get install git-core
reply
In my company that comes be default. Also, `git clone` helpfully includes a canonical path to the repository, in case you found the README laying around somewhere.

Otherwise, yes, I would include apt install for the dependencies, which is also incredibly valuable to make explicit. The only tricky part is what package manager to reference.

reply
Generally it seems like good READMEs assume you have a compatible OS ready to go, but will give you a summary of all commands to get a working setup from there.
reply
It can't hurt to make a sentence or two about assumptions.

Like "This manual assumes that you have a Linux/BSD, a C compiler, GNU Make, and a text editor".

reply
It's really not that tricky at all, every install document I ever wrote has a "prerequisites" section telling you the prerequisites.
reply