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: 6 days 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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
-
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.
-
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.
-
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.
- GitBook - A modern platform for creating beautiful, user-focused documentation for products, APIs, and SDKs.
- xyd - A new scalable docs framework built for everyone powered by LiveSession.
- Sourcey - Multi-source static documentation generator. Consumes OpenAPI, MCP, Doxygen XML, godoc, and Markdown to produce one static HTML site. Self-hosted, AGPL-3.0.
-
Wiki Builder
- Wiki.js - A modern and powerful wiki app built on Node.js.
- MediaWiki - A free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects.
- DokuWiki - A simple to use and highly versatile Open Source wiki software that doesn't require a database.
- Gollum - A simple wiki system built on top of Git.
- VimWiki - A personal wiki for Vim, which can be used to write documentation.
- GitHub Wiki
- Awesome GitHub Wikis - github-wiki) - A curated list of awesome GitHub Wikis, including examples, tips and tricks.
- Federated Wiki
- The Federated Wiki - Use federation to ease sharing, by Ward Cunningham.
- Node.js server version - Federated Wiki node server as npm package.
- Federated Wiki
-
-
More Topics
-
Accessibility
- Documents Accessibility - The Definitive Guide - How to make your documents meet accessibility standards.
- Website Accessibility Checker - Scan your website for free, identify accessbility issues, and get exact instructions on how to fix them.
- Color Contrast Checker - Find out whether your site meets WCAG color requirements.
- WebAIM - Web accessibility in mind.
- Pa11y - Runs accessibility tests on your doc pages via the command line or Node.js.
- Create accessible documents | UW Madison - Follow these basic steps to increase the accessibility of your Word, HTML, PowerPoint and PDF documents.
-
Books
- Docs for Developers: An Engineer's Field Guide to Technical Writing - Teaches you the craft of documentation for each step in the software development lifecycle.
- Technical Documentation and Process - Provide the background and structure to help you document your projects more effectively.
- Crafting Docs for Success : An End-to-End Approach to Developer Documentation - Provide an easy to follow blueprint for building successful developer documentation by using the award winning platformOS developer portal as inspiration.
-
Programming Languages
Sub Categories
API Documentation
37
Code Documentation
35
Multimedia
17
Books
17
Architectural Documentation
16
Site Builder
15
User Documentation
14
Wiki Builder
11
Formats
11
Checker & Formatter
10
Test Documentation
10
Guidelines
9
Knowledge Base
7
Diagramming
6
Accessibility
6
DocOps
6
Commercial
6
Examples
5
SEO
5
Other Types
4
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