docs: 更新 PERDAS 开发流程到长期记忆
- 添加 PERDAS 增强版开发流程完整记录 - 详细记录每次会话开始和开发功能的步骤 - 记录强约束指令和正确行为 - 记录重要文件说明和错误处理 - 添加关键命令速查表 确保后续开发时能遵循 PERDAS 开发流程
This commit is contained in:
270
PERDAS-GUIDE.md
Normal file
270
PERDAS-GUIDE.md
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
# 🎯 PERDAS 增强版快速开始指南
|
||||||
|
|
||||||
|
欢迎使用 PERDAS 增强版开发模式!本指南帮助你快速上手。
|
||||||
|
|
||||||
|
## 📋 5 分钟快速启动
|
||||||
|
|
||||||
|
### 第一步:启动开发环境
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /root/.openclaw/workspace/stock-tool
|
||||||
|
./init.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**预期输出**:
|
||||||
|
```
|
||||||
|
🚀 启动 Stock Tool 开发环境...
|
||||||
|
✅ 服务器启动成功!
|
||||||
|
🌐 地址: http://localhost:8080
|
||||||
|
💡 下一步:
|
||||||
|
1. 在浏览器访问 http://localhost:8080
|
||||||
|
2. 运行 ./scripts/health-check.sh 进行健康检查
|
||||||
|
```
|
||||||
|
|
||||||
|
### 第二步:健康检查
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./scripts/health-check.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**预期输出**:
|
||||||
|
```
|
||||||
|
📊 健康检查总结
|
||||||
|
通过: 25
|
||||||
|
失败: 0
|
||||||
|
总计: 25
|
||||||
|
✨ 所有检查通过!开发环境正常。
|
||||||
|
```
|
||||||
|
|
||||||
|
### 第三步:端到端测试
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./scripts/e2e-test.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**预期输出**:
|
||||||
|
```
|
||||||
|
✅ 所有测试通过!
|
||||||
|
💡 提示: 测试截图已保存到 tests/screenshots/
|
||||||
|
```
|
||||||
|
|
||||||
|
### 第四步:查看功能清单
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat feature_list.json
|
||||||
|
```
|
||||||
|
|
||||||
|
你会看到 6 个功能,5 个已完成:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"summary": {
|
||||||
|
"total": 6,
|
||||||
|
"completed": 5,
|
||||||
|
"in_progress": 1,
|
||||||
|
"pending": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 第五步:开发新功能
|
||||||
|
|
||||||
|
**当前进行中的功能**:
|
||||||
|
- feat-006: 数据刷新功能
|
||||||
|
|
||||||
|
**开发步骤**:
|
||||||
|
1. 查看 feature_list.json 中 feat-006 的 steps
|
||||||
|
2. 使用浏览器访问 http://localhost:8080
|
||||||
|
3. 手动测试功能
|
||||||
|
4. 更新 feature_list.json(修改 passes: true)
|
||||||
|
5. 提交代码
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 标准工作流程
|
||||||
|
|
||||||
|
### 每次会话开始时
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 确认目录
|
||||||
|
pwd
|
||||||
|
# 输出: /root/.openclaw/workspace/stock-tool
|
||||||
|
|
||||||
|
# 2. 启动环境
|
||||||
|
./init.sh
|
||||||
|
|
||||||
|
# 3. 健康检查
|
||||||
|
./scripts/health-check.sh
|
||||||
|
|
||||||
|
# 4. 查看进度
|
||||||
|
cat PROGRESS.md
|
||||||
|
|
||||||
|
# 5. 查看功能清单
|
||||||
|
jq '.features[] | select(.status=="in_progress")' feature_list.json
|
||||||
|
```
|
||||||
|
|
||||||
|
### 开发功能时
|
||||||
|
|
||||||
|
1. **阅读步骤**
|
||||||
|
```bash
|
||||||
|
jq '.features[] | select(.id=="feat-006")' feature_list.json
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **实现功能**
|
||||||
|
- 修改代码
|
||||||
|
- 测试功能
|
||||||
|
- 验证效果
|
||||||
|
|
||||||
|
3. **运行测试**
|
||||||
|
```bash
|
||||||
|
./scripts/e2e-test.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **保存截图**
|
||||||
|
```bash
|
||||||
|
# 在浏览器中测试后截图
|
||||||
|
cp screenshot.png tests/screenshots/feat-006-xxx.png
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **更新状态**
|
||||||
|
```bash
|
||||||
|
# 修改 feature_list.json
|
||||||
|
jq '.features[] | select(.id=="feat-006") | .passes = true' feature_list.json > tmp.json && mv tmp.json feature_list.json
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **更新进度文件**
|
||||||
|
```bash
|
||||||
|
vim PROGRESS.md
|
||||||
|
```
|
||||||
|
|
||||||
|
7. **提交代码**
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "feat: 完成 feat-006 数据刷新功能"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 重要文件说明
|
||||||
|
|
||||||
|
| 文件 | 用途 | 修改规则 |
|
||||||
|
|------|------|----------|
|
||||||
|
| `feature_list.json` | 功能清单 | **仅修改** `passes` 字段 |
|
||||||
|
| `PROGRESS.md` | 进度跟踪 | 每会话更新 |
|
||||||
|
| `init.sh` | 环境启动 | 必要时更新 |
|
||||||
|
| `.gitignore` | 忽略规则 | 必要时更新 |
|
||||||
|
| `README.md` | 项目文档 | 必要时更新 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ 强约束指令(必须遵守)
|
||||||
|
|
||||||
|
> **It is unacceptable to remove or edit tests because this could lead to missing or buggy functionality.**
|
||||||
|
|
||||||
|
### 绝对禁止的行为:
|
||||||
|
|
||||||
|
- ❌ 删除或修改测试用例
|
||||||
|
- ❌ 删除或修改其他功能的代码
|
||||||
|
- ❌ 修改 `feature_list.json` 中除 `passes` 字段外的任何内容
|
||||||
|
- ❌ 未通过端到端测试就标记完成
|
||||||
|
- ❌ 未保存截图证据就标记完成
|
||||||
|
|
||||||
|
### 正确的行为:
|
||||||
|
|
||||||
|
- ✅ 只修改当前要开发的功能
|
||||||
|
- ✅ 功能完成后运行端到端测试
|
||||||
|
- ✅ 测试通过后保存截图
|
||||||
|
- ✅ 更新 `feature_list.json` 的 `passes` 字段
|
||||||
|
- ✅ 更新 `PROGRESS.md` 记录本次工作
|
||||||
|
- ✅ 提交 Git commit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🐛 错误处理
|
||||||
|
|
||||||
|
### 服务器未运行
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./init.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### 测试失败
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看服务器日志
|
||||||
|
cat logs/server.log
|
||||||
|
|
||||||
|
# 检查 API 是否正常
|
||||||
|
curl http://localhost:8080/api/stocks
|
||||||
|
|
||||||
|
# 重新测试
|
||||||
|
./scripts/e2e-test.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git 冲突
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch origin
|
||||||
|
git rebase origin/main
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📖 相关文档
|
||||||
|
|
||||||
|
- **完整文档**: README.md
|
||||||
|
- **进度跟踪**: PROGRESS.md
|
||||||
|
- **功能清单**: feature_list.json
|
||||||
|
- **健康检查**: scripts/health-check.sh
|
||||||
|
- **端到端测试**: scripts/e2e-test.sh
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 常用命令速查
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 启动环境
|
||||||
|
./init.sh
|
||||||
|
|
||||||
|
# 健康检查
|
||||||
|
./scripts/health-check.sh
|
||||||
|
|
||||||
|
# 端到端测试
|
||||||
|
./scripts/e2e-test.sh
|
||||||
|
|
||||||
|
# 查看功能
|
||||||
|
jq '.features[] | select(.status=="in_progress")' feature_list.json
|
||||||
|
|
||||||
|
# 查看提交历史
|
||||||
|
git log --oneline -10
|
||||||
|
|
||||||
|
# 提交更改
|
||||||
|
git add .
|
||||||
|
git commit -m "feat: 描述"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 开始你的第一个功能
|
||||||
|
|
||||||
|
当前进行中的功能:**feat-006 - 数据刷新功能**
|
||||||
|
|
||||||
|
按照以下步骤开始:
|
||||||
|
|
||||||
|
1. 查看功能详情:
|
||||||
|
```bash
|
||||||
|
jq '.features[] | select(.id=="feat-006")' feature_list.json
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 启动服务器并测试:
|
||||||
|
```bash
|
||||||
|
./init.sh
|
||||||
|
http://localhost:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 完成功能开发并更新状态
|
||||||
|
|
||||||
|
祝你开发顺利!🚀
|
||||||
Reference in New Issue
Block a user