How to Write an Awesome Readme
Tags: opensource, beginners, programming, node
Published: 2022-12-28 11:30:00

# Introduction

After the code, the readme is the most important thing to add to your project. Readme will be referred to as docs for small libraries and projects. It will reflect the project. For a beginner, forgetting to add Readme files to the project is standard. Even some developers add readme files that end up as bad because they give the least attention to it.

A good Readme will help other developers in understanding the project. They can use it as the original source of information for the project. A good readme must contain some of the points that we will discuss later. 

So, today I am going to guide you on writing awesome Readme files for your project. In this article, I will discuss the following points:

- What is a Readme file?
- Things to include in your readme
- Tools that you can use to write a Readme file

Now, let’s get started.


# What is Readme?

A readme file is a text file that summarized the documentation of your project. It is often included in the root directory of a project, and it is typically written in plain text or Markdown format. 

The purpose of it is to provide a quick overview of the project and help users understand what it does, how to set it up, and how to use it. It includes information about the project. The user of the project will first read this file to gain knowledge about your project. It became the face of your project.

Adding valuable information to this file is necessary. Depending on the readme file, the user will interact with the project accordingly. There are must-include things that you need to add to your readme file.  Let’s look into that.


![Readme file on GitHub](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qfbb834lmdheyifqub7d.png)

# Things to include in your Readme

##Title and sub-title

You need to add the title of the project at the top of the Readme. Along with that, you can add a subtitle that denotes the project in a sentence or two. 

You should also add the logo of your project too if there is any.

## Table of Content

I think this is a must-include section for a large readme file. This will help the user while navigating through different sections. 

## Description

In this section, you can elaborate more on the project features and ideas. Add one to two paragraphs about the project so that the user understands the meaning of the project.

You can also talk about your motive for the project. 

## Working of the project

A Step-by-step guide for the user about different features and how to use them. Add screenshots to better illustrate the work. You can add diagrams to show the architecture of the project. You can also add videos or gifs in this section. 

You can mention the tech stack that you have used in the project. This will help the user to have a better understanding of the project.

## Installation Guide

I step-by-step guide with screenshots and code to guide users in installing projects on their machines. 

You can mention some pre-installed tools that might require for local installation. Provide all the commands and scripts for installing on the machine with screenshots and code. Add a screenshot of the running project.

## Contributing Guidelines

If the project is open source, you can talk about guidelines for contributing. You can add any external files too. 

In the contribution guidelines, mention things to consider before creating a pull request. Mention what kind of pull request you want. 

## License

Mention the license of the project. There are different licenses according to the customization that others can make to your project You can look at the GitHub license page for different licenses for your project.

One of the most used licenses for me is MIT. It permits users for commercial use, modification, distribution, and private use. Limit the user for any liability and warranty. 

# Tools that you can use 

Let’s look into some tools that might help you in writing and structuring the readme. 

## [readme.so](https://readme.so/)

> Our simple editor allows you to quickly add and customize all the sections you need for your project's readme

![screenshot - readme.so editor](https://readme.so/screenshot.png)

It is an editor that will help in writing better readme. There are various sections such as Project titles, badges, authors, contributing, and others with templates that you can import into the editor. The editor supports markdown which makes it easy to add your section to it. 

You will not run out of sections to add to your readme as the editor has more than 35 sections. Also, you create your own sections for the editor. 

## [Terraform docs](https://terraform-docs.io/)

> Generate Terraform modules documentation in various formats

![screenshot - terraform docs](https://paper-attachments.dropboxusercontent.com/s_3CC5B70D5ADCCF070621BA57D355C4C33CE02BB5C6197E125D0CDBEC7BEEAA88_1671945627047_terraform-docs.io_.png)


Terraform is an open-source infrastructure to code software. It follows strict guidelines for creating variable definitions, providers, and others. It has a sub-project called as terraform docs. If you use terraform infrastructure then you can use the terraform docs for creating docs/readme for your project.

You can export readme in various formats such as Markdown, AscciDoc, JSON, and others. It has support for CLI that makes it easy to automate documentation generation with GitHub Action.

# Conclusion

Readme files are quite important for any project. As mentioned above, this will be the face of your project and potential users will read it. That’s why creating a good readme should be a priority after writing code. We have discussed a lot about writing a readme such as a readme introduction, things to include in the readme, and tools that you can use to create an awesome readme.  

I hope the article has helped in understanding the value of a readme file. Along with that, How to write a better readme for your project. Thanks for reading the article.