# TypeDoc — Documentation Generator for TypeScript Projects > TypeDoc generates API reference documentation from TypeScript source code, producing navigable HTML or JSON output from JSDoc comments and type annotations. ## Install Save as a script file and run: # TypeDoc — Documentation Generator for TypeScript Projects ## Quick Use ```bash npm install typedoc --save-dev npx typedoc src/index.ts ``` Open `docs/index.html` to browse the generated API reference. ## Introduction TypeDoc reads TypeScript source files and produces structured API documentation. It extracts type information from the compiler, combines it with JSDoc comments, and renders navigable HTML pages or JSON output suitable for further processing. ## What TypeDoc Does - Parses TypeScript source code using the TypeScript compiler API - Extracts classes, interfaces, functions, enums, and type aliases with full type information - Renders HTML documentation with search, navigation sidebar, and cross-referenced links - Supports JSDoc and TSDoc comment tags for descriptions, parameters, and examples - Outputs JSON for integration with custom documentation pipelines ## Architecture Overview TypeDoc operates in three phases: conversion, resolution, and rendering. The converter uses the TypeScript compiler to build a reflection model of all exported symbols. The resolver links cross-references between types. The renderer serializes the model to HTML (default theme) or JSON. Plugins can hook into each phase to customize behavior. ## Self-Hosting & Configuration - Install: `npm install typedoc --save-dev` - Configure via `typedoc.json` or CLI flags for entry points, output directory, and theme - Set `entryPoints` to your package's public API files - Use `--plugin` to add themes or custom output formats - Integrate into CI with `npx typedoc --treatWarningsAsErrors` ## Key Features - Understands TypeScript generics, conditional types, mapped types, and template literals - Supports monorepo documentation with multiple entry points and packages mode - Extensible plugin system for custom themes, output formats, and converters - Markdown support in comments with code blocks and cross-reference links - Automatic categorization and grouping of exported members ## Comparison with Similar Tools - **JSDoc** — works with plain JavaScript, limited TypeScript type inference - **TSDoc** — a comment spec, not a generator; TypeDoc supports TSDoc tags - **API Extractor** — Microsoft tool focused on API reports and .d.ts rollups, not full HTML docs - **Docusaurus** — general docs site; TypeDoc can export into Docusaurus via plugins ## FAQ **Q: Does TypeDoc work with JavaScript files?** A: It works best with TypeScript. For JavaScript, use JSDoc annotations and enable `allowJs` in your tsconfig. **Q: Can I customize the output theme?** A: Yes. Use community themes or create a custom theme plugin that overrides the default renderer. **Q: How do I document internal/private members?** A: Use the `@internal` tag and the `--excludeInternal` flag, or control visibility with `@public`/`@private` tags. **Q: Does it support monorepos?** A: Yes. Use the `--entryPointStrategy packages` option to generate docs for multiple packages in one site. ## Sources - https://github.com/TypeStrong/typedoc - https://typedoc.org/ --- Source: https://tokrepo.com/en/workflows/asset-f1774375 Author: Script Depot