界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
文档与办公 · SKILL.md

adding-api-docs

adding-api-docs

【文档与办公】Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: adding-api-docs description: Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.

Add API Documentation (OpenAPI)

Use this skill when the user asks to add API docs, Swagger, OpenAPI spec, or generate endpoint documentation.

Steps

  1. Detect the API framework — check for Express, Fastify, Next.js API routes, Hono, Django REST Framework, FastAPI, etc.

  2. For Node.js/Express — install swagger-jsdoc and swagger-ui-express:

    npm install swagger-jsdoc swagger-ui-express
    npm install -D @types/swagger-jsdoc @types/swagger-ui-express
    

    Create the OpenAPI spec from JSDoc annotations on route handlers:

    /**
     * @openapi
     * /api/users:
     *   get:
     *     summary: List all users
     *     responses:
     *       200:
     *         description: A list of users
     */
    
  3. For Next.js API routes — create an openapi.json file manually or use next-swagger-doc to generate from route handlers. Serve the spec at /api/docs.

  4. For FastAPI (Python) — docs are built-in at /docs (Swagger UI) and /redoc. Ensure Pydantic models are used for request/response types so schemas are auto-generated.

  5. Add interactive docs UI — serve Swagger UI at a /docs route, or use Scalar/Redoc for a modern alternative:

    npm install @scalar/express-api-reference
    
  6. Define schemas — create Zod schemas (or JSON Schema) for request bodies and responses, then reference them in the OpenAPI spec. For TypeScript projects, use zod-to-openapi to generate schemas from existing Zod validators.

  7. Add authentication documentation — document the auth scheme (Bearer token, API key, OAuth2) in the OpenAPI securitySchemes section.

Notes

  • Keep the spec in sync with the actual API — generate from code when possible rather than maintaining a separate YAML file.
  • Add example values to schemas for better developer experience.
  • Version the API docs alongside the code.
我的收藏