Reads API Extractor JSON files and generates API documentation in various output formats
—
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
Complete command-line tool for generating API documentation from API Extractor JSON files. Supports multiple output formats including Markdown, YAML for DocFX, and experimental config-driven generation.
Generates Markdown documentation files from API Extractor JSON files.
api-documenter markdown --input-folder <path> --output-folder <path>Parameters:
--input-folder, -i (required): Directory containing *.api.json files from API Extractor--output-folder, -o (required): Directory where markdown files will be generatedUsage Example:
# Generate markdown docs
api-documenter markdown --input-folder ./temp --output-folder ./docs
# Using short flags
api-documenter markdown -i ./temp -o ./docsGenerates YAML documentation files compatible with DocFX and Office Add-ins documentation systems.
api-documenter yaml --input-folder <path> --output-folder <path> [--office] [--new-docfx-namespaces] [--yaml-format <format>]Parameters:
--input-folder, -i (required): Directory containing *.api.json files from API Extractor--output-folder, -o (required): Directory where YAML files will be generated--office (optional): Enable Office Add-ins specific features and formatting--new-docfx-namespaces (optional): Enable experimental DocFX namespace support--yaml-format (optional): Output format, either 'udp' or 'sdp' (default: 'sdp')Usage Examples:
# Basic YAML generation
api-documenter yaml --input-folder ./temp --output-folder ./yaml-docs
# Office Add-ins specific YAML
api-documenter yaml -i ./temp -o ./office-docs --office
# DocFX with experimental namespaces
api-documenter yaml -i ./temp -o ./docfx-docs --new-docfx-namespaces
# Specify YAML format
api-documenter yaml -i ./temp -o ./docs --yaml-format udpExperimental configuration-driven documentation generation that uses a config file to determine output format and options.
api-documenter generate --input-folder <path> --output-folder <path>Parameters:
--input-folder, -i (required): Directory containing *.api.json files from API Extractor--output-folder, -o (required): Directory where documentation files will be generatedRequirements:
api-documenter.json configuration file in the current directoryUsage Example:
# Config-driven generation (requires api-documenter.json)
api-documenter generate --input-folder ./temp --output-folder ./docsFor the generate action, create an api-documenter.json configuration file:
{
"configFormatVersion": "1.0",
"outputTargets": [
{
"outputFormat": "markdown"
}
],
"newlineKind": "lf",
"plugins": [
{
"packageName": "my-documenter-plugin",
"enabled": true
}
],
"tableOfContents": {
"catchAllCategory": "Other"
}
}import { ApiDocumenterCommandLine } from "@microsoft/api-documenter/lib/cli/ApiDocumenterCommandLine";
const commandLine = new ApiDocumenterCommandLine();
commandLine.executeAsync().catch(console.error);Main command line parser that orchestrates all available actions.
class ApiDocumenterCommandLine extends CommandLineParser {
constructor();
}Abstract base class for all CLI actions providing common functionality including API model loading and folder management.
abstract class BaseAction extends CommandLineAction {
/**
* Creates a new BaseAction instance
* @param options - Command line action configuration options
*/
protected constructor(options: ICommandLineActionOptions);
/**
* Builds the API model from input files and validates folders
* @returns API model with input/output folder paths
*/
protected buildApiModel(): IBuildApiModelResult;
}
interface IBuildApiModelResult {
/**
* The loaded API model containing all packages from *.api.json files
*/
apiModel: ApiModel;
/**
* Input folder path containing the *.api.json files
*/
inputFolder: string;
/**
* Output folder path where documentation will be written
*/
outputFolder: string;
}CLI action implementation for markdown documentation generation.
class MarkdownAction extends BaseAction {
constructor(parser: CommandLineParser);
}CLI action implementation for YAML documentation generation with DocFX and Office support.
class YamlAction extends BaseAction {
constructor(parser: CommandLineParser);
}Experimental CLI action for config-driven documentation generation.
class GenerateAction extends BaseAction {
constructor(parser: CommandLineParser);
}The CLI tool provides detailed error messages for common issues:
All CLI actions return appropriate exit codes (0 for success, non-zero for errors) for use in build scripts and CI/CD pipelines.