Usage
If you have already set up api-extractor and api-documenter, skip to the Generate AsciiDoc files section.
| Before continuing, make sure you understand the API design constraints and known issues. | 
Install dependencies
First, install these dependencies:
$ yarn add --dev \ @microsoft/api-extractor \ @microsoft/api-documenter \ api-documenter-yaml-to-antora-asciidoc
Set up api-extractor
{
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
  "mainEntryPointFilePath": "<projectFolder>/lib/index.d.ts", (1)
  "docModel": {
    "enabled": true,
    "apiJsonFilePath": "<projectFolder>/tmp/api/<unscopedPackageName>.api.json"
  },
  "apiReport": {
    "enabled": false, (2)
    "reportFolder": "<projectFolder>/api",
    "reportTempFolder": "<projectFolder>/tmp/api"
  },
  "dtsRollup": {
    "enabled": false, (3)
    "untrimmedFilePath": "",
    "publicTrimmedFilePath": "<projectFolder>/api/<unscopedPackageName>.d.ts"
  }
}| 1 | Change this to the path of your main entry point file. | 
| 2 | If you want to generate an API report, set this to true. | 
| 3 | If you want to generate a .d.ts rollup file, set this to true. | 
/api/
/tmp/
tsdoc-metadata.json{
  "compilerOptions": {
    "declarationMap": true (1)
  }
}| 1 | Add this line. | 
Generate AsciiDoc files
Assuming that you have already generated the YAML files using api-documenter yaml command… To generate generate the AsciiDoc files, run the following command where <input-dir> is the directory that contains the .yml files:
$ yarn api-documenter-yaml-to-antora-asciidoc asciidoc -i tmp/api-yaml
This will generate the AsciiDoc pages in docs/modules/api/pages.
Set up navigation
It will also generate a navigation file at docs/modules/api/nav.adoc file that lists the pages in the documentation. You can then add this navigation file to your Antora project:
nav:
  - modules/api/nav.adoc (1)| 1 | Add this line. | 
Set up package.json
To generate the documentation easily, you can add the following to your package.json:
{
  "scripts": {
    "api": "api-extractor run && api-documenter yaml -i tmp/api -o tmp/api-yaml && api-documenter-yaml-to-antora-asciidoc asciidoc -i tmp/api-yaml" (1)
  }
}| 1 | Add this line. | 
Now, you can run yarn api to regenerate the documentation.
Use GitHub Actions to keep the documentation up-to-date
You can use GitHub Actions to automatically regenerate the documentation files when you push to the repository.
name: Update API documentation
on:
  workflow_dispatch:
  push:
jobs:
  build:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 16.x
      - name: Install dependencies
        run: yarn
      - name: Update API
        run: yarn api
      - uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: Update generated files as of ${{ github.sha }}
          file_pattern: api docs