README Template: The Complete Starter for Any Project
A copy-paste README template with every section you need, plus tips on customising it for your specific project.
Starting a README from a blank file is harder than it needs to be. This template gives you a proven structure that works for libraries, applications, CLI tools, and APIs. Copy it, fill in the blanks, and delete any sections that do not apply.
The template
# Project Name
One-line description of what this project does.
## Features
- Feature one
- Feature two
- Feature three
## Prerequisites
- Node.js 18+ (or your runtime)
- npm or yarn
## Installation
Clone the repository and install dependencies:
git clone https://github.com/your-username/your-project.git
cd your-project
npm install
## Usage
Describe how to use the project with a minimal example:
import { yourFunction } from "your-project";
const result = yourFunction("input");
## Configuration
| Variable | Description | Default | Required |
|----------|-------------|---------|----------|
| `API_KEY` | Your API key | — | Yes |
| `PORT` | Server port | `3000` | No |
## Development
Start the development server:
npm run dev
Run tests:
npm test
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/your-feature`)
3. Commit your changes (`git commit -m "Add your feature"`)
4. Push to the branch (`git push origin feature/your-feature`)
5. Open a pull request
## Licence
MITCustomising the template
For libraries
Add a API Reference section documenting your public functions, classes, and types. Include parameter types and return values.
For web applications
Add sections for Environment Variables, Deployment, and Project Structure showing the directory layout.
For CLI tools
Replace the Usage section with a Commands reference table listing each command, its flags, and a usage example.
For APIs
Add Authentication, Endpoints, Request/Response Examples, and Error Codes sections.
Skip the template — generate it instead
Templates give you structure, but you still need to fill in every section manually. ReadmeBot reads your actual codebase and generates a complete, accurate README tailored to your project. It detects your language, dependencies, and conventions automatically.