peixue-dev/.kiro/steering/工作原则.md

234 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
inclusion: always
---
# Kiro AI 工作原则
## 原则1确认需求再执行
**核心思想:** 信息不完整时,先确认再行动。
### 应用场景
#### ❌ 错误做法
- 用户说"修复这个bug" → 直接开始修改代码
- 用户说"部署到服务器" → 直接执行部署命令
- 用户说"优化性能" → 直接开始优化
#### ✅ 正确做法
- 用户说"修复这个bug"
**先确认**具体是哪个bug复现步骤是什么错误信息是什么
- 用户说"部署到服务器"
**先确认**:服务器地址是什么?部署到哪个环境(开发/测试/生产)?使用什么部署方式?
- 用户说"优化性能"
**先确认**:性能瓶颈在哪里?优化目标是什么?当前性能指标是多少?
### 实施步骤
1. **识别模糊需求** - 判断用户需求是否明确
2. **提出确认问题** - 列出需要确认的关键信息
3. **等待用户回复** - 不要猜测或假设
4. **确认后执行** - 获得明确信息后再开始工作
---
## 原则2文件分类与归档管理
**核心思想:** 项目无关的临时文件要分类标记和归档。
### 文件分类标记
#### 🏷️ [一次性] 标记
**适用文件类型:**
- ✅ SQL查询测试文件
- ✅ 总结文档(看一次就不再看)
- ✅ 测试数据JSON文件
- ✅ 临时修复脚本(.bat, .sh等
- ✅ 调试日志文件
- ✅ 临时说明文档
- ✅ 问题诊断文件
**命名规范:**
```
[一次性]文件名.扩展名
```
**示例:**
```
[一次性]测试订单查询.sql
[一次性]功能分析报告.md
[一次性]测试用户数据.json
[一次性]修复编译错误.bat
```
#### 🏷️ [重要] 标记
**适用文件类型:**
- ✅ 用户特别强调的文档
- ✅ 关键配置说明
- ✅ 重要的技术方案
- ✅ 架构设计文档
- ✅ 生产环境部署指南
**命名规范:**
```
[重要]文件名.扩展名
```
**示例:**
```
[重要]支付系统架构设计.md
[重要]生产环境部署指南.md
[重要]数据库迁移方案.md
```
### 归档目录结构
```
项目根目录/
└── Archive/
├── 一次性文件/ # 临时文件
│ ├── [一次性]xxx.sql
│ ├── [一次性]xxx.md
│ └── [一次性]xxx.json
└── 重要文件/ # 重要文档
├── [重要]xxx.md
└── [重要]xxx.pdf
```
### Git忽略规则
`.gitignore` 中添加:
```gitignore
# 一次性文件(测试、总结文档、临时脚本等)
Archive/一次性文件/
```
### 实施步骤
1. **创建归档目录**
```bash
mkdir -p Archive/一次性文件
mkdir -p Archive/重要文件
```
2. **标记文件**
- 创建文件时添加 `[一次性]``[重要]` 前缀
3. **移动到归档**
- 将标记的文件移动到对应的归档目录
4. **配置Git忽略**
- 更新 `.gitignore` 忽略一次性文件目录
---
## 原则3理解功能逻辑
**核心思想:** 充分理解现有功能后再修改。
### 工作流程
#### 1. 查找相关代码
```
用户说"优化学习记录功能"
搜索关键词StudyLearningRecord, learning_record, 学习记录
找到相关文件和代码
```
#### 2. 理解当前实现
```
阅读代码 → 理解逻辑 → 总结功能
当前实现每次上报时更新learning_record和learning_detail
```
#### 3. 分析使用场景
```
场景分析学生观看视频时每10秒上报一次进度
数据流:前端 → API → Service → Database
```
#### 4. 确认理解
```
向用户确认:
"我理解的功能是这样的:
1. 学生观看视频时每10秒上报一次
2. 后端更新learning_record表记录总进度
3. learning_detail表记录每次上报的详细信息
这样理解对吗?"
```
#### 5. 讨论优化方案
```
确认理解无误后 → 提出优化建议 → 讨论实施方案
```
### 实施步骤
1. **搜索关键代码** - 使用grepSearch查找相关文件
2. **阅读理解** - 仔细阅读代码逻辑
3. **总结功能** - 用简洁的语言总结当前实现
4. **分析场景** - 理解功能的使用场景和数据流
5. **确认理解** - 向用户确认理解是否正确
6. **提出方案** - 基于理解提出修改或优化方案
### 示例对比
#### ❌ 错误做法
```
用户:"优化学习记录功能"
AI好的我直接修改代码...(开始修改)
```
#### ✅ 正确做法
```
用户:"优化学习记录功能"
AI让我先查找和理解当前的学习记录功能...
[搜索代码]
找到了StudyLearningRecord相关代码
[理解逻辑]
当前实现:
1. 学生观看视频时每10秒上报一次进度
2. 后端更新learning_record表记录总进度
3. learning_detail表记录每次上报的详细信息
[确认理解]
我理解的功能是这样的,对吗?
[等待确认]
用户确认后,我们再讨论优化方案
```
---
## 📋 工作检查清单
在开始任何工作前,检查:
- [ ] **原则1** - 需求是否明确?是否需要确认?
- [ ] **原则2** - 创建的文件是否需要标记和归档?
- [ ] **原则3** - 是否充分理解了现有功能?
---
## 💡 记住
1. **不确定就问** - 永远不要猜测用户需求
2. **保持整洁** - 临时文件要归档,不要污染项目
3. **先理解再动手** - 理解现有逻辑是修改的前提
这些原则帮助我们:
- ✅ 减少误解和返工
- ✅ 保持项目整洁
- ✅ 避免破坏现有功能
- ✅ 提高工作效率