README template
A free README template for software projects: the nine sections that get a new developer from clone to running code, with copy-ready markdown, a quickstart block and contribution notes.
- Best for
- Open source projects, internal services and libraries that other teams depend on
- Length
- 1 to 3 screens
- Sections
- 9
A README answers three questions in order: what is this, how do I run it, and where do I go next. Most readers decide in under a minute whether a project is worth their time, so the first screen carries most of the weight.
The template below works for an open source library and for an internal service. Drop the sections that do not apply rather than leaving them empty.
Tip. Write the quickstart first and test it on a clean machine. If it does not work there, nothing else in the README matters.
01
Name and one-line summary
The project name, then one sentence that says what it does and for whom. Avoid adjectives. A reader should be able to tell whether they are in the right place before scrolling.
markdown# tidepool-sync Syncs inventory counts from Tidepool warehouses into Postgres every five minutes.02
Status and badges
Build status, latest version and license, kept to one line. Add a plain sentence if the project is experimental, deprecated or looking for a maintainer. That one sentence saves people hours.
- Build status from your CI
- Latest release or package version
- License
- A maintenance note if it is not actively maintained
03
Quickstart
The shortest path from clone to a working result, as commands someone can paste. Name the prerequisites with versions. Stop at the first visible success, such as a test passing or a server answering.
bash# requires Node 20+ and Docker git clone https://github.com/tidepool/tidepool-sync.git cd tidepool-sync cp .env.example .env docker compose up -d db npm install npm run dev # http://localhost:4000/health returns ok04
Configuration
A table of every environment variable or config key: name, what it does, default, and whether it is required. Keep it in step with .env.example. Never paste real secrets here.
markdown| Variable | Required | Default | What it does | |-----------------|----------|---------|----------------------------------| | DATABASE_URL | yes | | Postgres connection string | | SYNC_INTERVAL | no | 300 | Seconds between sync runs | | TIDEPOOL_TOKEN | yes | | API token from the Tidepool admin |05
Usage
Two or three real examples of the most common tasks, each with the command or code and the expected output. Link to the full docs for everything else instead of repeating them here.
06
Architecture in one paragraph
A short description of the moving parts and where the code for each lives. A small diagram helps if the project has more than three components. This is what a new contributor reads before opening a pull request.
- Entry points (CLI, HTTP server, worker)
- Where state lives (database, queue, cache)
- The folders that matter and what is in them
07
Contributing
How to run the tests, the branch and commit conventions, and how pull requests get reviewed. Link to CONTRIBUTING.md if it is longer than a few lines.
bashnpm test # unit tests npm run test:e2e # needs docker compose up npm run lint -- --fix08
Support and ownership
Who owns this, where to ask questions and how to report a bug or a security issue. For internal services name the team and the on-call channel, not a person who might leave.
09
License
The license name with a link to the LICENSE file. For internal code, say that it is proprietary and who may use it.
Mistakes to avoid
- A quickstart that only works on the author's laptop because a tool or variable is missing from the list.
- Marketing copy at the top instead of a plain sentence about what the project does.
- Configuration documented in the README and in code with different defaults.
- Long sections that copy the full docs, so the README goes stale first.
- No owner or support channel, so issues land on whoever touched the code last.
Questions about this template
- How long should a README be?
- Long enough to get someone running and pointed at the full docs. For most projects that is one to three screens. Move reference material into a docs site and link to it.
- Should internal services have a README?
- Yes. It is the first thing an on-call engineer opens at 3 a.m. Owner, how to run it locally, how to deploy it and where the dashboards are matter more than anything else.
- README or docs site?
- Both. The README is the front door and stays short. The docs site holds guides, reference and how-tos. Signcodify can sync the README from your repository so the two never drift apart.
Last updated October 30, 2026
Suggest an editUse this template in Signcodify
It opens in the block editor with every section above in place. Sync it to your repository or publish it to your docs site.