TypeDoc

Generates browsable API documentation straight from TypeScript source and doc comments, using the real compiler to get types right.

Tool
npm
v0.28.20
8,450stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
79/100Good
Development Activity64
Maintenance88
Community64
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
88/100Excellent
Architecture92
Code Quality90
Innovation80
Learning Curve90

TypeDoc is a documentation generator built specifically for TypeScript projects. Rather than parsing comments with regular expressions, it drives the TypeScript compiler API directly, so the documentation it produces reflects the project’s actual, fully-resolved types — generics, conditional types, unions, and inferred return types included — not an approximation of them.

Running typedoc against a project’s entry points (auto-detected from package.json and tsconfig.json, or specified explicitly) walks the compiled program and produces a ProjectReflection tree of declarations, which is then rendered to a static HTML site or serialized to JSON for other tools to consume. A packages entry-point strategy lets a monorepo’s individual packages be converted separately and merged into one unified site, which is how TypeDoc documents its own multi-package output today.

The conversion and rendering pipeline is built around a plugin/component architecture: converter plugins (grouping, categorization, @inheritDoc, cross-reference linking) transform the reflection tree, and output plugins (navigation, sitemap, search index, hierarchy) shape the rendered site. Third-party plugins published under the typedoc-plugin-* convention hook into the same event system, and custom themes can replace the default renderer entirely.

TypeDoc also validates what it converts — dedicated modules check for broken @link references, undocumented exports, and invalid file paths, surfacing documentation gaps as build errors rather than silent omissions.

What You Get

  • A static HTML documentation site generated from TSDoc-style comments and fully compiler-resolved types
  • A packages entry-point strategy that documents a monorepo’s packages individually and merges them into one site
  • A plugin architecture (typedoc-plugin-*) that can hook into conversion and rendering to add custom behavior
  • Pluggable themes and a router abstraction that separate URL/page structure from rendering logic
  • Built-in validation that flags broken @link references, undocumented exports, and invalid file paths as errors
  • JSON output mode for feeding the resolved project model into other documentation or tooling pipelines

Common Use Cases

  • Publishing public API reference docs for an npm library alongside its README
  • Generating a unified documentation site for a multi-package monorepo
  • Catching undocumented public exports and broken doc-comment links in CI before a release
  • Feeding TypeDoc’s JSON output into a custom documentation site or internal developer portal

Under The Hood

Architecture TypeDoc’s pipeline runs from bin/typedoc through cli.ts, which bootstraps an Application with a chain of option readers (ArgumentsReader, TypeDocReader, PackageJsonReader, TSConfigReader). The Application hands entry points to the Converter (src/lib/converter), which drives the TypeScript compiler to build a full program and walks its symbols through a sequence of composable plugins (CategoryPlugin, CommentPlugin, GroupPlugin, ImplementsPlugin, InheritDocPlugin, LinkResolverPlugin, PackagePlugin, TypePlugin, and others) to produce a tree of Reflection objects (DeclarationReflection, ContainerReflection, SignatureReflection) rooted at a ProjectReflection. That model can be serialized to JSON (src/lib/serialization) or handed to the Renderer (src/lib/output), which pairs a Theme with a Router and its own output plugins (navigation, sitemap, search index via lunr, hierarchy) to produce the final site. Every stage is built on a shared AbstractComponent/event-dispatcher pattern, so both conversion and rendering are extensible by third-party plugins without touching core code — but that also means the Reflection tree is the load-bearing abstraction that every theme and plugin is written against.

