---
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();
}
```
