SuperAPI AI 工具集

documentation

写作与研究

查看项目

更新于 10-16 05:39

技能介绍

用途

该技能用于生成全面、可维护的文档,涵盖代码文档字符串、API 规范、架构图、README 文件以及清晰的代码讲解。

激活触发条件

在以下情况激活该技能:

  • 用户说“document this”“explain this code”“how does this work?”
  • 用户提到“README”“docs”或“documentation”
  • 完成某个功能或创建 API 端点之后
  • 用户说“write comments for this”

文档类型

1. 代码文档(文档字符串)

目标:清晰、全面的函数/类文档。

关键组成部分:

  • 简要描述(一行)
  • 详细说明(目的与行为)
  • 参数(类型、约束、示例)
  • 返回值(类型与含义)
  • 示例(真实用法)
  • 抛出/异常(错误条件)
  • 备注(实现细节)

各语言格式:

  • Python:"""三引号""",Args/Returns/Raises 格式
  • JavaScript/TypeScript:JSDoc /** */,@param/@returns/@throws 标签
  • Java:Javadoc /** */,@param/@return/@throws 标签
  • C#:XML 注释 /// <summary>

2. API 文档

目标:为每个端点提供完整的 API 参考。

每个端点必需的部分:

  • HTTP 方法与路径
  • 简要描述
  • 请求模式(参数、请求体及其类型与约束)
  • 成功响应(状态码、模式、示例)
  • 错误响应(状态码、错误码、消息)
  • 用法示例(cURL 和/或特定语言)
  • 安全说明(认证、速率限制等)

模板:

METHOD /api/path

Description of what this endpoint does.

Request:

  • field (type, required/optional): Description

Response (200 OK):

  • field (type): Description

Errors: 400 (validation), 401 (auth), 429 (rate limit)

Security: Auth required, rate limit X req/min

3. 架构文档

目标:清晰的系统概览与组件关系。

必需部分:

  • 概览:系统目的与架构风格
  • 系统图:展示组件与连接的 ASCII 或 Mermaid 图
  • 核心组件:每个组件的职责、功能、技术、扩展策略
  • 数据流:关键操作的分步流程
  • 集成点:外部服务与内部 API
  • 安全架构:认证、授权、数据保护
  • 性能:缓存策略、数据库优化、扩展策略
  • 监控:指标、日志、告警

4. README 生成

目标:全面的项目 README。

必要部分:

  • 标题 + 一行描述——解决什么问题
  • 功能——以项目符号列表列出关键功能
  • 安装——克隆、安装、配置、运行
  • 用法——基本代码示例
  • 配置——环境变量表(变量、描述、是否必需)
  • 开发——测试、lint、构建命令
  • 许可证

可选部分(按需添加):

  • 演示/截图、API 参考、项目结构、部署、贡献指南

5. 代码讲解

目标:清晰讲解复杂代码。

流程:

  • 高层目的——解决什么问题?处于什么位置?
  • 分步逻辑——拆分为阶段,逐一清晰解释
  • 关键算法/模式——识别算法、解释思路、说明复杂度
  • 边界情况——处理的异常输入、做出的假设、执行的校验

将每次讲解组织为:

  • 目的(是什么与为什么)
  • 工作原理(带公式/逻辑的编号步骤)
  • 为何采用此方法(理由与考虑过的替代方案)
  • 处理的边界情况(列表与说明)

何时编写文档

始终编写文档:

  • 公共 API 与端点
  • 复杂算法
  • 不明显的逻辑
  • 安全敏感代码
  • 性能关键部分
  • 错误处理策略

考虑编写文档:

  • 带多个参数的辅助函数
  • 类构造函数
  • 配置选项
  • 数据库模式

不必编写文档:

  • 平凡的 getter/setter
  • 自解释的代码
  • 临时/实验性代码

最佳实践

  • 为未来的自己写作:假设 6 个月后你会忘掉一切
  • 解释“为什么”,而非“做什么”:代码展示做什么,文档解释为什么
  • 保持示例最新:代码变更时更新示例
  • 使用一致格式:遵循语言惯例
  • 保持简洁:每个词都应增加价值
  • 使用主动语态:“Returns user”而非“User is returned”
  • 包含边界情况:记录异常输入与输出
  • 随代码更新:过时的文档比没有文档更糟

集成点

  • 与 spec-driven 技能配合,用于功能文档
  • 与 review 技能配合,验证文档是否存在
  • 在功能完成后自动触发

备注

  • 默认优先清晰代码而非注释(代码总是正确的,注释会说谎)
  • 良好的命名可减少对文档的需求
  • 复杂逻辑值得解释
  • API 需要全面的文档
  • 如有疑问,就写文档