fsdocs-tool
23.0.0-alpha.3
See the version list below for details.
dotnet tool install --global fsdocs-tool --version 23.0.0-alpha.3
dotnet new tool-manifest
dotnet tool install --local fsdocs-tool --version 23.0.0-alpha.3
#tool dotnet:?package=fsdocs-tool&version=23.0.0-alpha.3&prerelease
nuke :add-package fsdocs-tool --version 23.0.0-alpha.3
fsdocs and FSharp.Formatting

FSharp.Formatting is a set of libraries and tools for processing F# script files and markdown, and for
generating API documentation from XML doc comments. The primary tool is fsdocs.
Full documentation: https://fsprojects.github.io/FSharp.Formatting/
The fsdocs tool
fsdocs builds a static documentation site from the markdown files and F# scripts in your docs
folder, plus API reference pages for the projects in your solution.
dotnet tool install fsdocs-tool
dotnet fsdocs build
dotnet fsdocs watch
initcreates adocsfolder with a defaultindex.md.buildprocesses thedocsfolder and writes the site tooutput.watchbuilds the site, serves it locally and rebuilds on every change.convertconverts individual markdown and script files.
Run dotnet fsdocs <command> --help to see the options of a command, or read the
command line guide.
The libraries
The same functionality is available as NuGet packages for use from your own code:
- FSharp.Formatting bundles the markdown parser, F# code formatter, literate programming support and API doc generator.
- FSharp.Formatting.Literate only contains the literate programming support and its dependencies.
See Markdown parser, F# code formatting and literate programming for examples.
Contributing
See CONTRIBUTING.md for how to build the repository and run the tool locally.
Maintainer(s)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 23.0.0-alpha.6 | 0 | 9/15/2026 |
| 23.0.0-alpha.5 | 0 | 9/15/2026 |
| 23.0.0-alpha.4 | 111 | 9/13/2026 |
| 23.0.0-alpha.3 | 47 | 9/13/2026 |
| 23.0.0-alpha.2 | 109 | 9/10/2026 |
| 23.0.0-alpha.1 | 337 | 9/8/2026 |
| 22.2.0 | 2,289 | 8/31/2026 |
| 22.1.0 | 19,118 | 5/27/2026 |
| 22.0.1 | 993 | 5/9/2026 |
| 22.0.0 | 2,887 | 4/4/2026 |
| 22.0.0-alpha.3 | 1,193 | 4/2/2026 |
| 22.0.0-alpha.2 | 1,057 | 3/13/2026 |
| 22.0.0-alpha.1 | 93 | 3/5/2026 |
| 21.0.0 | 20,684 | 11/12/2025 |
| 21.0.0-beta-005 | 3,186 | 4/23/2025 |
| 21.0.0-beta-004 | 1,857 | 11/20/2024 |
| 21.0.0-beta-003 | 654 | 8/16/2024 |
| 21.0.0-beta-002 | 9,029 | 6/19/2024 |
| 21.0.0-beta-001 | 1,942 | 6/6/2024 |
| 20.0.1 | 53,033 | 5/31/2024 |
### Added
- Keyboard navigation in the default template: `j` / `k` go to the next / previous heading of the page (or the next / previous link when a menu has the focus), `h` / `l` move the focus between the main menu, the content and the page menu. Headings get a visible focus outline and a scroll margin so they are not glued to the top edge. Implemented in the new `fsdocs-hotkeys.js`, documented under "Keyboard navigation" in the command-line docs.
### Fixed
- Link postfix FSharp.Core type constructors (`list`, `option`, `voption`, etc.) in API doc type signatures. Previously only the compiled name form (e.g. `FSharpList`) was linked; the postfix abbreviation form (e.g. `int list`) rendered as plain, unlinked text because the abbreviation entity has no `TryFullName`. The cross-reference resolver now builds the fsharp-core-docs link from the abbreviation's own name (e.g. `list` → `fsharp-collections-list-1`) instead of the abbreviated type's compiled name (e.g. `FSharpList` → `fsharp-collections-fsharplist-1`, which 404s), falling back to the abbreviated type's definition only for non-generic abbreviations such as `string` and `obj` that have no dedicated fsharp-core-docs page. [#1316](https://github.com/fsprojects/FSharp.Formatting/issues/1316)