Docs for Humans.
Ground Truth for AI.
A local-first product documentation system for Delphi developers. Turn Markdown, Delphi source code, or both into a docs site, offline HTML, and CHM help.
How DocInsight works
From source to published docs
Keep docs close to the source
Keep the DocInsight project, guides, resources, and Delphi source in a local, version-controlled repository—next to your code or in a separate checkout. Write Markdown guides in the editor your team already uses.
Keep docs close to the source
Keep the DocInsight project, guides, resources, and Delphi source in a local, version-controlled repository—next to your code or in a separate checkout. Write Markdown guides in the editor your team already uses.
Author API docs in the Delphi IDE


Browse and edit XML documentation comments with Documentation Inspector and Documentation Explorer. Format, check, and build API documentation from the IDE, with diagnostics that take you directly to the related source.
Author API docs in the Delphi IDE
Browse and edit XML documentation comments with Documentation Inspector and Documentation Explorer. Format, check, and build API documentation from the IDE, with diagnostics that take you directly to the related source.
Connect guides and API reference
Use [[IList{T}]] for an ordered, mutable collection with indexed access. Call [[IList{T}.Add]] to append an item.
Link Markdown guides to generated API reference, so readers can move naturally between concepts, examples, and symbols. Cross-references and resources resolve consistently across the whole project.
Connect guides and API reference
Link Markdown guides to generated API reference, so readers can move naturally between concepts, examples, and symbols. Cross-references and resources resolve consistently across the whole project.
Check docs like code
$ docinsight check
error[DI3201]: unresolved markdown topic link `./install.md`
┌─ docs/index.md:35:9
35 │ See the [getting started guide](./install.md).
│ ^^^^^^^^^^^^
warning[DI3304]: unresolved XML documentation xref `guide/install`
┌─ src/MyLibrary.Types.pas:45:15
45 │ /// <see xref="guide/install" />
│ ^^^^^^^^^^^^^
warning[DI2501]: malformed XML documentation: unescaped XML text `<T>`
┌─ src/MyLibrary.Collections.pas:58:32
58 │ /// <summary> Use IList<T> for indexed access.</summary>
│ ^^^
= help: escape literal angle brackets as `<T>`Catch broken links, missing images, invalid metadata, and XML documentation issues before publishing. DocInsight reports clear diagnostics with file paths and precise source locations.
Check docs like code
Catch broken links, missing images, invalid metadata, and XML documentation issues before publishing. DocInsight reports clear diagnostics with file paths and precise source locations.
Build docs like software
$ docinsight build
Building MyLibrary...
✓ Built site dist/docs/site 103 pages
✓ Built html dist/docs/html 103 pages
✓ Built chm dist/docs/chm/mylibrary.chm 112.3 KB
Built MyLibrary in 0.9s.
3 targets built; 0 errors, 0 warnings.Run the same build locally or in CI. DocInsight resolves links, resources, and API references during the build, so documentation issues surface before release.
Build docs like software
Run the same build locally or in CI. DocInsight resolves links, resources, and API references during the build, so documentation issues surface before release.
Outputs
One project, multiple outputs.
Publish the same documentation project as a static HTML site, offline HTML, and CHM help.
View HTML showcase

Start with your Delphi project
Create a DocInsight project with the guided setup, then check, build, and open your documentation locally.
$
docinsight init --template delphi
$
docinsight check
$
docinsight build
$
docinsight open