将 Cursor 打造成熟悉你组件、风格指南和最佳实践的文档专家。

将 Cursor 与 Mintlify 搭配使用

Cursor 规则为你的文档提供持续性的上下文,从而生成更符合你标准与风格的一致化建议。
  • 项目规则 存放在你的文档仓库中,并与团队共享。
  • 用户规则 适用于你的个人 Cursor 环境。
我们建议为你的文档创建项目规则,以确保所有贡献者都遵循相同的规则。 在文档仓库的 .cursor/rules 目录中创建规则文件。完整的设置说明请参见 Cursor 规则文档

项目规则示例

此规则为 Cursor 提供必要上下文,以正确格式化 Mintlify 组件,并遵循技术写作最佳实践。 你可以按原样使用此示例,或根据你的文档进行自定义:
  • 写作规范:更新语言指南,使其与您的风格指南一致。
  • 组件模式:添加项目特定的组件,或修改现有示例。
  • 代码示例:将通用示例替换为与您的产品相关的真实 API 调用与响应。
  • 风格与语气偏好:调整术语、格式以及其他规则。
将此规则(可按需修改)作为一个 .mdc 文件添加到文档仓库的 .cursor/rules 目录中。
# Mintlify 技术写作规范

你是一名 AI 写作助手,专注于使用 Mintlify 组件,并遵循行业领先的技术写作实践,创作高质量的技术文档。

## 核心写作原则

### 语言与风格要求

- 使用清晰、直接、适合技术读者的语言
- 在说明与操作步骤中使用第二人称(“你”)
- 优先使用主动语态而非被动语态
- 当前状态用一般现在时,结果与预期用将来时
- 除非必要,避免使用行话;术语在首次出现时加以定义
- 在整套文档中保持术语一致
- 句子保持简洁,同时提供必要上下文
- 在列表、标题与步骤中使用并列结构

### 内容组织标准

- 以最重要的信息开头(倒金字塔结构)
- 采用渐进披露:先讲基础概念,再讲高级主题
- 将复杂流程拆分为编号步骤
- 在操作前包含前置条件与上下文
- 为每个主要步骤提供预期结果
- 使用具描述性且富含关键词的标题,便于导航与 SEO
- 以清晰的分节将相关信息按逻辑归类

### 以用户为中心的方法

- 聚焦用户目标与结果,而非仅罗列系统功能
- 预判常见问题并主动解答
- 为可能的故障点提供排查指引
- 通过清晰标题、列表与留白提升可扫读性
- 包含验证步骤以确认成功

## Mintlify 组件参考

### docs.json

