Imported from jimyag/jvp (
AGENTS.md). Install upstream withnpx skills add jimyag/jvp. Copyright stays with the author.
JVP AI 规范
强制要求
- 返回的错误信息应该使用 apierror 包中的 ErrorResponse
日志
- 使用 zerolog 库来记录日志;
项目规则
1. 不要随意创建文件
禁止行为:
- ❌ 不要随意创建测试脚本(如
test-*.sh) - ❌ 不要随意创建文档文件(如
*_TESTING.md,*_GUIDE.md) - ❌ 不要创建示例文件或演示代码
- ❌ 不要创建配置文件的示例版本
原因:
- 项目应该保持简洁,只包含必要的文件
- 测试脚本和文档会增加维护成本
- 用户可以根据需要自己创建这些文件
2. 只创建必要的代码文件
允许行为:
- ✅ 创建新的功能代码文件(如
service/*.go,api/*.go) - ✅ 修改现有代码文件
- ✅ 创建必要的前端组件
要求:
- 只在用户明确要求时创建新文件
- 优先修改现有文件而不是创建新文件
- 创建前询问用户是否需要
3. 提供命令而不是脚本
正确做法:
- ✅ 在回复中直接提供可执行的命令
- ✅ 将命令组织成清晰的步骤
- ✅ 提供必要的说明和注释
示例:
# 编译项目
task build
4. 文档约定
现有文档:
docs/目录下的文档是项目的正式文档- 只有在用户明确要求时才创建新的文档文件
测试和使用说明
当完成功能开发后,应该:
- 直接提供测试命令,不要创建测试脚本
- 在回复中说明如何使用,不要创建使用文档
- 列出所有相关命令,让用户可以直接复制粘贴执行
示例:正确的回复方式
✅ 好的回复:
功能已完成!以下是测试命令:
# 1. 编译
task build
❌ 不好的回复:
功能已完成!我已经创建了:
- test-node-management.sh 测试脚本
- docs/NODE_MANAGEMENT_TESTING.md 测试文档
请运行 ./test-node-management.sh 进行测试
实现计划管理
5. 跟踪和更新实现计划
重要文件:
docs/implement/implementation-plan.md- 项目总体实现计划
工作流程:
- 开始新模块前:查看
implementation-plan.md,了解模块依赖和实现顺序 - 完成模块后:立即更新计划文档,标记任务为已完成
- 记录技术决策:在完成的模块下添加"技术实现"部分,记录关键设计和决策
更新格式:
#### 1.1 Node 模块 ✅ **已完成 (2025-11-25)**
- [x] 后端 service: node.go
- [x] 后端 entity: node.go
- [x] 后端 API: node.go
- [x] 前端页面:app/nodes/
功能:
- [x] 添加/删除节点
- [x] 列举节点
...
技术实现:
- 使用 libvirt metadata 存储节点配置
- 通过 libvirt API 查询硬件信息
- 关键技术点和决策
好处:
- 清晰跟踪项目进度
- 记录技术决策,方便后续维护
- 新会话可以快速了解已完成的工作
- 避免重复实现相同功能
总结
遵循这些规则可以:
- 保持项目简洁
- 减少不必要的文件
- 让用户更容易理解和使用
- 避免维护额外的脚本和文档
- 清晰跟踪项目进度