The Documentation Compendium

repository·master·Indexed 27 days ago

https://github.com/race2infinity/the-documentation-compendium

A resource hub for developers providing technical writing best practices, curated learning materials, and a comprehensive collection of documentation templates. It includes specialized README templates for various project types (Minimal, Standard, Hackathon, Bot, and IoT), as well as templates for Pull Requests, Issues, Contributing, Code of Conduct, Coding Guidelines, Codebase Structure, Changelogs, and TODO files.

Tokens
4.4K
Snippets
7
Records
26
Agent score
91%

What's inside The Documentation Compendium

  1. Use the Minimal Documentation Template

    master

    The Minimal template provides a structured markdown framework for documenting a project. It includes essential sections: a project name, a table of contents, an 'About' section, a 'Quick Start' guide (covering prerequisites, installation, and a demo), and a 'Usage' section. This template is designed to help developers quickly set up a baseline for local development and testing documentation.

    # 项目名称
    
    ## 目录
    + [关于](#about)
    + [快速开始](#getting_started)
    + [使用方法](#usage)
    + [贡献](../CONTRIBUTING.md)
    
    ## 关于 <a name = "about"></a>
    关于你项目的目的,写1-2个段落。
    
    ## 快速开始 <a name = "getting_started"></a>
    这些指令会让你复制整个项目,并在本地机器上运行以进行开发和测试。
    查看[部署](#deployment),获取如何在线上系统部署的信息。
    
    ### 准备工作
    
    需要哪些软件以及如何安装它们。
    

    例子

    
    ### 安装
    
    一步步的介绍如何运行开发环境。
    
    介绍每个步骤
    

    给出例子

    
    然后重复
    

    直到完成

    
    在例子最后,从搭好的系统中获取一些数据,或者介绍如何使用它做个小的demo展示。
    
    ## 使用方法 <a name = "usage"></a>
    
    介绍如何使用这个系统。
  2. Understand the frontend/server directory structure

    master

    The frontend/server directory contains the core logic of the application. These modules must not be directly accessible to the outside world; they should only be called by the user interface located in the www folder.

    • controllers/: Contains the business logic and exposes the server API.
    • libs/: Contains libraries and utilities.
    • libs/dao/: Contains Data Access Objects (DAO) and Value Objects (VO).
  3. Use the Minimal README template

    master

    The Minimal README template provides a lightweight structure for documenting a project. It includes essential sections: a Project Title, Table of Contents, an About section, a Getting Started guide (covering Prerequisites and Installation), and a Usage section. This template is ideal for small projects or early-stage development where a full documentation suite is not yet required.

    # Project Title
    
    ## Table of Contents
    + [About](#about)
    + [Getting Started](#getting_started)
    + [Usage](#usage)
    + [Contributing](../CONTRIBUTING.md)
    
    ## About <a name = "about"></a>
    Write about 1-2 paragraphs describing the purpose of your project.
    
    ## Getting Started <a name = "getting_started"></a>
    These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for notes on how to deploy the project on a live system.
    
    ### Prerequisites
    
    What things you need to install the software and how to install them.
    

    Give examples

    
    ### Installing
    
    A step by step series of examples that tell you how to get a development env running.
    
    Say what the step will be
    

    Give the example

    
    And repeat
    

    until finished

    
    End with an example of getting some data out of the system or using it for a little demo.
    
    ## Usage <a name = "usage"></a>
    
    Add notes about how to use the system.
  4. Draft a Problem Statement using the Business Analysis paradigm

    master

    When writing the Problem Statement section for a hackathon project, use this three-part structure to define requirements effectively:

    • Ideal State: Describe the expected environment or outcome once the solution is implemented.
    • Current State: Describe the current reality of the product or process.
    • Consequences: Describe the impact (costs in money, time, productivity, or competitive advantage) if the problem remains unsolved.
  5. Select a README template based on project type

    master

    The en/README_TEMPLATES/ directory provides several specialized README templates. Choose the template that best matches your project's scope and requirements:

    • Minimal.md: Use this for a quick, basic setup of a very simple README.
    • Standard.md: Use this for a detailed, comprehensive README covering all major project aspects.
    • Hackathon.md: Use this during hackathons to create a high-impact, thorough README designed to impress judges.
    • Bot.md: Use this specifically for documenting and sharing bots.
    • IoT.md: Use this for IoT (Internet of Things) projects to ensure all hardware and connectivity details are covered.
  6. Template for Bot README documentation

    master

    This template provides a structured format for documenting a bot project. It includes sections for:

    • Introduction: A brief description of the bot's purpose.
    • Demo: Visual representation of the bot in action.
    • How it works: Technical explanation of the logic (e.g., API fallback logic).
    • Usage: Specific command syntax and examples.
    • Getting Started: Prerequisites and local installation steps.
    • Deployment: Instructions for hosting (e.g., Heroku).
    • Built Using: List of core technologies and libraries used.
  7. Use the Standard README Template

    master

    The Standard README template provides a structured format for documenting a project. It includes sections for an overview, getting started (prerequisites and installation), testing, usage, deployment, technology stack, authors, and acknowledgments. Use this template to ensure your project documentation is professional and covers all necessary developer needs.

    ## 🧐 About
    Write about 1-2 paragraphs describing the purpose of your project.
    
    ## 🏁 Getting Started
    ### Prerequisites
    What things you need to install the software and how to install them.
    
    ### Installing
    A step by step series of examples that tell you how to get a development env running.
    
    ## 🔧 Running the tests
    ### Break down into end to end tests
    ### And coding style tests
    
    ## 🎈 Usage
    Add notes about how to use the system.
    
    ## 🚀 Deployment
    Add additional notes about how to deploy this on a live system.
    
    ## ⛏️ Built Using
    - [Technology Name](URL) - Role
  8. Use README templates for different project types

    master

    The README_TEMPLATES directory provides specialized Markdown templates tailored to specific project categories. You can select and use these templates to structure your project's documentation based on its nature:

    • Bot.md: For bot-related projects.
    • Hackathon.md: For projects developed during hackathons.
    • IoT.md: For Internet of Things projects.
    • Minimal.md: For lightweight or simple projects requiring minimal documentation.
    • Standard.md: For general-purpose projects requiring a standard documentation structure.
  9. Technical writing best practices

    master

    Follow these guidelines to improve the quality and accessibility of your documentation:

    Do:

    • Use a lighthearted, friendly tone.
    • Keep content brief.
    • Use headings frequently to break up text and enable deep linking.
    • Link to additional information externally rather than forcing readers to navigate multiple pages for context.
    • Include code snippets, CLI examples, and visual aids.
    • Introduce a guide to provide context before diving into technical details.
    • Describe the functionality of files within your project.
    • Use gender-neutral pronouns (e.g., 'they').

    Avoid:

    • Assuming prior knowledge about the topic.
    • Using idioms (use formal, well-defined terms to assist non-native speakers).
    • Cluttering explanations with overly detailed examples.
    • Using offensive terms.