docfy generate

Scans your project and generates a pre-filled *.controller.docs.ts for each controller, static analysis only, no project code is executed.

Usage

bash
npx nestjs-docfy generate [options]

Options

OptionDefaultDescription
--root <path>.Project root directory
--tsconfig <path>auto-detectedPath to tsconfig.json
--pattern <glob>**/*.controller.tsGlob pattern to find controllers
--out <path>alongside each controllerOutput directory for generated files
--forcefalseMerge new methods into existing docs files (preserves user edits)
--dry-runfalsePrint what would be generated without writing files
--quietfalseSuppress all output except errors (CI-friendly)
--formattsOutput format: ts or js

Project types

The CLI auto-detects your project's layout, no configuration needed:

LayoutDetected when
Simple projecttsconfig.json at root, no monorepo markers
Nx monoreponx.json present
Nest CLI monoreponest-cli.json with "monorepo": true
Generic monorepopackages/ or apps/ with sub-package.json files

Idempotency and --force

ScenarioBehavior
Run generate on a clean projectCreates all docs files
Run generate again (no changes)Skips all existing files, safe to run repeatedly
Add a new endpoint, run generate --forceMerges new method block, preserves existing arrays
Edit a method's decorators, run --forceYour edits are preserved

npm script

Add to your package.json for convenience:

json
{
  "scripts": {
    "docs:generate": "nestjs-docfy generate",
    "docs:preview": "nestjs-docfy generate --dry-run"
  }
}