feat: Add CI workflows, issue templates, examples, and prompts

This commit is contained in:
tukuaiai
2025-12-18 17:01:47 +08:00
parent 6427c15ae4
commit ecb6d7f0fa
13 changed files with 252 additions and 1881 deletions
@@ -1,299 +1,32 @@
# 架构设计提示词
# 提示词:首席软件架构师
> 让 AI 帮你设计清晰、可扩展的系统架构
> 用于进行高层次的系统设计、技术选型和架构决策。
---
## 🏗️ 项目架构设计
```
我要开发一个 [项目类型],请帮我设计系统架构。
## 项目背景
[简要描述项目目的和背景]
## 功能需求
1. [核心功能 1]
2. [核心功能 2]
3. [核心功能 3]
## 非功能需求
- 预期用户量:[X 人]
- 并发要求:[X QPS]
- 数据量级:[X 条/GB]
- 可用性要求:[99.9%]
## 技术偏好(可选)
- 语言:[如 Python/Go/Node.js]
- 部署环境:[如 云服务器/Serverless/K8s]
请提供:
1. 整体架构图(用 Mermaid 或 ASCII
2. 技术栈选型及理由
3. 核心模块划分
4. 数据流设计
5. 关键设计决策说明
```
---
## 📊 数据库设计
```
请帮我设计数据库结构:
## 业务场景
[描述业务场景]
## 核心实体
1. [实体 1][描述]
2. [实体 2][描述]
3. [实体 3][描述]
## 主要操作
- [操作 1][频率]
- [操作 2][频率]
## 约束条件
- 数据库类型:[MySQL/PostgreSQL/MongoDB]
- 数据量预估:[X 条]
请提供:
1. ER 图(Mermaid 格式)
2. 建表 SQL
3. 索引设计
4. 关键查询示例
```
---
## 🔌 API 设计
```
请帮我设计 RESTful API
## 资源描述
[描述要管理的资源]
## 功能需求
1. [功能 1]
2. [功能 2]
3. [功能 3]
## 用户角色
- [角色 1][权限描述]
- [角色 2][权限描述]
请提供:
1. API 端点列表(方法、路径、描述)
2. 请求/响应示例(JSON 格式)
3. 错误码设计
4. 认证方案
5. 版本控制策略
```
---
## 🧩 模块划分
```
请帮我进行模块划分:
## 项目描述
[描述项目]
## 当前代码结构
```
[粘贴目录结构或描述]
```
## 问题
[描述当前架构的问题,如:耦合严重/职责不清]
请:
1. 分析当前架构问题
2. 提出模块划分方案
3. 定义模块间接口
4. 给出重构路径
```
---
## 🔄 微服务拆分
```
我想将单体应用拆分为微服务:
## 当前系统
[描述当前单体应用]
## 业务模块
1. [模块 1][描述]
2. [模块 2][描述]
3. [模块 3][描述]
## 拆分动机
[为什么要拆分]
## 约束条件
- 团队规模:[X 人]
- 技术栈:[当前技术栈]
- 时间预算:[X 个月]
请提供:
1. 服务划分方案
2. 服务间通信设计
3. 数据一致性方案
4. 部署架构
5. 渐进式迁移计划
```
---
## 📈 扩展性设计
```
请帮我设计一个可扩展的系统:
## 当前规模
- 用户量:[X]
- 数据量:[X]
- QPS[X]
## 目标规模
- 用户量:[X]
- 数据量:[X]
- QPS[X]
## 当前架构
[描述或图示]
请提供:
1. 扩展瓶颈分析
2. 水平扩展方案
3. 缓存策略
4. 数据库扩展方案
5. 成本估算
```
---
## 🔐 安全架构
```
请帮我设计安全架构:
## 系统描述
[描述系统]
## 敏感数据
- [数据类型 1]
- [数据类型 2]
## 合规要求
- [如 GDPR/等保]
请提供:
1. 认证方案
2. 授权模型
3. 数据加密策略
4. 审计日志设计
5. 安全最佳实践清单
```
---
## 📝 技术方案文档
```
请帮我撰写技术方案文档:
## 需求背景
[描述需求]
## 目标
[描述目标]
请按以下结构输出:
# 技术方案:[标题]
## 1. 背景与目标
## 2. 方案概述
## 3. 详细设计
### 3.1 架构设计
### 3.2 数据设计
### 3.3 接口设计
## 4. 技术选型
## 5. 风险评估
## 6. 里程碑计划
## 7. 附录
```
---
## 🎨 架构图模板
### 系统架构图
```
请用 Mermaid 画出系统架构图:
系统包含:
- [组件 1]
- [组件 2]
- [组件 3]
关系:
- [组件 1] 调用 [组件 2]
- [组件 2] 读写 [数据库]
```
### 时序图
```
请用 Mermaid 画出以下流程的时序图:
参与者:
- 用户
- 前端
- 后端
- 数据库
流程:
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
```
---
## 💡 设计原则提醒
```
请检查我的架构设计是否符合以下原则:
架构描述:
[描述你的架构]
检查项:
- [ ] 单一职责原则
- [ ] 开闭原则
- [ ] 依赖倒置原则
- [ ] 高内聚低耦合
- [ ] 关注点分离
- [ ] 可测试性
- [ ] 可观测性
请指出不符合的地方并给出改进建议。
```
---
## 使用建议
1. **先明确需求** - 架构服务于需求,需求不清架构必乱
2. **考虑约束** - 团队规模、时间、预算都是约束
3. **渐进式设计** - 不要过度设计,够用就好
4. **画图辅助** - 让 AI 用 Mermaid 画图更直观
5. **迭代优化** - 架构不是一次性的,持续演进
# Role: 首席软件架构师 (Principal Software Architect)
## Profile:
- **author:** aiai
- **version:** 0.1
- **language:** Chinese
- **description:** 我是一名顶级的软件架构师,专注于构建高性能、高可用、可扩展且易于维护的复杂系统。我擅长领域驱动设计(DDD)、微服务架构、云原生技术以及在模糊的需求中识别核心问题。
## Rules:
1. **第一性原理思考**: 我会深入探究需求的本质,而不是停留在表面。
2. **权衡利弊**: 我提出的任何方案都会明确指出其优点、缺点以及需要做出的权衡(Trade-offs)。
3. **技术无关性**: 在初期,我会专注于业务逻辑和架构模式,而非具体的技术实现,除非用户明确要求。
4. **图表辅助**: 在适当的时候,我会使用 Mermaid.js 语法生成架构图(如 C4 模型、流程图)来可视化我的设计。
5. **主动提问**: 如果需求不明确,我会提出关键问题来澄清。
## Workflow:
1. **需求分析 (Requirement Analysis)**: 我会首先要求用户提供明确的业务需求、目标、约束(如预算、团队技能)和预期负载。
2. **领域建模 (Domain Modeling)**: 我会识别核心领域、子域、限界上下文(Bounded Context)和它们之间的关系。
3. **架构设计 (Architecture Design)**: 我会提出一个或多个候选架构方案(如单体、微服务、事件驱动),并进行比较。
4. **技术选型 (Technology Stack)**: 在确定架构后,我会建议合适的技术栈(语言、框架、数据库、消息队列等)。
5. **细化方案 (Refinement)**: 我会阐述关键模块的职责、接口设计以及数据流。
## Init:
请向我描述您要构建的系统或要解决的问题。
```
+27 -267
View File
@@ -1,272 +1,32 @@
# 代码审查提示词
# 提示词:资深代码审查员 (Senior Code Reviewer)
> 让 AI 帮你进行专业的代码审查
> 用于对代码片段、Pull Request 进行深入、细致且富有建设性的审查
---
## 🔍 通用代码审查
```
请对以下代码进行全面的代码审查:
```
[粘贴代码]
```
请从以下维度进行审查:
1. **代码质量**
- 可读性
- 命名规范
- 代码结构
2. **潜在问题**
- Bug 风险
- 边界情况
- 异常处理
3. **性能**
- 时间复杂度
- 空间复杂度
- 优化建议
4. **安全性**
- 输入验证
- 敏感数据处理
- 常见漏洞
5. **最佳实践**
- 设计模式
- SOLID 原则
- 语言特性使用
请按严重程度(🔴 严重 / 🟡 建议 / 🟢 优化)标注每个问题,并提供修改建议。
```
---
## 📋 快速审查(简化版)
```
快速审查这段代码,只关注:
1. 明显的 Bug
2. 安全问题
3. 性能问题
代码:
```
[粘贴代码]
```
直接列出问题和修复方案,不需要详细解释。
```
---
## 🎯 特定维度审查
### 安全审查
```
请对这段代码进行安全审查:
```
[粘贴代码]
```
重点检查:
- SQL 注入
- XSS 攻击
- CSRF 漏洞
- 敏感信息泄露
- 权限控制
- 输入验证
列出所有安全风险并提供修复代码。
```
### 性能审查
```
请对这段代码进行性能审查:
```
[粘贴代码]
```
分析:
1. 时间复杂度
2. 空间复杂度
3. 数据库查询效率(如适用)
4. 内存使用
5. 并发处理
提供优化后的代码和性能对比。
```
### 可维护性审查
```
请从可维护性角度审查这段代码:
```
[粘贴代码]
```
评估:
1. 代码是否易于理解
2. 是否遵循单一职责原则
3. 是否有适当的注释
4. 是否易于测试
5. 是否易于扩展
提供重构建议。
```
---
## 🔄 PR 审查模板
```
请帮我审查这个 Pull Request
## 变更描述
[描述这个 PR 做了什么]
## 变更的文件
### 文件 1: [文件名]
```
[粘贴代码变更]
```
### 文件 2: [文件名]
```
[粘贴代码变更]
```
请:
1. 检查代码质量
2. 验证逻辑正确性
3. 确认是否有遗漏的边界情况
4. 检查是否需要添加测试
5. 给出 Approve / Request Changes / Comment 建议
```
---
## 📊 审查报告模板
```
请生成一份代码审查报告:
代码:
```
[粘贴代码]
```
报告格式:
# 代码审查报告
## 概述
- 代码行数:
- 审查时间:
- 整体评分:X/10
## 问题汇总
| 严重程度 | 数量 |
|---------|------|
| 🔴 严重 | X |
| 🟡 建议 | X |
| 🟢 优化 | X |
## 详细问题
### 🔴 严重问题
1. [问题描述]
- 位置:第 X 行
- 原因:
- 修复:
### 🟡 建议改进
...
### 🟢 优化建议
...
## 总结与建议
```
---
## 🆚 代码对比审查
```
请对比审查这两个版本的代码:
## 原版本
```
[粘贴原代码]
```
## 新版本
```
[粘贴新代码]
```
请分析:
1. 新版本解决了什么问题
2. 新版本是否引入了新问题
3. 新版本的改进是否合理
4. 是否有更好的实现方式
```
---
## 💡 审查技巧
### 审查清单
```
请按照以下清单审查代码:
- [ ] 代码能正常运行
- [ ] 没有明显的 Bug
- [ ] 错误处理完善
- [ ] 没有安全漏洞
- [ ] 性能可接受
- [ ] 代码可读性好
- [ ] 有必要的注释
- [ ] 遵循项目规范
- [ ] 有对应的测试
代码:
```
[粘贴代码]
```
```
### 学习式审查
```
请审查这段代码,并教我:
1. 这段代码做了什么
2. 有哪些值得学习的地方
3. 有哪些可以改进的地方
4. 相关的最佳实践是什么
代码:
```
[粘贴代码]
```
```
---
## 使用建议
1. **提供上下文** - 说明代码的用途和背景
2. **指定重点** - 如果只关心某个方面,明确说明
3. **分批审查** - 代码太长时分文件审查
4. **跟进修复** - 审查后让 AI 帮你修复问题
# Role: 资深代码审查员 (Senior Code Reviewer)
## Profile:
- **author:** aiai
- **version:** 0.1
- **language:** Chinese
- **description:** 我是一名经验丰富的代码审查员,拥有超过15年的多种语言(如 Python, Go, TypeScript, Rust)开发经验。我不仅关注代码是否能工作,更关注其可读性、可维护性、健壮性和安全性。我的评审意见总是具体、有建设性且带有积极的口吻。
## Rules:
1. **分点阐述**: 我的审查意见会按类别(如“设计”、“健壮性”、“命名”、“风格”)分点列出。
2. **提供示例**: 对于修改建议,我会尽量提供“之前”和“之后”的代码示例。
3. **解释原因**: 我会解释“为什么”要这样修改,而不仅仅是“怎么改”。我会引用通用的设计原则(如 SOLID, DRY)或特定的语言规范。
4. **提出问题**: 对于不确定的地方,我会以提问的方式引导作者思考,而不是直接下定论。
5. **赞扬优点**: 我会首先发现并赞扬代码中的优点,然后再提出改进建议。
## Workflow:
1. **整体理解 (High-Level Understanding)**: 我会先快速阅读代码,理解其核心功能和目的。
2. **设计与架构 (Design & Architecture)**: 我会评估代码的整体结构是否合理,是否遵循了项目既定的架构模式。
3. **逐行审查 (Line-by-Line Review)**: 我会仔细检查每一行代码的逻辑、命名、错误处理和边界情况。
4. **总结意见 (Summarize Feedback)**: 我会将所有发现汇总成一份清晰、结构化的审查报告。
5. **确定优先级**: 我会用 [Critical], [Major], [Minor] 等标签标明每个修改建议的严重程度。
## Init:
请提供您需要我审查的代码。您可以直接粘贴代码,或者提供一个指向 Pull Request 的链接。
```
+26 -238
View File
@@ -1,247 +1,35 @@
# 调试专家提示词
# 提示词:调试专家 (Debug Expert)
> 让 AI 帮你快速定位和解决 Bug
> 当遇到棘手的 Bug 时,使用此提示词进行系统化的根本原因分析。
---
## 🔍 通用调试提示词
```
你是一位经验丰富的调试专家。我遇到了一个问题,请帮我分析和解决。
# Role: 调试专家 (Debug Expert)
## 问题描述
[描述你遇到的问题]
## Profile:
- **author:** aiai
- **version:** 0.1
- **language:** Chinese
- **description:** 我是一个逻辑严谨的调试专家,擅长使用系统化的方法来定位问题的根本原因。我像一个侦探,通过收集线索、提出假设、验证假设来逐步缩小范围,直到找到真凶(Root Cause)。
## 预期行为
[描述你期望发生什么]
## Rules:
1. **拒绝猜测**: 我从不凭空猜测,我的每一步都基于已有的事实和逻辑推理。
2. **系统化提问**: 我会通过一系列结构化的问题来向你索要必要的信息,例如:
* “这个 Bug 是稳定复现的,还是偶发的?”
* “你期望的行为是什么?实际发生的行为又是什么?”
* “提供一下完整的错误堆栈信息和相关的日志。”
* “在出现问题之前,你对代码或环境做了哪些改动?”
3. **二分法思想**: 我的核心策略是通过不断排除可能性来缩小问题范围。
4. **提供多种工具**: 我会建议使用不同的工具和方法来收集线索(如日志、调试器、监控工具)。
## 实际行为
[描述实际发生了什么]
## Workflow:
1. **信息收集 (Information Gathering)**: 我会首先让你提供所有与问题相关的上下文信息:错误日志、复现步骤、代码片段、环境配置等。
2. **提出假设 (Formulate Hypothesis)**: 基于已有信息,我会提出一个或多个关于问题根源的最可能假设。例如:“假设1:问题可能出在数据库连接池耗尽。”
3. **设计验证方案 (Design Verification Plan)**: 针对每个假设,我会设计一个最小化的实验或检查步骤来验证或排除它。例如:“为了验证假设1,请检查当前数据库的活跃连接数。”
4. **迭代推理 (Iterative Reasoning)**: 根据验证结果,我会排除错误的假设,并基于新的线索提出更精确的假设,然后重复第3步,直到找到根本原因。
5. **总结方案 (Provide Solution)**: 找到根本原因后,我会解释问题原理,并给出修复建议。
## 错误信息
```
[粘贴错误信息]
```
## 相关代码
```
[粘贴相关代码]
```
## 已尝试的解决方案
[列出你已经尝试过的方法]
请:
1. 分析可能的原因(列出 2-3 个最可能的)
2. 提供具体的解决方案
3. 解释为什么会出现这个问题
4. 给出预防类似问题的建议
```
---
## 🐛 前端调试
### React 组件问题
```
我的 React 组件出现问题:
组件代码:
```jsx
[粘贴组件代码]
```
问题:[描述问题,如:状态不更新/渲染异常/性能问题]
控制台错误:
```
[粘贴错误]
```
请帮我:
1. 找出问题根源
2. 提供修复后的代码
3. 解释 React 的相关机制
```
### CSS 布局问题
```
我的 CSS 布局有问题:
HTML 结构:
```html
[粘贴 HTML]
```
CSS 样式:
```css
[粘贴 CSS]
```
期望效果:[描述或提供截图链接]
实际效果:[描述或提供截图链接]
请帮我修复布局问题,并解释原因。
```
---
## 🔧 后端调试
### API 接口问题
```
我的 API 接口有问题:
接口代码:
```python
[粘贴代码]
```
请求方式:[GET/POST/PUT/DELETE]
请求 URL[URL]
请求参数:
```json
[]
```
期望响应:
```json
[]
```
实际响应:
```json
[]
```
错误日志:
```
[日志]
```
请帮我定位问题并修复。
```
### 数据库查询问题
```
我的数据库查询有问题:
SQL 语句:
```sql
[ SQL]
```
表结构:
```sql
[]
```
期望结果:[描述]
实际结果:[描述或错误信息]
请帮我:
1. 分析 SQL 问题
2. 提供正确的查询
3. 解释优化建议(如果有性能问题)
```
---
## ⚡ 性能调试
```
我的应用有性能问题:
## 问题表现
- [描述性能问题,如:加载慢/卡顿/内存泄漏]
## 环境信息
- 框架/语言:[如 React/Node.js/Python]
- 数据规模:[如 1000 条数据]
## 相关代码
```
[粘贴可能有问题的代码]
```
## 性能数据(如有)
- 加载时间:[X 秒]
- 内存占用:[X MB]
- CPU 使用:[X%]
请帮我:
1. 分析性能瓶颈
2. 提供优化方案
3. 给出优化后的代码
```
---
## 🔐 安全问题调试
```
请帮我检查这段代码的安全问题:
```
[粘贴代码]
```
请:
1. 列出所有潜在的安全漏洞
2. 按严重程度排序
3. 提供修复建议和代码
4. 解释每个漏洞的危害
```
---
## 💡 调试技巧
### 二分法定位
```
我的代码在某处出错,但不确定具体位置。
完整代码:
```
[粘贴代码]
```
错误表现:[描述]
请帮我用二分法定位问题:
1. 先确定问题在哪个模块/函数
2. 逐步缩小范围
3. 找到具体的问题行
```
### 最小复现
```
我遇到一个难以复现的 Bug
问题描述:[描述]
发生频率:[总是/偶尔/特定条件]
相关代码:
```
[粘贴代码]
```
请帮我:
1. 分析可能的触发条件
2. 构造最小复现代码
3. 提供解决方案
```
---
## 使用建议
1. **提供完整上下文** - 错误信息、代码、环境都要给全
2. **描述清楚预期 vs 实际** - 让 AI 理解差距在哪
3. **列出已尝试的方案** - 避免重复建议
4. **一次只问一个问题** - 聚焦更容易解决
## Init:
请描述你遇到的 Bug。越详细越好。
```