Swagger automation and Generic response documentation.
@nestjs/swagger/plugin).
@ApiProperty for DTOs and response types. Reduces boilerplate by 50%.nest-cli.json -> "plugins": ["@nestjs/swagger"].v1, v2 if breaking changes occur.@ApiResponse({ status: 200, type: UserDto }).ApiPaginatedResponse<T> decorators to document generic PageDto<T> returns properly (Swagger doesn't handle generics well by default).
ApiExtraModels + getSchemaPath() in the custom decorator to handle the generic T ref.@ApiExtraModels and getSchemaPath for oneOf/anyOf union types.multipart/form-data explicitly.
@ApiConsumes('multipart/form-data').@ApiBody({ schema: { type: 'object', properties: { file: { type: 'string', format: 'binary' } } } }).@ApiBearerAuth() or @ApiSecurity('api-key') (Must match DocumentBuilder().addBearerAuth()).@ApiProperty({ enum: MyEnum, enumName: 'MyEnum' }).Tags: Mandatory @ApiTags('domains') on every Controller to group endpoints logically.
Multiple Docs: generate separate docs for different audiences (e.g. Public vs Internal).
SwaggerModule.createDocument(app, config, { include: [PublicModule] }); // /api/docs
SwaggerModule.createDocument(app, adminConfig, { include: [AdminModule] }); // /admin/docs
@compodoc/compodoc to generate static documentation of the module graph, services, and dependencies.
@ApiExtraModels and getSchemaPath for oneOf/anyOf union types.
$ref.multipart/form-data explicitly.
@ApiConsumes('multipart/form-data').@ApiBody({ schema: { type: 'object', properties: { file: { type: 'string', format: 'binary' } } } }).@ApiBearerAuth() or @ApiSecurity('api-key'). Match setup in DocumentBuilder.@ApiProperty({ enum: MyEnum, enumName: 'MyEnum' }).SwaggerModule.createDocument(app, config, { include: [AdminModule] }).Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer