gitmyhub

art-of-readme

★ 7.2k updated 3y ago ▣ archived

:love_letter: Things I've learned about writing good READMEs.

A long-form essay explaining how to write a great README for a software project, covering what to include, how to structure it, and why good documentation is the single most important thing you can do for your project's adoption.

setup: easycomplexity 1/5

This repository is an essay, not a code library. It is a long-form article about how to write a good README file for a software project. The author, writing primarily from the perspective of the Node.js module ecosystem, makes the case that the README is the single most important document a project has: it is almost always the first thing a user or potential contributor reads, and for many projects it may be the only thing they read before deciding whether to use it or move on.

The article opens with a short history of where the term README comes from, tracing it back to at least the 1970s and noting that the convention of writing it in all-caps helped it sort to the top of directory listings on early UNIX systems. It then discusses the state of the Node.js package ecosystem, where tens of thousands of modules exist but quality of documentation varies widely. A module with no README, or with documentation that does not clearly explain what the module does and how to use it, forces the reader to dig through source code to figure things out, which defeats the purpose of publishing it as a reusable piece of software.

The author lays out a clear framework for what a README should do: explain what the project is and why it exists, show what it looks like when used, demonstrate how to actually use it, and cover any other details a reader would need. The article also recommends keeping READMEs concise, saving detailed reference material for separate documentation pages rather than packing everything into one long file.

The essay is translated into Chinese, Japanese, Portuguese, Spanish, German, French, and Traditional Chinese. It has no runnable code and is purely a guide for developers who want to write documentation that actually helps their users.

Where it fits