About the Templates Repo

May 26, 2022 ยท View on GitHub

This repository contains best-practice templates to help build documentation for open-source software, which incidentally is directly applicable to other domains too.

Here we provide tips for using these templates.

Core documentation types

The templates are categorized into three documentation types:

Concept: Describes how and why something works. Concepts answer the question "what is it?". When readers read concepts, they are learning about a topic. Use concepts to help the reader understand a technology, before they start using it.

Task: Gives specific instructions about how to get something done. Tasks answer the question "how do I do it?". When readers read tasks, they are doing something. Tasks tend to have a specific goal and consist of a set of numbered steps that the reader can follow to achieve that goal.

Reference: Contains structured information or specifications that users need to make a product work. Reference material answers the question "what else do I need to know?" When readers read references, they are fact-checking. Reference sections should comprehensively catalog data such as functions and their parameters, return codes and error messages. They are often presented as tables, bulleted lists, or sample scripts.

Our templates follow these documentation types, and you should find that your information naturally fits into them as you write.

How to use these templates

We like to compare documentation types to aisles in a grocery store. Each aisle includes related templates, which you can think of as ingredients. Use these ingredients in documentation cookbooks to whip up docs for your readers.

When writing your documentation, it helps to think about:

  • Who are you writing for?
  • What will they be trying to do when they read the documentation?
  • What information are you providing? Is it a concept, a task, or reference?

The templates

Current templates:

Template nameDocumentation typeDescription
API Project overviewConceptAn overview of your API
API QuickstartConcept, TaskSimplest possible method of implementing your API
API ReferenceReferenceList of references related to your API
ExplanationConceptLonger document giving background or context to a topic
How-toTaskA concise set of numbered steps to do one task with the product.
TutorialConcept, TaskInstructions for setting up an example project using the product, for the purpose of learning.
General reference entryReferenceSpecific details about a particular topic
Logging referenceReferenceDescription of log pipelines

The cookbook

Recipe nameDescriptionConstituent templates
API referenceOne chapter in your full API documentationReference entries (multiple reference) + error information (reference) + throttling (concept) + authentication (task)
API guide: goodThe starter set for API docsAPI project overview + setup instructions (task) + Reference section (see recipe above) + Quickstart
API guide: betterImproved API docs, after learning about usersAPI project overview + setup instructions (task) + Reference(s) + Quickstart + How-to(s)