node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


The documentation system for modern JavaScript

Greenkeeper badge Circle CI npm version Gitter David Coverage Status Inline docs

  • Supports modern JavaScript: ES5, ES2017, JSX, and Flow type annotations.
  • Infers parameters, types, membership, and more. Write less documentation: let the computer write it for you.
  • Integrates with GitHub to link directly from documentation to the code it refers to.
  • Customizable output: HTML, JSON, Markdown, and more



User Guide

Globally install documentation using the npm package manager:

$ npm install -g documentation

This installs a command called documentation in your path, that you can point at JSDoc-annotated source code to generate human-readable documentation. First run documentation with the -h option for help:

# generate markdown docs for index.js and files it references 
bin/documentation.js build index.js -f md
# generate html docs for all files in src 
bin/documentation.js build src/** -f html -o docs
# document index.js, ignoring any files it requires or imports 
bin/documentation.js build index.js -f md --shallow
# build and serve html docs for app.js 
bin/documentation.js serve app.js
# build, serve, and live-update html docs for app.js 
bin/documentation.js serve --watch app.js
# validate JSDoc syntax in util.js 
bin/documentation.js lint util.js
# update the API section of with docs from index.js 
bin/documentation.js readme index.js --section=API
# build docs for all values exported by index.js 
bin/documentation.js build --document-exported index.js
  serve [input..]   generate, update, and display HTML documentation
  build [input..]   build documentation
  lint [input..]    check for common style and uniformity mistakes
  readme [input..]  inject documentation into your
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]


We have plenty of issues that we'd love help with.

  • Robust and complete JSDoc support, including typedefs.
  • Strong support for HTML and Markdown output
  • Documentation coverage, statistics, and validation

documentation is an OPEN Open Source Project. This means that:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.