Professional README Guide
February 06, 2024Disponible en español
A polished GitHub profile is an important part of your public identity as a developer. Why? For one thing, it will most likely be the first place that potential employers look to evaluate your skills and professionalism. And it also allows you to connect with and showcase your work to other developers, which can lead to interesting collaborations.
A key component of your profile, and one that many new developers overlook, is the README file that's associated with each respository. A README file acts like a virtual storefront to a repository—it's the first thing that a person sees when they visit a repo on GitHub. But it's also much more than that: README files contain essential information about the repo's project. Thus, the quality of a README file can differentiate a high-quality repo from a low-quality one.
There's no one right way to structure a README file. There is one very wrong way, however, and that is to not include a README at all or to create a very sparse one.
To help you create high-quality READMEs from the start, this guide outlines some basic best practices for creating them. As you progress in your career, you'll develop your own ideas about what makes an effective README file.
What Should a High-Quality README Contain?
A high-quality README file explains what your application does and why you used the technologies that you did. At a bare minimum, a README needs a title and a short description explaining the what, why, and how of the project.
Use the following questions as a guide:
- What was your motivation?
- Why did you build this project? (Note: the answer is not "Because it was a homework assignment.")
- What problem does it solve?
- What did you learn?
- What makes your project stand out?
Your README might also describe some of the challenges you faced, as well as the features you plan to implement in the future. And if your project is deployed, make sure to include a link to the deployed application so people can see it in action!
How Do I Create a High-Quality README File?
README files are written in Markdown, and are always named README.md
(note that README
is in all caps). If you're new to Markdown, refer to the GitHub guide on mastering markdown or search the internet for Markdown tutorials.
For a great example of a high-quality README file, visit Microsoft's VS Code repository.
Professional README Template
We've provided a flexible template to use as a starting point, but feel free to adapt your README file to suit your project's particular needs.
Use the following Markdown template to create a professional README file:
# <Your-Project-Title>## DescriptionProvide a short description explaining the what, why, and how of your project. Use the following questions as a guide:- What was your motivation?- Why did you build this project? (Note: the answer is not "Because it was a homework assignment.")- What problem does it solve?- What did you learn?## Table of Contents (Optional)If your README is long, add a table of contents to make it easy for users to find what they need.- [Installation](#installation)- [Usage](#usage)- [Credits](#credits)- [License](#license)## InstallationWhat are the steps required to install your project? Provide a step-by-step description of how to get the development environment running.## UsageProvide instructions and examples for use. Include screenshots as needed.To add a screenshot, create an `assets/images` folder in your repository and upload your screenshot to it. Then, using the relative filepath, add it to your README using the following syntax:```md![alt text](assets/images/screenshot.png)```## CreditsList your collaborators, if any, with links to their GitHub profiles.If you used any third-party assets that require attribution, list the creators with links to their primary web presence in this section.If you followed tutorials, include links to those here as well.## LicenseThe last section of a high-quality README file is the license. This lets other developers know what they can and cannot do with your project. If you need help choosing a license, refer to [https://choosealicense.com/](https://choosealicense.com/).---🏆 The previous sections are the bare minimum, and your project will ultimately determine the content of this document. You might also want to consider adding the following sections.## Badges![badmath](https://img.shields.io/github/languages/top/lernantino/badmath)Badges aren't necessary, per se, but they demonstrate street cred. Badges let other developers know that you know what you're doing. Check out the badges hosted by [shields.io](https://shields.io/). You may not understand what they all represent now, but you will in time.## FeaturesIf your project has a lot of features, list them here.## How to ContributeIf you created an application or package and would like other developers to contribute it, you can include guidelines for how to do so. The [Contributor Covenant](https://www.contributor-covenant.org/) is an industry standard, but you can always write your own if you'd prefer.## TestsGo the extra mile and write tests for your application. Then provide examples on how to run them here.
A GitHub profile with consistently high-quality README files is sure to help you stand out among the crowd of developers putting their work on GitHub, so make sure you give these important files the time and attention they deserve.
This page was updated 6 months ago
© 2022 edX Boot Camps LLC. Confidential and Proprietary. All Rights Reserved.
Category: github
All Posts
- OpenAI Account Setup Guide
- NodeJS Installation Guide
- PostgreSQL Reference Guide
- GitHub Copilot Guide
- PostgreSQL Installation Guide
- Deploy with Render and PostgreSQL
- API Resources
- Render Deployment Guide
- Deploying a MERN Stack Application to Render
- Deploy with Render and MongoDB Atlas
- The Science and Research Behind Our Unconventional Educational Approach
- What Makes Up a Web Development Project?
- Localhost Loopback Issues Troubleshooting Guide
- Video Submission Guide
- A Growth Mindset for Life
- Web Literacy
- Developer Resources
- Introduction to Computer Structure and Organization
- MySQL Installation Guide
- HTML Cheatsheet
- Advanced Computer Skills
- Introduction to Computer Skills
- How to Use API Keys
- How to Install MongoDB
- MySQL Reference Guide
- Heroku Deployment Guide
- Getting Started with Git
- Using the GraphQL Playground in a MERN application
- Professional README Guide
- Regular Expression Tutorial
- How to Install the Heroku CLI
- How to Install NodeJS
- Deploy with Heroku and MySQL
- Deploy with Heroku and MongoDB Atlas
- Set Up MongoDB Atlas