Skip to content
This repository was archived by the owner on Sep 24, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions readme/template-guide-readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# README Template Guide

Read this document before you start working on the README template.


*Note: As your project evolves and grows, so should your README file. READMEs should be revisited regularly to ensure relevant information is captured for new users.*
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

## Why do I need a README?
Comment thread
fungjoanne marked this conversation as resolved.
READMes are the first document users find and read. All projects include a README, and users will expect to find one in your project's root folder. A README tells users what they need to know about your project, if the project is relevant to the user, and how users can engage with the project. Your README is your project's first impression.
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

In some cases, larger projects may include sub-READMEs, or separate, smaller READMEs that support subfolders in the project.
Comment thread
fungjoanne marked this conversation as resolved.

## Content of the README template guide
The following sections provide guidance and context on how to fill out the README template.

### About the "Project logo and badge" section
This section is optional.

A project logo can be helpful for users to visually identify your project.

Embed relevant badges to your README to add credibility to your project. Badges highlight important information and can help users determine project fit quickly. [Learn more about badges.](https://github.com/badges/shields)
Comment thread
fungjoanne marked this conversation as resolved.

Comment thread
fungjoanne marked this conversation as resolved.
### About the "Project name" section
Comment thread
fungjoanne marked this conversation as resolved.
The project name should be prominent in the README and easy for users to identify. You may want to consider adding the following to help identify the project:
Comment thread
fungjoanne marked this conversation as resolved.
- Project URL
Comment thread
fungjoanne marked this conversation as resolved.
- Name(s) of project owner(s)
Comment thread
fungjoanne marked this conversation as resolved.

*Note: Consider the stage your project is at and how much information is required in your README. Names associated with the project may be better located in a separate contact document.*
Comment thread
fungjoanne marked this conversation as resolved.


### About the "Table of contents" section
This section is optional.

A table of contents can be useful in the case of lengthy READMEs. As the project evolves, the README may require a table of contents for information organization.

*Note: For Markdown files, GitHub now automatically generates a table of contents in the file Header. [Learn more about the GitHub TOC here.](https://github.blog/changelog/2021-04-13-table-of-contents-support-in-markdown-files/)*
Comment thread
fungjoanne marked this conversation as resolved.

### About the "Project description" section
The project description is the most critical part of your README. Describe what the project does, why the reader should care about your project, and how it can help the reader. This section should be succinct, use strong verbs, and help the reader determine whether the project is of use to them.
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

Screenshots or videos may also be included in this section to help readers understand your project. Any assets you direct users to should exist in the repo.
Comment thread
fungjoanne marked this conversation as resolved.

You can use the below project description format to start filling in your section. An example is provided.


With *(this project)* you can *(verb)* *(noun)*...

*(This project)* helps you *(verb)* *(noun)*....
Comment thread
fungjoanne marked this conversation as resolved.

Unlike *(alternative)*, *)this project)* *(verb)* *(noun)*...
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.


---

Example: With the Chronologue project, you can discover astronomical events throughout documented history. This project helps you understand the evolution of space in a streamlined format. Unlike googling and searching for important astronomical events, the Chronologue project outlines historical events with an easy to use and simple interface.
Comment thread
fungjoanne marked this conversation as resolved.

---
Comment thread
fungjoanne marked this conversation as resolved.

### About the "Who is the project for" section
Identify your project audience and state who can use the project and under what terms.
Comment thread
fungjoanne marked this conversation as resolved.

### About the "Project dependencies" section
List any pre-requisites a user needs to interact with your project. Include relevant links to installation instructions or resources.
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

### About the "Instructions for using project" section
Describe in clear steps how to get, install, configure, run, and troubleshoot the project. Use a table for troubleshooting common issues to clearly identify issues and solutions.
Comment thread
fungjoanne marked this conversation as resolved.

Comment thread
fungjoanne marked this conversation as resolved.
### About the "Additional documentation" section
Provide additional documentation for users by including links and brief descriptions. Examples of additional documentation include:
- Project website
- Twitter handle(s) of project/project owner(s)
Comment thread
fungjoanne marked this conversation as resolved.
- Relevant examples
- Next steps
- Features planned
- Known bugs
- Documentation files
Comment thread
fungjoanne marked this conversation as resolved.
- Help command(s)
Comment thread
fungjoanne marked this conversation as resolved.

Comment thread
fungjoanne marked this conversation as resolved.

### About the "How to get help" section
Provide guidance for users seeking assistance by including links and brief descriptions. Examples of help resources include:
- Google group/mailing list
- Email address(es)
Comment thread
fungjoanne marked this conversation as resolved.
- IRC, Slack, or Discord channels
- Bug trackers
- Stack overflow
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

### About the "Contributing guidelines" section
Provide clear instructions on how users can contribute to the project by linking to your contributing guidelines document or by embedding the guidelines in your README.

