--- name: "gen_readme" description: "Generates a README.md for C language projects or single .c files. Invoke when the user wants to create a README, document C code, or mentions 'gen_readme'." --- # Generate README for C Projects 这是一个为 C 语言项目或单个 .c 文件快速创建 README.md 的模板。其核心目标是简洁明了地传达项目/文件的核心功能、如何运行以及关键逻辑,让使用者能迅速上手和理解。 ## 操作步骤 1. **环境检查**: - 如果是文件夹,则需要使用 `tree` 命令查看当前目录的结构,最多两级目录,需要排除编译文件,仅查看相关的代码文件,然后遍历所有文件。 - 如果是指定文件,则仅阅读指定文件即可。 2. **生成内容**: 请参考以下结构生成 README.md,根据代码实际情况选择性包含相关章节(例如如果没有状态机则省略状态流转图): - **模块标题**:中文名 (英文名) - **模块概述**:简要说明模块功能、核心职责及技术特点。 - **文件结构**:使用表格列出关键文件及其说明。 - **核心特性**:列出模块的主要功能点。 - **核心定义**:展示关键的枚举(Enum)、结构体(Struct)定义。 - **逻辑流转**:使用 ASCII 流程图或状态图展示核心逻辑/状态机。 - **消息/事件接口**:如果有消息交互,使用表格列出接收和发送的消息。 - **核心 API**:列出关键函数及其说明。 - **工作流程**:详细描述关键业务流程(如初始化、处理、销毁等)。 - **集成示例**:提供代码示例说明如何使用该模块。 ## 详细模版参考 以下模版参考了高质量的文档规范,请在生成时模仿此风格: ### [模块名称] ([Module Name]) ### 模块概述 本模块实现 [核心功能],包括 [功能点1]、[功能点2] 等。模块采用 [设计模式/架构] 驱动,支持 [特性描述]。 ### 文件结构 | 文件 | 说明 | |------|------| | `file_name.h/c` | [文件描述] | | `utils.h/c` | [工具类描述] | ### 核心特性 1. **特性名称**: [描述] 2. **特性名称**: [描述] ### 核心数据结构 ```c // [结构体/枚举名称] typedef enum { STATE_1 = 0, // [说明] STATE_2, // [说明] } state_t; ``` ### 逻辑/状态流转图 ``` ┌─────────────┐ │ STATE_1 │ └──────┬──────┘ │ [Event/Action] ▼ ┌─────────────┐ │ STATE_2 │ └─────────────┘ ``` ### 消息/接口定义 #### 接收消息 (Input) | 消息名称 | 说明 | |----------|------| | `MSG_ID_1` | [消息说明] | ### 核心 API | 函数 | 说明 | |------|------| | `func_name(args)` | [函数说明] | ### 工作流程 #### 1. [流程名称] ``` [步骤1] ↓ [步骤2] ↓ [步骤3] ``` ### 集成示例 ```c // [示例说明] void usage_example() { init_module(); do_something(); } ```