Skip to content

README

The front-door document for a software project - tells a first-time visitor what it is, why it exists, how to use it, and where to go next.

A README is the landing page of a software project. It is read by people who have never seen the project before and have roughly thirty seconds of attention to decide whether to keep reading. Optimize aggressively for that first thirty seconds: lead with what the project does, show a minimal example, and link out to deeper docs for everything else.

# Project Name
[badges: build status, version, license, downloads]
> One-sentence description of what the project does.
A short paragraph (2 to 4 sentences) explaining what problem this solves and who it is for.
## Install

[single install command]

## Quick start
```[language]
[minimal working example, ideally under 10 lines]

See CONTRIBUTING.md.

[License name]

### When to use
Use a README as the top-level entry point for any software project - open-source library, internal service, CLI tool, starter template. The README should be the first file a new reader sees and should answer "what is this and why would I use it" in under thirty seconds.
### When not to use
Do not use the README format for deep reference material that returning users will navigate by lookup - that belongs in a dedicated `technical-reference`. Do not use it as a blog post announcing the project. Do not use it for internal runbooks or status updates.
### Pairs well with
`technical-writer`, `instructional`, `matter-of-fact`, `frequently-asked-questions`
### Often confused with
**technical-reference**: A technical reference is optimized for the returning reader who knows what they want and needs to look it up - it is organized for retrieval. A README is optimized for the first-time visitor who does not yet know what the project does - it is organized for narrative hook and onboarding. A project usually needs both, in separate files.
## Instruction
```text
Write a README for a software project. Optimize for a first-time visitor with thirty seconds of
attention. Lead with a single-sentence description of what the project does, followed by a short
paragraph explaining the problem and the audience. Include a single install command in a fenced
code block, a minimal usage example also in a fenced code block, and links to deeper docs.
Resist the urge to put everything in the README - link out to dedicated docs for anything beyond
the basic pitch. Use matter-of-fact tone. Avoid marketing language; explain what the project
does, not how revolutionary it is.

See the README template.

Technical Writer, Instructional, Matter of Fact, Frequently Asked Questions

Pastoral, Reverent

Technical Reference

A lightweight async standup process for distributed engineering teams. Built for the 11 of us spread across 4 timezones.

Our sync standup at 9am Pacific meant 9:30pm IST for half the team. Attendance averaged 3.2/5 in India and 4.6/5 in the US. The 14-minute meeting produced roughly 4 minutes of signal, and none of it persisted beyond the call. This repo is the running process docs for the replacement.

If you joined the team today, here is the entire ritual:

  1. Before 10am local time, post one message to #team-standup.
  2. Use the three-field template (copy from below or use the /standup Slack shortcut).
  3. If you are blocked, @mention the person who can unblock you in the same message.

That is it. No call. No status round-robin. No “I will let X speak to that.”

Shipped:
- <what landed since your last post>
In progress:
- <what you are actively working on today>
Blocked or at risk:
- <what is stuck, and who or what you need>

If a field is empty, write “nothing today.” Skipping a field is fine on Fridays.

The on-call engineer scans #team-standup once between 10am and 11am Pacific. Their job is not to summarize; it is to make sure every @mention has a response within the workday. Anything not at-risk gets a thread reply only if a teammate has questions.

The 60-minute slot that used to be 5 sync standups is now a single Thursday working session at 8am Pacific / 8:30pm IST. Agenda lives in docs/thursday-agenda.md. If there is nothing to discuss, we cancel by Wednesday 5pm Pacific.

We are running this for 30 days starting on the date of the v2.0 changelog entry. The retro doc is docs/trial-retro.md. If you have a strong opinion mid-trial, drop it there instead of in DMs.

  • Process playbook: docs/playbook.md
  • Trial retro: docs/trial-retro.md
  • Slack channel: #team-standup
  • Original RFC: docs/rfc-async-standups.md

Engineering manager owns this repo. Pull requests welcome from any team member.