mcpField
A
api-doc-generator

api-doc-generator

github.com/jackyst0开发66783 次安装1 天前更新
代码仓库

关于 api-doc-generator

api-doc-generator 是从代码生成 API 文档的 skill,适用于需要记录 REST、GraphQL 等接口的开发者。它提取端点、参数、数据结构和认证信息,并可输出 Markdown、OpenAPI 3.0 YAML 或 API Blueprint。

主要功能

  1. 01识别 REST、GraphQL、RPC 等 API
  2. 02提取端点与参数信息
  3. 03分析请求和响应结构
  4. 04识别认证方式
  5. 05输出多种文档格式

适用场景

  1. 01从代码生成 API 文档
  2. 02编写接口端点说明
  3. 03生成 OpenAPI 3.0 YAML 规范
  4. 04整理请求、响应和认证信息

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackyst0/awesome-agent-skills --skill api-doc-generator

安装后在 Claude Code 中输入/api-doc-generator确认已加载。

附带文件templates/api-doc.md

详细介绍

来自项目 README

API Doc Generator

根据代码生成 API 文档,支持 REST API、GraphQL 及多种文档格式。

Generate API documentation from source code, supporting REST APIs, GraphQL, and various documentation formats.

When to Use

当用户请求以下操作时使用此 skill:

  • 生成 API 文档 / Generate API documentation
  • 创建接口文档 / Create interface documentation
  • 编写 API 说明 / Write API descriptions
  • 生成 OpenAPI/Swagger 规范 / Generate OpenAPI/Swagger specs

Instructions

分析步骤 / Analysis Steps
  1. 识别 API 类型 - REST、GraphQL、RPC 等
  2. 提取端点信息 - URL、方法、参数
  3. 分析数据结构 - 请求/响应格式
  4. 识别认证方式 - API Key、OAuth、JWT 等
  5. 生成文档 - 按照标准格式输出
文档内容 / Documentation Content

每个 API 端点应包含:

  • 端点路径 - URL 和 HTTP 方法
  • 描述 - 功能说明
  • 参数 - 路径参数、查询参数、请求体
  • 响应 - 成功和错误响应示例
  • 认证 - 认证要求
输出格式 / Output Formats

支持以下文档格式:

  • Markdown(默认)- 使用 templates/api-doc.md 模板
  • OpenAPI 3.0 YAML
  • API Blueprint

Use templates/api-doc.md for Markdown output format.

标准模板 / Standard Template
## API 文档 / API Documentation

### 端点概览 / Endpoint Overview

| 方法 | 路径 | 描述 |
|------|------|------|
| GET | /api/resource | 获取资源列表 |

### 详细说明 / Details

#### [方法] /path

**描述**: ...

**请求参数**:
| 参数 | 类型 | 必需 | 描述 |
|------|------|------|------|

**请求示例**:
```json
{}
```

**响应示例**:
```json
{}
```

Examples

输入 / Input
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    id: int
    name: str
    email: str

@app.get("/users/{user_id}")
async def get_user(user_id: int) -> User:
    """Get a user by ID."""
    if user_id <= 0:
        raise HTTPException(status_code=404, detail="User not found")
    return User(id=user_id, name="John", email="[email protected]")

@app.post("/users")
async def create_user(user: User) -> User:
    """Create a new user."""
    return user
输出 / Output

API 文档

端点概览
方法路径描述
GET/users/{user_id}根据 ID 获取用户信息
POST/users创建新用户

GET /users/{user_id}

描述: 根据用户 ID 获取用户信息

路径参数:

参数类型必需描述
user_idinteger✅用户唯一标识符

响应 200 - 成功:

{
  "id": 1,
  "name": "John",
  "email": "[email protected]"
}

响应 404 - 未找到:

{
  "detail": "User not found"
}

POST /users

描述: 创建新用户

请求体:

字段类型必需描述
idinteger✅用户 ID
namestring✅用户姓名
emailstring✅用户邮箱

请求示例:

{
  "id": 1,
  "name": "John",
  "email": "[email protected]"
}

响应 200 - 成功:

{
  "id": 1,
  "name": "John",
  "email": "[email protected]"
}

评论

支持 Markdown