API文档生成器Skill api-documentation-generator

API文档生成器是一款自动化工具,能够从代码库中的API路由文件智能生成符合OpenAPI 3.0标准的Swagger文档。该工具支持Express、FastAPI、Flask、NestJS等多种主流后端框架,自动提取HTTP方法、路径参数、请求响应结构和认证信息,并生成规范的API文档。适用于RESTful API开发、接口文档维护、团队协作和API测试验证等场景。关键词:API文档生成、OpenAPI、Swagger、REST API、接口文档、自动化文档、后端开发工具。

后端开发 0 次安装 12 次浏览 更新于 3/3/2026

name: api-documentation-generator description: 从API路由文件生成OpenAPI/Swagger文档。在处理REST API、Express路由、FastAPI端点或用户请求API文档时使用。 allowed-tools: Read, Grep, Glob, Write, Edit

API文档生成器

此技能可从代码库中的API路由文件自动生成OpenAPI 3.0(Swagger)文档。

何时使用此技能

  • 用户要求生成API文档时
  • 处理REST API端点时
  • 需要创建或更新OpenAPI/Swagger规范时
  • 为Express、FastAPI、Flask、NestJS或类似框架设置API文档时

使用说明

1. 发现API路由

搜索代码库中的API路由定义:

  • Express/Node.js:查找app.get()app.post()router.get()
  • FastAPI/Python:查找@app.get()@router.post()装饰器
  • Flask:查找@app.route()装饰器
  • NestJS:查找@Get()@Post()@Controller()装饰器
  • Rails:在config/routes.rb中查找路由

使用Glob查找路由文件(例如:**/*routes*.{js,ts,py}**/controllers/**/*.{js,ts}

2. 分析路由模式

对每个发现的路由,提取:

  • HTTP方法:GET、POST、PUT、PATCH、DELETE
  • 路径:端点URL(例如:/api/users/:id
  • 参数:路径参数、查询参数、请求体
  • 响应:预期的响应结构
  • 认证:是否需要认证
  • 描述:路由附近的注释或文档字符串

3. 生成OpenAPI规范

创建或更新OpenAPI 3.0规范文件(通常是openapi.yamlswagger.json):

  • templates/openapi-3.0.yaml中的模板开始
  • 将每个路由映射到OpenAPI路径对象
  • 使用JSON Schema定义请求/响应模式
  • 包含参数定义(路径、查询、请求体)
  • 如果检测到认证方案则添加(Bearer、API Key、OAuth2)
  • 按标签对端点进行分组(例如:“用户”、“产品”、“认证”)

4. 验证完整性

检查生成的文档是否包含:

  • 所有发现的端点
  • 准确的HTTP方法和路径
  • 可能的请求/响应示例
  • 错误响应(400、401、404、500等)
  • 安全要求

5. 输出位置

  • 保存为项目根目录中的openapi.yaml,或
  • 如果存在docs/api/目录,则放置在其中
  • 如果不明确,询问用户首选位置

框架特定说明

Express/Node.js

  • 检查可能影响认证/验证的路由中间件
  • 查找请求验证器(Joi、express-validator等)
  • 提取端点描述的JSDoc注释

FastAPI

  • FastAPI自动生成OpenAPI文档,但此技能可以增强它们
  • 提取请求/响应模式的Pydantic模型
  • 检查response_modelstatus_code参数

NestJS

  • 查找模式的DTO(数据传输对象)
  • 检查Swagger装饰器(@ApiOperation@ApiResponse
  • 从控制器和方法装饰器中提取元数据

最佳实践

  1. 使用现有模式:如果代码库有TypeScript接口、Pydantic模型或类似内容,请使用它们以获得准确的模式
  2. 包含示例:如果可用,从测试中添加请求/响应示例
  3. 逻辑分组:使用标签按资源或功能区域组织端点
  4. 适当版本控制:使用代码库中的API版本(例如:“1.0.0”)
  5. 添加描述:使用代码注释/文档字符串作为端点描述

支持文件

  • templates/openapi-3.0.yaml:基础OpenAPI模板
  • examples.md:框架特定示例