All posts
Engineering5 min read

Your README is your project's front door

People decide whether to use your project in 30 seconds based on the README. Here's what it needs to do.

Malthe Møller Mortensen

March 14, 2026

Share

People decide whether to use your project within 30 seconds of landing on the repo. That decision is based almost entirely on the README. Not the code quality. Not the test coverage. Not the number of stars. The README.

If it’s empty, they leave. If it’s a wall of text, they leave. If it opens with a paragraph of background instead of telling them what the project does, they leave. Your README is a landing page, and most developers treat it like an afterthought.

What a README needs to do in the first 10 lines

The top of your README has one job: tell someone what this project is and why they should care. That’s it. Not the history, not the motivation, not a comparison to alternatives. Those can come later.

Here’s the formula that works:

  1. Project name and one-line description. What does this thing do? “A CLI tool that syncs local files to S3 on change.” Done.
  2. Install command. How do I get it? Give me the one command I need to copy.
  3. Basic usage example. Show me the simplest possible way to use this. Not the full API. Not every flag. The “hello world” of your project.

If a developer can read those three things in under a minute, they know whether this project solves their problem. Everything else is supporting detail.

The sections that separate a good README from a great one

After the essentials, a strong README covers the questions people ask when they start using the project for real:

  • Configuration. What can I customize? Environment variables, config files, command-line flags. A table works well here.
  • Common use cases. Show 2–3 real-world examples beyond the basic one. This is where people go from “this looks useful” to “this solves my exact problem.”
  • Contributing. How do I set up the dev environment? How do I run tests? What’s the PR process? If you want contributions, make it easy.
  • License. One line. People check this before adopting a dependency. Don’t make them dig for it.

Common mistakes that make people bounce

Opening with “About” or “Background.” Nobody cares about the background until they know what the project does. Lead with the what, not the why.

Code samples that don’t work. If someone copies your example and it throws an error, you’ve lost them. Test your README code. Include imports. Specify the version.

No install instructions. Surprisingly common. Even if it’s just npm install your-package, write it out. Don’t assume people will figure it out.

Outdated screenshots. A screenshot of a UI that doesn’t match the current version is worse than no screenshot. Either keep them current or remove them.

Writing a README shouldn’t take an hour

The reason most READMEs are bad isn’t that developers don’t know what a good one looks like. It’s that writing one feels disproportionately tedious compared to the code work. You just spent days building a feature. Now you have to write marketing copy for it.

The shortcut is to describe your project out loud — what it does, how to install it, how to use it — and let something else handle the formatting. You know the content. The structure is the boring part.

Whether you use a generator, a template, or just a checklist, the point is the same: separate the thinking from the formatting. You do the thinking. Let the tool do the rest.


Need a starting point? Try our free README Generator — describe your project and get a formatted README ready for GitHub.

Free tool

Try the README Generator

Create a professional README for any project in seconds.

Keep reading