🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install github/awesome-copilot/create-oo-component-documentation

💡 提示:需要 Node.js 和 NPM

生成标准面向对象组件文档

为位于 ${input:ComponentPath} 的面向对象组件创建全面的文档。

通过检查指定路径中的代码来分析组件。如果是文件夹,则分析所有源文件。如果是单个文件,则将其视为主组件,并分析同一目录中的相关文件。

文档标准

  • DOC-001:遵循 C4 模型文档级别(上下文、容器、组件、代码)
  • DOC-002:符合 Arc42 软件架构文档模板
  • DOC-003:遵守 IEEE 1016 软件设计描述标准
  • DOC-004:使用敏捷文档原则(足够且有价值的文档)
  • DOC-005:将开发者和维护者作为主要受众

分析说明

  • ANA-001:确定路径类型(文件夹 vs 单个文件)并识别主要组件
  • ANA-002:检查源代码文件以了解类结构和继承关系
  • ANA-003:识别设计模式和架构决策
  • ANA-004:记录公共 API、接口和依赖项
  • ANA-005:识别创建型/结构型/行为型模式
  • ANA-006:记录方法参数、返回值、异常
  • ANA-007:评估性能、安全性、可靠性、可维护性
  • ANA-008:推断集成模式和数据流

特定语言优化

  • LNG-001:C#/.NET – async/await、依赖注入、配置、资源释放
  • LNG-002:Java – Spring 框架、注解、异常处理、打包
  • LNG-003:TypeScript/JavaScript – 模块、异步模式、类型、npm
  • LNG-004:Python – 包、虚拟环境、类型提示、测试

错误处理

  • ERR-001:路径不存在 – 提供正确的格式指南
  • ERR-002:未找到源文件 – 建议其他位置
  • ERR-003:结构不清晰 – 记录发现并请求澄清
  • ERR-004:非标准模式 – 记录自定义方法
  • ERR-005:代码不足 – 专注于可用信息,突出信息缺口

输出格式

生成结构良好的 Markdown,具有清晰的标题层级、代码块、表格、项目符号和适当的格式,以确保可读性和可维护性。

文件位置

文档应保存在 /docs/components/ 目录中,并按以下约定命名:[组件名称]-documentation.md

必需的文档结构

文档文件必须遵循以下模板,确保所有部分都得到适当填写。Markdown 的前置元数据应按照以下示例正确结构化:

---
title: [组件名称] - 技术文档
component_path: `${input:ComponentPath}`
version: [可选:例如, 1.0, 日期]
date_created: [YYYY-MM-DD]
last_updated: [可选:YYYY-MM-DD]
owner: [可选:负责此组件的团队/个人]
tags: [可选:相关标签或类别列表,例如 `component`、`service`、`tool`、`infrastructure`、`documentation`、`architecture` 等]
---

# [组件名称] 文档

[对组件及其在系统内目的的简短介绍。]

## 1. 组件概述

### 目的/职责
- OVR-001:说明组件的主要职责
- OVR-002:定义范围(包含/排除的功能)
- OVR-003:描述系统上下文和关系

## 2. 架构部分

- ARC-001:记录使用的设计模式(仓库、工厂、观察者等)
- ARC-002:列出内部和外部依赖项及其用途
- ARC-003:记录组件交互和关系
- ARC-004:包含可视化图表(UML 类图、序列图、组件图)
- ARC-005:创建展示组件结构、关系和依赖项的 mermaid 图表

### 组件结构和依赖关系图

包含一个全面的 mermaid 图表,展示:
- **组件结构** - 主类、接口及其关系
- **内部依赖项** - 组件在系统内部如何交互
- **外部依赖项** - 外部库、服务、数据库、API
- **数据流** - 依赖关系和交互的方向
- **继承/组合** - 类层次结构和组合关系

```mermaid
graph TD
    subgraph “组件系统”
        A[主组件] --> B[内部服务]
        A --> C[内部仓库]
        B --> D[业务逻辑]
        C --> E[数据访问层]
    end

    subgraph “外部依赖项”
        F[外部 API]
        G[数据库]
        H[第三方库]
        I[配置服务]
    end

    A --> F
    E --> G
    B --> H
    A --> I

    classDiagram
        class 主组件 {
            +属性:类型
            +方法():返回类型
            +异步方法():Promise~类型~
        }
        class 内部服务 {
            +业务操作():结果
        }
        class 外部API {
            <<外部>>
            +api调用():数据
        }

        主组件 --> 内部服务
        主组件 --> 外部API

3. 接口文档

  • INT-001:记录所有公共接口及其使用模式
  • INT-002:创建方法/属性参考表
  • INT-003:记录事件/回调/通知机制
方法/属性 用途 参数 返回类型 使用说明
[名称] [用途] [参数] [类型] [说明]

4. 实现细节

  • IMP-001:记录主要的实现类及其职责
  • IMP-002:描述配置要求和初始化过程
  • IMP-003:记录关键算法和业务逻辑
  • IMP-004:说明性能特征和瓶颈

5. 使用示例

基本用法

// 基本用法示例
var component = new 组件名称();
component.执行操作();

高级用法

// 高级配置模式
var options = new 组件选项();
var component = 组件工厂.创建(options);
await component.异步处理(data);
  • USE-001:提供基本使用示例
  • USE-002:展示高级配置模式
  • USE-003:记录最佳实践和推荐模式

6. 质量属性

  • QUA-001:安全性(身份验证、授权、数据保护)
  • QUA-002:性能(特征、可扩展性、资源使用)
  • QUA-003:可靠性(错误处理、容错、恢复)
  • QUA-004:可维护性(标准、测试、文档)
  • QUA-005:可扩展性(扩展点、自定义选项)

7. 参考信息

  • REF-001:列出依赖项及其版本和用途
  • REF-002:完整的配置选项参考
  • REF-003:测试指南和模拟设置
  • REF-004:故障排除(常见问题、错误消息)
  • REF-005:相关文档链接
  • REF-006:变更历史和迁移说明

📄 原始文档

完整文档(英文):

https://skills.sh/github/awesome-copilot/create-oo-component-documentation

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。