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
- 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.
- 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.
- 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.
- 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.
- Reasoning Formats - formats/reasoning-formats) - Draft machine-readable YAML formats for decision records (DRF) and the organizational context they are validated against (CRF), both defined by JSON Schema.
- 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
- 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.
- 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.
- 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
- 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.
- 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
- 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.
- SDK Reference Manuals: A flow-based approach - Give users of SDK reference docs a quick, enjoyable, user-oriented experience.
- The Facts About FAQs - Explore various questions we might frequently ask ourselves about FAQs.
- 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.
- 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.
- Driver.js - A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page.
- Shepherd - Guide your users through a tour of your app.
- 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
- 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.
- CodeAlmanac - Self-updating repository wiki for AI coding agents that tracks project conversations and context locally in the repo.
- notabene - Renders a repo's Markdown/MDX as a navigable site with anchored comments that an AI agent applies back to the source files.
-
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.
- Biel.ai - An AI assistant for technical documentation that answers user questions with source-cited responses, on your docs site, in Slack and Teams, or in AI tools via MCP.
- Notula - WYSIWYG editor for the Markdown documentation in a Git repository, with comment threads committed beside the documents.
- 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.
- Lucidchart - Generate visuals automatically with AI and data imports, or build your own using intuitive diagramming tools.
-
Knowledge Base
- Documize - Modern Confluence alternative designed for internal & external docs.
- 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.
- Trilium Notes - A hierarchical note taking application with focus on building large personal knowledge bases.
-
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.
- 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.
- iScribby - Windows screen annotation tool for drawing over applications and copying images.
- Trupeer - AI-powered tool that turns screen recordings into product videos, step-by-step guides, and documentation.
-
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.
- Docus - content/docus) - Create document-driven websites with Vue & Markdown.
-
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.
- The Federated Wiki - Use federation to ease sharing, by Ward Cunningham.
- Node.js server version - Federated Wiki node server as npm package.
-
Programming Languages
Sub Categories
Code Documentation
35
API Documentation
34
User Documentation
20
Multimedia
18
Architectural Documentation
17
Site Builder
16
Wiki Builder
12
Formats
11
Test Documentation
11
Checker & Formatter
10
Guidelines
9
Books
9
Commercial
8
Knowledge Base
7
Diagramming
7
DocOps
6
Accessibility
6
SEO
5
Examples
4
Other Types
4
AI-powered Tools
4
Communities
3
Localization
2
Courses
2
Keywords
documentation
37
markdown
23
javascript
14
docs
12
wiki
10
documentation-tool
9
api
9
openapi
9
react
8
openapi3
7
documentation-generator
7
diagrams
6
typescript
6
static-site-generator
6
swagger
6
api-documentation
5
developer-tools
5
cli
5
vue
5
knowledge-base
5
editor
5
open-source
5
nodejs
4
plantuml
4
python
4
graphql
4
rest-api
4
openapi31
3
html
3
c4
3
go
3
generator
3
c4model
3
confluence
3
latex
3
rest
3
git
3
testing
3
architecture
3
jsdoc
3
ruby
3
docs-as-code
3
capture
3
app
3
java
3
docs-generator
3
readme
3
electron
3
document-management
3
php
3