用途
ln-113-backend-docs-creator 是一个 L3 Worker 技能,专门用于创建后端文档。它属于条件性技能,仅在项目包含后端或数据库时被调用。其职责是生成两个后端文档文件:api_spec.md(当 hasBackend 为真时)和 database_schema.md(当 hasDatabase 为真时)。
主要能力
- 创建 api_spec.md:遵循 OpenAPI 3.0 规范的 API 规格文档,包含端点表格、请求/响应示例。
- 创建 database_schema.md:包含以 Mermaid erDiagram 格式生成的 ER 图,以及表定义。
- 接收来自 ln-110-project-docs-coordinator 的 Context Store,其中包含后端特定数据,如 API_TYPE(REST、GraphQL、gRPC)、API_ENDPOINTS、AUTH_SCHEME、DATABASE_TYPE、SCHEMA_OVERVIEW、ER_DIAGRAM 等。
- 具有幂等性:检查文件是否已存在,存在则跳过并记录日志,不会覆盖已有文件。
- 生成可发布的输出:不留下 [TBD: ...]、TODO 或泄漏的模板元数据。
使用方式
该技能从不被用户直接调用,而是由 ln-110-project-docs-coordinator 在满足以下条件时条件性调用:
- hasBackend=true(检测到 express、fastify、nestjs、fastapi)
- hasDatabase=true(检测到 pg、mongoose、prisma、sequelize)
工作流程分为四个阶段:
- 检查条件:解析协调器传入的 flags,如果既无后端也无数据库则提前返回空结果。
- 创建文档:对每个适用的文档,检查文件是否存在(幂等),不存在则复制模板、用 Context Store 值替换占位符、保留模板的共享开头契约和标准顶部章节,并为 database_schema.md 生成 ER 图。
- 自验证:检查 SCOPE 标签和元数据标记、必需的顶部章节(Quick Navigation、Agent Entry、Maintenance)、格式(api_spec.md 的端点表格和请求/响应示例;database_schema.md 的 ER 图和表定义),以及文档质量契约合规性。
- 返回状态:返回包含 created_files、skipped_files、quality_inputs、validation_status 的 JSON 状态。
适用场景
适用于需要为项目生成后端 API 规格文档和数据库模式文档的场景,特别是当项目使用 Express、Fastify、NestJS、FastAPI 等后端框架,或使用 PostgreSQL、MongoDB、MySQL 等数据库时。
限制
- 条件性:如果未检测到后端或数据库,则完全跳过。
- 不自行收集上下文:仅使用协调器输入。
- 幂等性:从不覆盖已存在的文件。
- NO_CODE_EXAMPLES 规则(强制):api_spec.md 中允许 JSON 请求/响应模式(这是 API 契约)和端点表格;禁止控制器实现、验证类、服务代码、中间件示例。
- 技术栈适配规则(强制):链接必须引用适合技术栈的文档(.NET 用 Microsoft,JS 用 MDN);API 示例必须匹配项目技术栈(Node.js 用 Express,Python 用 FastAPI)。
- 格式优先级(强制):表格(端点、模式)> Mermaid(ER 图)> 列表 > 文本。
- 如果数据缺失:省略声明或使用简洁的中性回退,但不要输出 [TBD: ...]。
参考文件
- 模板:references/templates/api_spec_template.md、references/templates/database_schema_template.md
- 问题:references/questions_backend.md(Q39-Q42)
- 版本:1.2.0
- 最后更新:2025-01-12