*Note: Consider the stage your project is at. While most contributing guidelines are provided in a separate document, a smaller project may include guidelines in the README. A Good Docs contributing guidelines template is available. [LINK TO KAYLA'S TEMPLATE].*

Comment thread
fungjoanne marked this conversation as resolved.

### About the "Terms of use" section
The Terms of use section should include your project license and other relevant licensing information.

## Additional README resources
- [Daniel Beck's README checklist](https://github.com/ddbeck/readme-checklist/blob/main/checklist.md)
- [Daniel Beck's Write the Docs "Write the Readable README" presentation](https://www.writethedocs.org/videos/na/2016/write-the-readable-readme-daniel-beck/)

If there are other README resources you think can be linked in this guide, please [open an issue](https://github.com/thegooddocsproject/templates/issues) to let us know!
101 changes: 101 additions & 0 deletions readme/template-readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# README Template

*{Before using this template, read the accompanying README template guide}.*

## {Project} logo and badges
{This section is optional. Share your logo and add relevant badges to your README.}
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

## {Project Name}
{Optional: Include the project URL and the project owner name}
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.
Comment thread
fungjoanne marked this conversation as resolved.

## Table of contents
{This section is optional.}
Comment thread
fungjoanne marked this conversation as resolved.
1. Heading 1
2. Heading 2
3. Heading 3...

## Project description
{Project description example available in README template guide}
Comment thread
fungjoanne marked this conversation as resolved.

Comment thread
fungjoanne marked this conversation as resolved.
With *{Project Name}* you can *(verb)* *(noun)*...

*{Project Name}* helps you *(verb)* *(noun)*....
Comment thread
fungjoanne marked this conversation as resolved.

Unlike *(alternative)*, *{Project Name}* *(verb)* *(noun)*...

{Optional: Include screenshots and/or demo videos}
Comment thread
fungjoanne marked this conversation as resolved.

## Who this project is for
This project is intended for {target audience} who want to {audience objective}.
Comment thread
fungjoanne marked this conversation as resolved.

## Project dependencies
To use {Project Name}, you will need:
- Prerequisite 1
- Prerequisite 2
- Prerequisite 3...

## Instructions for using {Project Name}
Get started with {Project Name} by {first step here}
Comment thread
fungjoanne marked this conversation as resolved.

### How to get {Project Name}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question (non-blocking): For me, I wonder if "install" would be better? We could make it more flexible with a format like this too:

How to get/install/download {Project Name} to show that there's a few choices?

Edited to add: Actually, I see you have an install, configure, run section later. What is the difference between those sections and the "how to get" section in your mind?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The install/configure/run was what was in Sachin's original template. I think they likely could be joined together, but I can see the value in breaking it down if a project has a large number of steps for each. Let's chat about this!

1. {Write the step here. Use a verb to start.}

{Explanatory text here}
Comment thread
fungjoanne marked this conversation as resolved.

{Optional: Code sample or screenshot that helps your users complete this step}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: I'd rewrite to a full sentence for consistency.

Suggested change
{Optional: Code sample or screenshot that helps your users complete this step}
{Optional: Include a code sample or screenshot that helps your users complete this step.}


2. {Write the step here. Use a verb to start.}

a. {Substep 1}

b. {Substep 2}

### How to install {Project Name}
1. {Write the step here. Use a verb to start.}

2. {Write the step here. Use a verb to start.}
### How to configure {Project Name}
Comment thread
fungjoanne marked this conversation as resolved.
1. {Write the step here. Use a verb to start.}

2. {Write the step here. Use a verb to start.}
### How to run {Project Name}
1. {Write the step here. Use a verb to start.}

2. {Write the step here. Use a verb to start.}
### How to troubleshoot {Project Name}
Comment thread
fungjoanne marked this conversation as resolved.
| Issue | Solution |
| ----------- | ----------- |
| {Describe the issue here} | {Write solution here} |
| {Describe the issue here} | {Write solution here} |
| {Describe the issue here} | {Write solution here} |

Other troubleshooting supports:
- {Link to FAQs}
- {Link to runbooks}
- {Link to other relevant support information}


## Additional documentation
{Include links and brief descriptions to additional documentation. Examples provided in README template guide.}

More information can be found:
Comment thread
fungjoanne marked this conversation as resolved.
- Reference link 1
- Reference link 2
- Reference link 3...


## How to get help
{Include links and brief descriptions for support resources. Examples provided in README template guide.}


- Reference link 1
- Reference link 2
- Reference link 3...

## Contributing guidelines
{Include a link to your contributing guide here. If you do not have a contributing guide, incorporate the information in the README}.

Comment thread
fungjoanne marked this conversation as resolved.


## Terms of use
{Project Name} is licensed under {license}.
Comment thread
fungjoanne marked this conversation as resolved.