The Documentation Compendium
repository·master·Indexed 27 days ago
https://github.com/race2infinity/the-documentation-compendiumA 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.
What's inside The Documentation Compendium
- The Documentation Compendium is a collection of README templates and tips designed to help developers write high-quality, engaging documentation. It provides best practices, templates for various repository files, and curated resources for technical writing.
Use the Minimal Documentation Template
masterThe 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> 介绍如何使用这个系统。Understand the frontend/www directory structure
masterThe
frontend/wwwdirectory contains the complete contents of the Internet page. It is the only part of the server-side logic that should be accessible to the outside world.js/: Contains JavaScript files and frameworks. Note: When making changes, you must minify the JavaScript before uploading.css/: Contains minified CSS files.
Understand the frontend/server directory structure
masterThe
frontend/serverdirectory 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 thewwwfolder.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).
Use the Minimal README template
masterThe 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 beGive the example
And repeatuntil 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.Draft a Problem Statement using the Business Analysis paradigm
masterWhen writing the
Problem Statementsection 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.
Select a README template based on project type
masterThe
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.
Template for Bot README documentation
masterThis 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.
Use the Standard README Template
masterThe 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) - RoleUse README templates for different project types
masterThe
README_TEMPLATESdirectory 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.
Validate code compliance with php-format.py
masterTo ensure your code adheres to the project's coding guidelines, run the validation script using the following command:
stuff/php-format.py validateTechnical writing best practices
masterFollow 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.