docfy init

One-shot onboarding: wires DocfyModule, decorates controllers, registers the webpack plugin if needed, adds package.json scripts, and generates docs files.

Usage

bash
npx nestjs-docfy init [options]

Fastest path to a working setup — bundles what generate --link-controller --register-plugin already do, plus the one new step: wiring DocfyModule.forRoot() into your root module.

What it does

  1. Locates each app's bootstrap file and the class passed to NestFactory.create(...), then wires DocfyModule.forRoot() into that root module's @Module({ imports: [...] }). Static analysis only — never executes your code. If it can't locate the bootstrap file or the module with certainty, it warns and skips that app instead of guessing.
  2. Runs the same steps as generate --link-controller --register-plugin: decorates every controller with @WithDocs(), registers the webpack CLI plugin if needed, and generates the companion *.controller.docs.ts files.
  3. Adds docs:generate/docs:preview scripts to the root package.json, without overwriting any script already defined under those names.

Every step is independently idempotent, so running init again is always safe — useful after adding a new controller or a second app to the project. See CLI: generate for what each bundled step does on its own.

Options

OptionDefaultDescription
--root <path>.Project root directory
--tsconfig <path>auto-detectedPath to tsconfig.json
--pattern <glob>**/*.controller.tsGlob pattern to find controllers
--formattsOutput format: ts or js
--dry-runfalsePrint what would change without writing any files
--quietfalseSuppress all output except errors