Read before writing a README for a new open-source project to understand what sections to include and how to order them.
Share with a teammate who writes READMEs that bury the lead or skip usage examples.
Use as a checklist when reviewing pull requests that add or update project documentation.
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.
← hackergrrl on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.