一个用于分析代码库并生成面向高管、技术、产品和业务受众的全面 Markdown 文档的提示词。它引导 AI 提取高层系统目的、架构、关键组件、工作流、产品功能、业务领域和局限性,生成适合技术和非技术利益相关者的入门与发现文档。
# **代码分析与系统文档生成提示词** 你是代码分析和系统文档方面的专家。你的任务是分析本项目/工作区中提供的源代码,并生成一份全面的 Markdown 文档,作为面向多个受众(高管、技术、业务和产品)的入门指南。 ## **说明** 分析提供的源代码并提取以下信息,将其组织成结构良好的 Markdown 文档: --- ## **1. 高管层视角:执行摘要** ### **应用目的** - 该系统的主要目标是什么? - 它在高层面上旨在解决什么问题? ### **工作原理(高层概述)** - 以简洁易懂的方式为非技术受众描述整体系统流程。 - 系统执行的主要步骤或流程是什么? ### **高层业务规则** - 识别并描述代码中实现的主要业务规则。 - 系统遵循的基本业务策略、约束或逻辑是什么? ### **关键收益** - 该系统为组织或其用户带来的主要收益是什么? --- ## **2. 技术层视角:技术概览** ### **系统架构** - 基于代码分析描述整体系统架构。 - 它是否遵循特定模式(例如单体、微服务等)? - 识别出的主要组件或模块有哪些? ### **使用的技术(技术栈)** - 列出项目中使用的所有编程语言、框架、库、数据库和其他技术。 ### **主要技术流程** - 详细说明系统内的主要数据和执行流程。 - 不同组件之间如何交互? ### **关键组件** - 识别并描述最重要的系统组件,解释它们在架构中的角色和职责。 ### **代码复杂度(观察)** - 基于你的分析,提供关于代码复杂度的一般性观察(例如结构良好、模块化、明显复杂度较高的区域)。 ### **图表** - 生成高层图表以可视化系统架构和行为: - 组件图(聚焦主要模块及其交互) - 数据流图(展示信息如何在系统中流动) - 类图(呈现关键类及其关系,如适用) - 简化部署图(展示组件运行位置,如可检测) - 简化基础设施/部署图(如基础设施细节明显) - **在 Markdown 文件中使用 Mermaid 语法创建上述图表。图表应保持高层,不要过于详细。** --- ## **3. 产品视角:产品摘要** ### **系统功能(详细)** - 详细描述系统的主要功能。 - 用户可以执行哪些任务或操作? ### **系统面向对象(用户/客户)** - 识别系统的主要目标受众。 - 谁是最终用户或从中受益的客户? ### **解决的问题(满足的需求)** - 系统帮助用户或组织解决哪些具体问题? - 它满足了哪些需求? ### **用例/用户旅程(高层)** - 系统的主要用例是什么? - 用户如何与系统交互以实现其目标? ### **核心功能** - 清晰简洁地列出最重要的系统功能。 ### **业务领域** - 识别系统覆盖的主要业务领域(例如销售、库存、财务)。 --- ## **分析局限性** - 代码分析过程中遇到的主要局限性是什么? - 简要描述是什么限制了你对代码的理解。 - 提供减少或消除这些局限性的建议。 --- ## **文档指南** ### **文档格式** - 文档必须使用 Markdown 格式,每个部分都有清晰的标题和副标题。 - 使用列表、表格和其他 Markdown 元素以提高可读性和理解度。 ### **附加说明** - 专注于提供相关的高层信息,避免过多的实现细节,除非对理解至关重要。 - 使用清晰、简洁且适合多个受众的易懂语言。 - 基于代码分析尽可能具体。 - 将完整回复生成为**格式良好的 Markdown(`.md`)文档**。 - 使用**清晰直接的语言**。 - 根据上述部分使用**标题和副标题**。 ### **文档标题** **应用的高管与业务分析 – "<application-name>"** ### **文档摘要** 本文档是对 <system-name> 系统源代码分析的结果,涵盖以下领域: - **高管层视角:** 应用目的、高层运作、主要业务规则和关键收益的摘要。 - **技术层视角:** 关于系统架构、使用的技术、主要流程、关键组件和图表(组件、数据流、类和部署)的详细信息。 - **产品视角:** 系统功能、目标用户、解决的问题、主要用例、功能和业务领域的详细描述。 - **分析局限性:** 识别关键分析约束以及克服这些约束的建议。 分析基于可用的源代码文件。 --- ## **重要** 分析必须考虑**所有项目文件**。 阅读并理解执行任务和实现对系统完整理解所需的**所有必要文件**。 --- ## **操作** 请分析我当前环境/工作区中可用的源代码,并生成所请求的 Markdown 文档。 输出文件名必须遵循以下格式: `<yyyy-mm-dd-project-name-app-discovery_cursor.md>`