Project manifest

A docinsight.json manifest defines a DocInsight project by connecting project metadata, sources, content, assets, site settings, and output targets. The directory containing it is the project root.

The file uses UTF-8 JSONC (JSON with Comments). In addition to standard JSON syntax, it accepts // line comments, /* ... */ block comments, and trailing commas.

Manifest structure

The top-level sections have separate responsibilities:

  • project identifies the documentation project and defines shared metadata.

  • variables defines reusable manifest values.

  • sources defines source-analysis contexts, such as a Delphi project and compiler settings.

  • content defines publishable Markdown and API documentation.

  • assets defines named project-level file sets that output targets can publish.

  • i18n defines the project-wide default locale.

  • site and sites define default and named rendering and deployment metadata.

  • output defines named output targets and the content and project asset sets each target publishes.

Project metadata

Every manifest identifies the documentation project with a project object:

json
{
  "project": {
    "name": "mylibrary",
    "title": "MyLibrary",
    "description": "A documentation sample project for Delphi",
    "copyright": "Copyright © DevJet Software. All Rights Reserved.",
    "homepage": "https://docinsight.github.io",
    "repository": "https://github.com/docinsight/mylibrary"
  }
}

name is the required, case-insensitive project identifier; use a short ASCII value such as mylibrary or my-library. It is also the default Xref namespace for Delphi sources. title is the user-facing project name. Other fields provide shared descriptions, links, and notices.

Check the project configuration

After editing docinsight.json, run a documentation check from the project root or one of its subdirectories:

shell
docinsight check

DocInsight validates the manifest and checks Markdown files and Delphi XML documentation comments for problems such as invalid configuration, broken links, and unresolved cross-references. It does not generate output.