AgentSkillsCN

thesis-project-generator

毕业设计项目生成器。当您需要:(1) 从Word/PDF/图片文档中提取项目需求;(2) 生成完整的项目设计方案(包括数据库设计、模块设计、API设计);(3) 按照阿里巴巴Java开发规范生成Spring Boot + Vue3项目代码时,可使用此技能。适用于从需求文档到完整项目的全流程开发。

SKILL.md
--- frontmatter
name: thesis-project-generator
description: 毕业设计项目生成器。使用此skill当需要:(1)从Word/PDF/图片文档中提取项目需求 (2)生成完整的项目设计方案(数据库设计、模块设计、API设计)(3)按照阿里巴巴Java开发规范生成Spring Boot + Vue3项目代码。适用于从需求文档到完整项目的全流程开发。

毕业设计项目生成器

从需求文档自动生成完整的毕业设计项目,包括设计方案和代码实现。

工作流程

code
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  1. 读取文档     │ ──▶ │  2. 生成设计     │ ──▶ │  3. 生成代码     │
│  Word/PDF/图片   │     │  用户确认设计    │     │  阿里巴巴规范    │
└─────────────────┘     └─────────────────┘     └─────────────────┘

重要原则:每个阶段完成后需用户确认,再进入下一阶段。

阶段一:读取需求文档

支持的文件格式

格式读取方式适用内容
Word (.docx)直接读取需求说明书、开题报告
PDF直接读取需求文档、参考资料
图片 (.png/.jpg)直接读取原型图、流程图、ER图
Markdown直接读取需求描述

执行步骤

  1. 询问用户需求文档所在目录
  2. 列出目录中的所有相关文件
  3. 依次读取每个文件
  4. 提取并汇总关键信息

信息提取清单

从文档中提取以下信息:

  • 项目名称:系统的完整名称
  • 项目背景:为什么要做这个系统
  • 用户角色:系统有哪些使用者(如管理员、普通用户)
  • 功能模块:系统包含哪些功能模块
  • 功能需求:每个模块的具体功能点
  • 业务流程:关键业务的流程描述
  • 技术要求:指定的技术栈或框架
  • 非功能需求:性能、安全等要求

输出格式

markdown
## 需求分析报告

### 1. 项目概述
- 项目名称:XXX系统
- 项目背景:...

### 2. 用户角色
- 管理员:...
- 普通用户:...

### 3. 功能模块
| 模块 | 功能点 | 说明 |
|------|--------|------|
| ... | ... | ... |

### 4. 业务流程
...

### 5. 技术栈
- 后端:Spring Boot + MyBatis-Plus + MySQL
- 前端:Vue3 + Element Plus

完成后询问用户:"需求分析是否正确?是否需要补充或修改?"

阶段二:生成项目设计

用户确认需求后,生成完整的项目设计方案。

2.1 数据库设计

根据功能需求,设计数据库表结构。

设计原则

  • 表名使用小写下划线命名
  • 主键统一使用 id,类型 BIGINT AUTO_INCREMENT
  • 外键格式:关联表_id
  • 必须包含 create_timeupdate_time
  • 金额使用 DECIMAL(10,2)
  • 状态使用 TINYINT

输出格式

markdown
## 数据库设计

### 表清单
| 表名 | 说明 | 主要字段 |
|------|------|----------|
| user | 用户表 | id, username, password, ... |
| ... | ... | ... |

### 表结构详情

#### user 用户表
| 字段 | 类型 | 说明 |
|------|------|------|
| id | BIGINT | 主键 |
| username | VARCHAR(50) | 用户名 |
| ... | ... | ... |

### ER关系图(文字描述)
- user 1:N order(一个用户有多个订单)
- ...

2.2 模块设计

设计系统的模块结构和分层架构。

标准分层

code
Controller → Service → Mapper → Database
     ↓           ↓
    VO         Entity
     ↑
    DTO

输出格式

markdown
## 模块设计

### 后端模块
| 模块 | 包名 | 说明 |
|------|------|------|
| 用户模块 | com.xxx.user | 用户注册、登录、信息管理 |
| ... | ... | ... |

### 前端模块
| 模块 | 目录 | 说明 |
|------|------|------|
| 用户中心 | views/user | 登录、注册、个人中心 |
| ... | ... | ... |

2.3 API接口设计

设计RESTful风格的API接口。

设计原则

  • URL使用小写,单词用短横线分隔
  • 使用HTTP方法表示操作:GET查询、POST创建、PUT更新、DELETE删除
  • 统一响应格式:{code, message, data}

输出格式

markdown
## API接口设计

### 用户模块
| 方法 | URL | 说明 |
|------|-----|------|
| POST | /api/user/register | 用户注册 |
| POST | /api/user/login | 用户登录 |
| GET | /api/user/info | 获取用户信息 |
| ... | ... | ... |

设计确认

完成设计后,询问用户:

"以上是项目设计方案,包括数据库设计、模块设计和API设计。请确认:

  1. 数据库表结构是否满足需求?
  2. 模块划分是否合理?
  3. API接口是否完整?

确认后我将按照阿里巴巴Java开发规范生成代码。"

阶段三:生成代码

用户确认设计后,按照阿里巴巴规范生成代码。

代码规范

遵循阿里巴巴Java开发手册,详见 references/alibaba-java.md

核心规范摘要

命名规范

类型规范示例
类名大驼峰UserController
方法名小驼峰getUserById
常量全大写下划线MAX_PAGE_SIZE
包名全小写com.example.user

分层规范

命名规则职责
ControllerXxxController接收请求、参数校验
ServiceXxxService / XxxServiceImpl业务逻辑
MapperXxxMapper数据库操作
EntityXxx数据库映射
DTOXxxDTO接收前端参数
VOXxxVO返回前端数据

代码生成顺序

  1. 项目结构 - 创建目录和配置文件
  2. 实体类 - Entity、DTO、VO
  3. 数据层 - Mapper接口和XML
  4. 业务层 - Service接口和实现
  5. 控制层 - Controller
  6. 前端页面 - Vue组件

生成策略

  • 询问用户想先生成哪个模块
  • 每生成一个模块后确认是否继续
  • 复杂功能分步骤生成

使用示例

示例对话

用户:帮我做毕业设计,需求文档在 /path/to/docs 目录

助手

  1. 读取目录下的所有文档
  2. 输出需求分析报告
  3. 询问确认

用户:需求分析正确,继续

助手

  1. 生成数据库设计
  2. 生成模块设计
  3. 生成API设计
  4. 询问确认

用户:设计没问题,先生成用户模块

助手

  1. 生成用户模块的Entity、Mapper、Service、Controller
  2. 生成对应的前端页面
  3. 询问是否继续其他模块

技术栈默认配置

除非用户指定,默认使用以下技术栈:

后端

  • Spring Boot 2.7.x
  • MyBatis-Plus 3.5.x
  • MySQL 8.0
  • Maven

前端

  • Vue 3.x
  • Vite
  • Element Plus
  • Pinia
  • Axios

注意事项

  1. 循序渐进:每个阶段完成后等待用户确认
  2. 不要假设:需求不明确时主动询问
  3. 模块化生成:不要一次性生成所有代码
  4. 解释设计:说明为什么这样设计
  5. 可调整:用户可以随时要求修改设计或代码