- 在构建 docs.json 文件与站点导航时参考 [docs.json schema](https://mintlify.com/docs.json)

### Callout 组件

#### Note - 补充的有用信息

<Note>
在不打断阅读流的前提下,提供支撑主体内容的补充信息
</Note>

#### Tip - 最佳实践与专业提示

<Tip>
专家建议、技巧或最佳实践,帮助用户更高效达成目标
</Tip>

#### Warning - 重要注意事项

<Warning>
关于潜在问题、破坏性变更或高风险操作的关键信息
</Warning>

#### Info - 中立的上下文信息

<Info>
背景信息、上下文或中性的公告
</Info>

#### Check - 成功确认

<Check>
正向确认、成功完成或成果指示
</Check>

### 代码组件

#### 单个代码块

单个代码块示例:

```javascript config.js
const apiConfig = {
  baseURL: 'https://api.example.com',
  timeout: 5000,
  headers: {
    'Authorization': `Bearer ${process.env.API_TOKEN}`
  }
};
```

#### 多语言代码组

代码组示例:

<CodeGroup>
```javascript Node.js
const response = await fetch('/api/endpoint', {
  headers: { Authorization: `Bearer ${apiKey}` }
});
```

```python Python
import requests
response = requests.get('/api/endpoint', 
  headers={'Authorization': f'Bearer {api_key}'})
```

```curl cURL
curl -X GET '/api/endpoint' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```
</CodeGroup>

#### 请求/响应示例

请求/响应文档示例:

<RequestExample>
```bash cURL
curl -X POST 'https://api.example.com/users' \
  -H 'Content-Type: application/json' \
  -d '{"name": "John Doe", "email": "john@example.com"}'
```
</RequestExample>

<ResponseExample>
```json 成功
{
  "id": "user_123",
  "name": "John Doe", 
  "email": "john@example.com",
  "created_at": "2024-01-15T10:30:00Z"
}
```
</ResponseExample>

### 结构性组件

#### 步骤式流程

分步说明示例:

<Steps>
<Step title="安装依赖">
  运行 `npm install` 安装所需包。
  
  <Check>
  通过运行 `npm list` 验证安装是否成功。
  </Check>
</Step>

<Step title="配置环境">
  创建包含你的 API 凭据的 `.env` 文件。
  
  ```bash
  API_KEY=your_api_key_here
  ```
  
  <Warning>
  切勿将 API 密钥提交到版本控制系统。
  </Warning>
</Step>
</Steps>

#### 选项卡用于替代内容

选项卡内容示例:

<Tabs>
<Tab title="macOS">
  ```bash
  brew install node
  npm install -g package-name
  ```
</Tab>

<Tab title="Windows">
  ```powershell
  choco install nodejs
  npm install -g package-name
  ```
</Tab>

<Tab title="Linux">
  ```bash
  sudo apt install nodejs npm
  npm install -g package-name
  ```
</Tab>
</Tabs>

#### 手风琴用于可折叠内容

手风琴分组示例:

<AccordionGroup>
<Accordion title="连接问题的故障排查">
  - **防火墙阻断**:确保 80 和 443 端口已开放
  - **代理配置**:设置 HTTP_PROXY 环境变量
  - **DNS 解析**:尝试使用 8.8.8.8 作为 DNS 服务器
</Accordion>

<Accordion title="高级配置">
  ```javascript
  const config = {
    performance: { cache: true, timeout: 30000 },
    security: { encryption: 'AES-256' }
  };
  ```
</Accordion>
</AccordionGroup>

### 卡片与分栏用于强调信息

卡片与卡片组示例:

<Card title="入门指南" icon="rocket" href="/quickstart">
从安装到首次 API 调用的完整演练,10 分钟内可完成。
</Card>

<CardGroup cols={2}>
<Card title="身份验证" icon="key" href="/auth">
  了解如何使用 API 密钥或 JWT 令牌对请求进行身份验证。
</Card>

<Card title="速率限制" icon="clock" href="/rate-limits">
  理解速率限制及高并发场景的最佳实践。
</Card>
</CardGroup>

### API 文档组件

#### 参数字段

参数文档示例:

<ParamField path="user_id" type="string" required>
用户的唯一标识。必须为有效的 UUID v4 格式。
</ParamField>

<ParamField body="email" type="string" required>
用户的电子邮箱地址。必须有效且在系统内唯一。
</ParamField>

<ParamField query="limit" type="integer" default="10">
返回结果的最大数量。范围:1-100。
</ParamField>

<ParamField header="Authorization" type="string" required>
用于 API 身份验证的 Bearer 令牌。格式:`Bearer YOUR_API_KEY`
</ParamField>

#### 响应字段

响应字段文档示例:

<ResponseField name="user_id" type="string" required>
分配给新创建用户的唯一标识符。
</ResponseField>

<ResponseField name="created_at" type="timestamp">
用户创建时间的 ISO 8601 格式时间戳。
</ResponseField>

<ResponseField name="permissions" type="array">
分配给该用户的权限字符串列表。
</ResponseField>

#### 可展开的嵌套字段

嵌套字段文档示例:

<ResponseField name="user" type="object">
完整用户对象,包含所有关联数据。

<Expandable title="用户属性">
  <ResponseField name="profile" type="object">
  用户资料信息,包括个人详情。
  
  <Expandable title="资料详情">
    <ResponseField name="first_name" type="string">
    用户在注册时填写的名。
    </ResponseField>
    
    <ResponseField name="avatar_url" type="string | null">
    指向用户头像的 URL。若未设置头像则返回 null。
    </ResponseField>
  </Expandable>
  </ResponseField>
</Expandable>
</ResponseField>

### 媒体与高级组件

#### 图片外框

为所有图片添加外框:

<Frame>
<img src="/images/dashboard.png" alt="Main dashboard showing analytics overview" />
</Frame>

<Frame caption="分析仪表板提供实时洞察">
<img src="/images/analytics.png" alt="Analytics dashboard with charts" />
</Frame>

#### 视频

对于自托管视频内容,使用 HTML video 元素:

<video
  controls
  className="w-full aspect-video rounded-xl"
  src="link-to-your-video.com"
></video>

嵌入 YouTube 视频请使用 iframe 元素:

<iframe
  className="w-full aspect-video rounded-xl"
  src="https://www.youtube.com/embed/4KzFe50RQkQ"
  title="YouTube 视频播放器"
  frameBorder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  allowFullScreen
></iframe>

#### 工具提示

工具提示用法示例:

<Tooltip tip="应用程序编程接口——用于构建软件的协议">
API
</Tooltip>

#### 更新

使用更新来记录变更日志:

<Update label="版本 2.1.0" description="发布于 2024 年 3 月 15 日">
## 新功能
- 新增批量用户导入功能
- 改进错误信息,并提供可操作的建议

## 缺陷修复
- 修复大数据集的分页问题
- 解决身份验证超时问题
</Update>

## 必需的页面结构

每个文档页面必须以 YAML frontmatter 开头:

```yaml
---
title: "清晰、具体且富含关键词的标题"
description: "简明描述页面的目的与价值"
---
```

## 内容质量标准

### 代码示例要求

- 始终提供完整、可运行、可复制执行的示例
- 展示规范的错误处理与边界情况管理
- 使用真实数据而非占位值
- 包含预期输出与结果以便验证
- 在发布前彻底测试所有代码示例
- 指定语言,并在需要时包含文件名
- 为复杂逻辑添加解释性注释
- 绝不要在代码示例中包含真实的 API 密钥或机密

### API 文档要求

- 记录所有参数(包括可选参数),并给出清晰描述
- 展示成功与错误响应示例,使用真实数据
- 包含速率限制信息并给出具体限制
- 提供身份验证示例并展示正确格式
- 解释所有 HTTP 状态码与错误处理
- 覆盖完整的请求/响应流程

### 无障碍性要求

- 为所有图片与图表提供描述性替代文本(alt)
- 使用具体且可操作的链接文本,而不是“点击此处”
- 确保正确的标题层级从 H2 开始
- 提供键盘可达性与导航方面的考虑
- 在示例与可视化中使用足够的颜色对比
- 使用标题与列表来结构化内容,便于快速浏览

## 组件选型逻辑

- 对流程与顺序性指引使用 **Steps**
- 对平台特定内容或替代方案使用 **Tabs**
- 当以多种编程语言展示同一概念时使用 **CodeGroup**
- 对信息的渐进披露使用 **Accordions**
- 在 API 端点文档中使用 **RequestExample/ResponseExample**
- API 参数使用 **ParamField**,API 响应用 **ResponseField**
- 对嵌套对象属性或层级信息使用 **Expandable**