awesome-documentation
📃 A curated and up-to-date list of resources on software documentation templates, tools, guides, examples, etc.
https://github.com/pengqun/awesome-documentation
Last synced: about 22 hours ago
JSON representation
-
Documentation Types
-
API Documentation
- The Bezos API Mandate
- Slate - Beautiful static documentation for your API.
- Widdershins - OpenAPI / Swagger / AsyncAPI / Semoasa definition to Slate / ReSlate compatible markdown.
- DevDocs - Combines multiple developer documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more.
- Zeal - Offline documentation browser inspired by Dash.
- apiDoc - RESTful web API Documentation Generator.
- OpenAPI Specification - agnostic interface to HTTP APIs. An OpenAPI definition can then be used by documentation generation tools to display the API.
- Swagger UI - api/swagger-ui) - Dynamically generate beautiful documentation from a Swagger-compliant API.
- Swagger Petstore - A sample Pet Store Server based on the OpenAPI 3.0 specification.
- Redoc - An open source tool for generating documentation from OpenAPI (formerly Swagger) definitions.
- RapiDoc - doc/RapiDoc) - WebComponent Custom Element for OpenAPI Spec viewing.
- Fern - api/fern) - Generate SDKs and API documentation from OpenAPI definitions.
- Elements - Beautiful API documentation powered by OpenAPI and Markdown.
- Scalar - Generate interactive API documentations from Swagger files.
- GraphQL
- GitHub GraphQL API documentation - A great real world example of GraphQL API from GitHub.
- SpectaQL - A Node.js library that generates static documentation for a GraphQL schema.
- GraphQLDocs - docs) - Ruby library and CLI for easily generating beautiful documentation from your GraphQL schema.
- Magidoc - org/magidoc) - A JavaScript library that auto-generates static documentation from any GraphQL schema.
- gRPC
- protoc-gen-doc - gen-doc) - Generate HTML, JSON, DocBook, and Markdown documentation from comments in your .proto files.
- Example - A sample HTML documentation generated by protoc-gen-doc.
- Sabledocs - A simple static documentation generator for Protobuf and gRPC contracts.
- Example - A sample documentation created with sabledocs, from parts of the Protobuf contracts of the Google Cloud SDK.
- AsyncAPI Specification - driven APIs in a machine-readable format, which can also be used to generate API documents.
- Async API Generator - Use AsyncAPI definition to generate literally anything, including Markdown documentation and HTML documentation.
- AsyncAPI React Component - react) - Rendering documentation from your specification in real-time in the browser.
- Petstore Kafka - api/petstore-kafka) - A functional example for describing with AsyncAPI and OpenAPI.
- RAML Specification - RESTful APIs, creating client/server source code, and comprehensively documenting the APIs for users.
- API Console - console) - An interactive REST console based on RAML/OAS files.
- RAML to HTML - A simple RAML to HTML documentation generator, written for Node.js, with theme support.
- World Music API - A live example using RAML to HTML documentation generator.
- GitBook - A modern platform for creating and managing interactive API documentation from OpenAPI definitions.
- RAML Specification - RESTful APIs, creating client/server source code, and comprehensively documenting the APIs for users.
- OpenAPI Generator - generator) - Generate API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3).
- xyd - Generate scalable API Docs from OpenAPI definitions easier.
- xyd - Generate scalable API Docs from GraphQL schema easier.
- API Reference template - Open-source template provided by The Good Docs Project.
-
Architectural Documentation
- arc42 - Proven, practical and pragmatic template for documentation and communication of software and system architectures.
- Template Download - The arc42 template in various formats, including docx, asciidoc, markdown, latex, rst, html, Confluence, etc.
- Example: HTML Sanity Checker - Verbose example for the documentation of a Gradle plugin, created by Dr. Gernot Starke.
- Example: biking - A real world example for a bike activity tracker, created by Michael Simons.
- Example: arc42 + C4 model - c4-software-architecture-documentation-example) - Shows how to use arc42 in combination with the C4 model with the Documentation as Code technique.
- docToolchain - An implementation of the docs-as-code approach for software architecture, which use arc42 as template.
- The Ultimate Guide To Software Architecture Documentation - Write, structure, visualize and manage software architecture documentation in a lean way using appropriate documentation tools, including arc42.
- c4-draw.io - draw.io) - A C4 Modelling plugin for draw.io, which provides C4 Notation Elements in draw.io.
- C4-PlantUML - stdlib/C4-PlantUML) - Includes macros, stereotypes, and other goodies (like VSCode Snippets) for creating C4 diagrams with PlantUML.
- C4 Diagrams | Mermaid - Mermaid's C4 diagram syntax is compatible with plantUML.
- Structurizr - C4 models as code - visualise and document your software architecture with the C4 model.
- C4-Builder - Builder) - A lightweight Node.js cli tool for building, maintaining and sharing a software architecture project using only text.
- C4Sharp - A .net library for building diagrams as code, based on C4 Model.
- Goa Design - Model - Create your software architecture models and diagrams in Go. The Model DSL is implemented in Go and follows the C4 Model.
- Log4brains - Log Architecture Decision Records (ADR) right from your IDE and to publish them automatically as a static website.
- docToolchain - An implementation of the docs-as-code approach for software architecture, which use arc42 as template.
- C4 model - The C4 model for visualizing software architecture using Context, Containers, Components, and Code.
-
Code Documentation
- Best-README-Template - README-Template) - An awesome README template to jumpstart your projects.
- Awesome README - readme) - A curated list of awesome READMEs, including examples, articles and tools.
- readme.so - An online drag-and-drop editor to easily build READMEs.
- Jeff Atwood
- Best practices for writing code comments - 9 rules to help you write better comments, providing examples and explaining how and when to apply them.
- The Engineer's Guide to Writing Meaningful Code Comments - Covers types of comments, when and how to write code comments, some best practices, and when not to write them.
- NERD Commenter - Vim plugin for intensely nerdy commenting powers.
- 101 to 404s: How to write great error messages - Even the shortest error message can evoke far stronger, negative emotions in your end users than the majority of your documentation.
- Code Of Conduct template - Open-source template provided by The Good Docs Project.
- License templates - templates) - Templates for open source and other licenses.
- JSDoc - An API documentation generator for JavaScript.
- documentation.js - The documentation system for modern JavaScript.
- Docz - Write and publish beautiful interactive documentation for your code.
- Storybook - A frontend workshop made for UI development, testing, and documentation.
- TSDoc - A doc comment standard for TypeScript.
- Docstring Conventions - This PEP documents the semantics and conventions associated with Python docstrings.
- Comments and Docstrings - From Google Python Style Guide.
- Documenting Python Code: A Complete Guide - Covering differences between commenting and documenting, use of docstrings, and guidelines for documenting Python projects.
- phpDocumentor - The de-facto documentation tool for PHP projects, offering a robust solution for generating comprehensive documentation effortlessly.
- Docfx - Static site generator for .NET API documentation.
- Doxygen - The de facto standard tool for generating documentation from annotated C++ sources.
- JavaDoc - A documentation generator created by Sun Microsystems for the Java language (now owned by Oracle Corporation) for generating API documentation in HTML format from Java source code.
- Maven Javadoc Plugin - javadoc-plugin) - Uses the Javadoc tool to generate javadocs for the specified project.
- javadoc.io - A free service that indexes and serves JavaDoc for Maven Central.
- Dokka - An API documentation engine for Kotlin.
- Go Doc Comments - Extract documentation from Go source code.
- Swag - Converts Go annotations to Swagger Documentation 2.0.
- Rustdoc - Generate documentation for Rust projects.
- Docs.rs - lang/docs.rs) - An open source project to host documentation of crates for the Rust Programming Language.
- TomDoc for Ruby - A code documentation specification that helps you write precise documentation that is nice to read in plain text, yet structured enough to be automatically extracted and processed by a machine.
- perlpod - The Plain Old Documentation format - a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules.
- SchemaSpy - Document your database simply and easily.
- TomDoc for Ruby - A code documentation specification that helps you write precise documentation that is nice to read in plain text, yet structured enough to be automatically extracted and processed by a machine.
- The Engineer's Guide to Writing Meaningful Code Comments - Covers types of comments, when and how to write code comments, some best practices, and when not to write them.
- NRG - generator) - Multi-language README generator that builds README files from a single `.src.md` template with imports, widgets, and a table-of-contents engine. CLI, Maven plugin, and Java library.
- README template - Open-source template provided by The Good Docs Project.
- Best practices for writing code comments - 9 rules to help you write better comments, providing examples and explaining how and when to apply them.
- CONTRIBUTING template - Open-source template provided by The Good Docs Project.
- Style guide template - Open-source template provided by The Good Docs Project.
-
Other Types
- PRD: Product Requirements Doc templates - A bunch of PRD templates from Notion, both free and paid.
- Product Templates: Product Requirements Document (PRD) - Free PRD Templates from Product School.
- PRD templates for product managers - PRD templated from Aha! software.
- Request for Comment template - Open-source template provided by The Good Docs Project.
- PRD: Product Requirements Doc templates - A bunch of PRD templates from Notion, both free and paid.
-
Test Documentation
- IEEE Test Plan Template - IEEE 829 templates in HTML5 and Markdown formats.
- SONiC Test Plan Template - A test plan template from Software for Open Networking in the Cloud (SONiC).
- Writing Test Plan Items | VS Code - A guide for writing Test Plan Item (TPI) for VS Code project.
- Performance Test Plan Document - A free .docx template for performance test plan from PerfMatrix.
- TestCases and Templates for Manual Software Testing - General Test Cases for performing Manual Testing and API Testing on the Web/Mobile application.
- Test Case Template (Download Sample Excel) - A free test case template from Guru99, with both Excel and Word formats.
- Test Case Template with Examples: Free Excel & Word Sample for Download - A free test case template from Katalon, with guidelines and direct download links.
- Performance Test Report Template - A free .docx template for performance test report from PerfMatrix.
- Performance Testing Results Report: How to Write It (with Example) - A guide on performance testing report, including why, how and a real world example.
- A Step-by-Step Guide to Creating a Powerful Performance Summary Report - Discuss the best practices for creating a performance test summary report and the key components that should be included in it, with a full example.
- Bug report template - Open-source template provided by The Good Docs Project.
- A Step-by-Step Guide to Creating a Powerful Performance Summary Report - Discuss the best practices for creating a performance test summary report and the key components that should be included in it, with a full example.
-
User Documentation
- The Documentation System
- Tutorial - Lean how to write good tutorials from The Documentation System.
- Tutorial template - Open-source template provided by The Good Docs Project.
- Writing a perfect technical tutorial - How to start creating tutorials, gather feedback, and the next steps once the tutorial is published.
- Example: Build your first Astro Blog - A well-structured and good-looking tutorial that covers Astro's key features by building a fully-functioning blog, from zero to full launch.
- Reference guides - Lean how to write good reference guides from The Documentation System.
- SDK Reference Manuals: A flow-based approach - Give users of SDK reference docs a quick, enjoyable, user-oriented experience.
- How-to guides - Learn how to write good how-to guides from The Documentation System.
- Explanation - Learn how to write a good explanation from The Documentation System.
- The Facts About FAQs - Explore various questions we might frequently ask ourselves about FAQs.
- Driver.js - A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page.
- Troubleshooting template - Open-source template provided by The Good Docs Project.
- The Power of Empathy in Support Documentation: A 5-Step Guide - Apply empathy and iteration to customer support documentation projects.
- Shepherd - pro/shepherd) - Guide your users through a tour of your app.
- The Documentation System
- Tutorial - Learn how to write good tutorials from The Documentation System.
- Tutorial template - Open-source template provided by The Good Docs Project.
- Reference guides - Learn how to write good reference guides from The Documentation System.
- Reference template - Open-source template provided by The Good Docs Project.
- How-to guides - Learn how to write good how-to guides from The Documentation System.
- How-to template - Open-source template provided by The Good Docs Project.
- Concept template - Open-source template provided by The Good Docs Project.
- Explanation - Learn how to write a good explanation from The Documentation System.
- Installation template - Open-source template provided by The Good Docs Project.
- Terminology system guide template - Open-source template provided by The Good Docs Project.
- Release Notes template - Open-source template provided by The Good Docs Project.
-
-
General Tools
-
AI-powered Tools
- Mintlify Writer - An AI-powered VS Code extension that automatically generates code documentation by highlighting code. Supports multiple programming languages and docstring formats including JSDoc, reST, NumPy, and more.
- Readme AI - ai) - A developer tool that automatically generates comprehensive README files using repository analysis and language models. It supports multiple LLM providers, custom templates, and offline generation.
- GitBook AI - A built-in AI assistant that helps teams quickly draft, refine, and enhance product documentation with smart, context-aware suggestions.
-
Checker & Formatter
- LanguageTool - org/languagetool) - Style and Grammar Checker for 25+ Languages.
- Spellcheck GitHub Actions - github-actions) - A GitHub Action that spell checks Python, Markdown, and Text files.
- TeXtidote - A correction tool for LaTeX documents and other formats.
- alex - alex/alex) - Catch insensitive, inconsiderate writing.
- Lychee - Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more.
- linkinator - A super simple site crawler and broken link checker.
- Readability checker - Score your writing based on the Flesch reading ease scale, which looks at how long your words and sentences are.
- Capitalize My Title - An easy, smart title capitalization tool that uses title capitalization rules published by leading professional organizations to ensure your titles and headlines are capitalized correctly.
- CasePolice - police) - Scan all your source files and fix the cases of known names.
- Tables Generator - Generate tables in HTML, Markdown, Latex, MediaWiki, etc.
-
Commercial
- Confluence - A powerful collaboration and project management software, which is widely used for enterprise documentation management.
- Confluence in a Docker container - atlassian-confluence) - Atlassian Confluence wrapped in a Docker image.
- Writerside | JetBrains - The most powerful development environment – now adapted for writing documentation.
- Project documentation |Â Slite - Brings your scattered project documents into one place:
- Swimm document - Code documentation for developer productivity, including AI support to improve readability.
- Kapa.ai - Generate an LLM-powered chatbot that answers developer questions automatically and helps you find gaps in your docs.
- Kapa.ai - Generate an LLM-powered chatbot that answers developer questions automatically and helps you find gaps in your docs.
-
Diagramming
- Excalidraw - An open source virtual hand-drawn style whiteboard for sketching hand-drawn like diagrams.
- draw.io - A JavaScript, client-side editor for general diagramming.
- (Chinese) Architecture Diagramming: Tools and Methodologies - It discusses the benefits of using diagrams in architecture document, and highlights some standards and best practices.
- Mermaid - js/mermaid) - A diagramming and charting tool that renders Markdown-inspired text definitions to create charts.
- Mermaid Live Editor - A live editor for Mermaid diagrams.
- PlantUML - Allows users to create diagrams using a simple syntax.
- OmniGraffle - A Mac-only diagramming tool that offers a wide range of features for creating diagrams.
-
Knowledge Base
- Documize - Modern Confluence alternative designed for internal & external docs.
- Trilium Notes - A hierarchical note taking application with focus on building large personal knowledge bases.
- Seafile - High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features.
- Logseq - A privacy-first, open-source platform for knowledge management and collaboration.
- MrDoc - An online document system suitable for individuals and small teams to manage documents, wiki, knowledge and notes.
- AFFiNE - A next-gen knowledge base that brings planning, sorting and creating all together.
- Docmost - An open-source collaborative wiki and documentation software. It is an open-source alternative to Confluence and Notion.
-
Multimedia
- Screenity - The free and privacy-friendly screen recorder with no limits.
- Kap - An open-source screen recorder built with web technology.
- rrweb - io/rrweb) - A tool for recording and replaying users' interactions on the web.
- ScreenToGif - Record a selected area of your screen, edit and save it as a gif or video.
- Peek - Simple animated GIF screen recorder with an easy to use interface.
- Flameshot - org/flameshot) - Powerful yet simple to use screenshot software.
- Tenacity - An easy-to-use, privacy-friendly, FLOSS, cross-platform multi-track audio editor for Windows, macOS, Linux, and other operating systems.
- asciinema - A command-line tool for recording terminal sessions.
- Terminalizer - Record your terminal and generate animated gif images or share a web player.
- Animockup - A web-based tool that helps you create animated mockups for your product teasers.
- Slidev - Presentation slides for developers.
- reveal.js - Open source HTML presentation framework.
- carbon - app/carbon) - Create and share beautiful images of your source code.
- Code Hike - hike/codehike) - Helps you create a superior code reading experience, whether you are writing blog posts, documentation, tutorials, coding videos, or any type of technical content.
- Unsplash - Beautiful, free images and photos that you can download and use for any project.
- Illustrations | Popsy - Free vector illustrations for Notion and Popsy websites.
- KindPng - Explore millions of transparent png image for personal and non-commercial use.
-
Site Builder
- Docusaurus - A project for building, deploying, and maintaining open source project websites easily.
- Docsify - A magical documentation site generator.
- MkDocs - A fast, simple and downright gorgeous static site generator that's geared towards building project documentation.
- Material for MkDocs - material) - A powerful documentation framework on top of MkDocs.
- mdBook - lang/mdBook) - Create book from markdown files. Like Gitbook but implemented in Rust.
- Sphinx - doc/sphinx) - Make it easy to create intelligent and beautiful documentation.
- Read the Docs - Hosts documentation for the open source community, which supports Sphinx docs written with reStructuredText.
- Markdoc - A Markdown-based syntax and toolchain for creating custom documentation sites and experiences.
- Starlight - Build beautiful, accessible, high-performance documentation websites with Astro.
- Docco - A quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
- bookdown - Authoring Books and Technical Documents with R Markdown.
- Doctave - A batteries-included developer documentation site generator.
-
Programming Languages
Sub Categories
Code Documentation
39
API Documentation
38
User Documentation
26
Multimedia
17
Books
17
Architectural Documentation
17
Site Builder
15
Formats
12
Test Documentation
12
Wiki Builder
11
Checker & Formatter
10
Guidelines
9
Diagramming
7
Knowledge Base
7
Commercial
7
DocOps
6
Accessibility
6
SEO
6
Examples
5
Other Types
5
Communities
3
AI-powered Tools
3
Courses
2
Localization
2
Keywords
documentation
39
markdown
23
javascript
14
docs
13
api
11
wiki
11
openapi
10
react
9
documentation-tool
9
openapi3
8
static-site-generator
7
knowledge-base
6
api-documentation
6
typescript
6
swagger
6
diagrams
6
editor
5
developer-tools
5
open-source
5
cli
5
documentation-generator
5
vue
5
plantuml
4
knowledge-management
4
recorder
4
electron
4
productivity
4
rest-api
4
nodejs
4
python
4
graphql
4
html
3
gif
3
architecture
3
go
3
theme
3
c4
3
generator
3
c4model
3
rest
3
diagram
3
whiteboard
3
testing
3
docs-as-code
3
java
3
ruby
3
app
3
jsdoc
3
document-management
3
latex
3