Tech Stack Written in TypeScript (ESM, "type": "module"") and built with a peer dependency spanning TypeScript 5.0 through 6.0, so it tracks new compiler releases without pinning to one. Runtime dependencies are deliberately narrow: @gerrit0/mini-shiki for syntax highlighting, lunr for the generated search index, markdown-it for rendering doc-comment markdown, minimatch for glob-based option matching, and yaml for config file parsing. The build itself runs through hereby, a custom task runner (Herebyfile.mjs) that wraps esbuild for bundling; the docs site is a separate site/ tree built and published through its own GitHub Actions workflow. Package management is pinned to pnpm 10+.

Code Quality The test suite spans 481 files across dedicated converter, output, renderer, plugins, models, utils, and module directories, run through mocha with c8 coverage reporting — a conversion pipeline this central to a documentation tool is exercised end to end rather than spot-checked. Linting runs through ESLint with typescript-eslint against an extensive custom rule configuration, formatting is enforced via dprint, and CI workflows cover linting, testing, and the documentation site build on every change. Naming and typing are consistent throughout, as expected from a project whose whole purpose is modeling TypeScript’s own type system.

What Makes It Unique TypeDoc’s core differentiator is that it never guesses at types — it asks the TypeScript compiler for them, so generics, conditional types, and inferred signatures show up in documentation exactly as the compiler sees them, not as a regex’s best effort. Layered on top of that is a genuine plugin and theming system rather than a handful of config flags, a monorepo-aware entry-point strategy that merges multiple packages into one coherent site, and built-in documentation validation — broken links, undocumented exports, invalid paths — that treats documentation completeness as something CI can enforce, which is unusual among documentation generators.

Used by 31 apps in this directory

TypeScript
87%
Other

AFFiNE

Productivity · Project Management · Note Taking

72,238

Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.

View details
91
Repo Health
87
Technical
67
Dependency
Built with
TypeScript87%
Updated yesterday
TypeScript
72%
AGPL 3.0

APITable

Low Code Platforms · Databases

15,588

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
74
Repo Health
77
Technical
60
Dependency
Built with
TypeScript72%
Java22%
Updated yesterday
Python
56%
Other

authentik

Authentication · Security

25,385

The self-hosted Identity Provider that replaces Okta, Auth0, and Entra ID with a unified SSO platform supporting SAML, OAuth2/OIDC, LDAP, RADIUS, and WebAuthn.

View details
92
Repo Health
81
Technical
66
Dependency
Built with
Python56%
TypeScript34%
Updated yesterday
TypeScript
46%
AGPL 3.0

BrowserOS

Browser · AI Assistants

13,577

The open-source agentic Chromium browser with native AI agents, MCP server, and visual workflow automation — your data never leaves your machine.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript46%
Rust22%
Python18%
Updated yesterday
JavaScript
90%
Other

CodeSandbox

Code Editors · Developer Tools

13,640

Instantly ready browser-based IDE that runs full npm dependency resolution and transpilation entirely client-side, with no server needed.

View details
69
Repo Health
76
Technical
62
Dependency
Built with
JavaScript90%
Updated 1 weeks ago
TypeScript
45%
Other

Convex Backend

Developer Tools · Databases

12,494

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript45%
Rust43%
Updated 2 days ago
TypeScript
81%
Other

Directus

CMS · Low Code Platforms

37,783

Connect any SQL database and get instant REST and GraphQL APIs, a visual management Studio, and a native MCP server for AI agents — free for most organizations.

View details
92
Repo Health
82
Technical
76
Dependency
Built with
TypeScript81%
Vue18%
Updated 3 days ago
TypeScript
94%
AGPL 3.0

Element Web

Team Chat · Collaboration

13,437

A polished, self-hostable Matrix client for secure, decentralized messaging and collaboration that puts your organization in full control of its data.

View details
96
Repo Health
83
Technical
65
Dependency
Built with
TypeScript94%
Updated yesterday
JavaScript
64%
Other

GDevelop

Developer Tools · Game Development · Design Tools

26,276

No-code, open-source game engine for building 2D, 3D and multiplayer games — publish to iOS, Android, Steam and the web.

View details
93
Repo Health
82
Technical
61
Dependency
Built with
JavaScript64%
C++23%
TypeScript12%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search