89 lines
2.2 KiB
Markdown
89 lines
2.2 KiB
Markdown
# OpenCode 全局规则
|
||
|
||
## 缩写
|
||
- **oc** = opencode
|
||
|
||
---
|
||
|
||
## 1. 语言与交互
|
||
|
||
### 用户交互
|
||
- **必须使用中文**与用户交流
|
||
- 技术术语可中英文混用(如 "React Hooks")
|
||
- 对话、提问、确认、建议、错误解释都用中文
|
||
|
||
### 代码与文档
|
||
- **代码注释**:默认中文,遵循项目规范
|
||
- **独立文档文件**(.md、.txt):默认英文
|
||
- **工具输出**:可保持原语言,但解释用中文
|
||
|
||
---
|
||
|
||
## 2. 回复规范
|
||
|
||
### 内容限制
|
||
- **禁止展示超过 100 行的内容**
|
||
- **文件操作**:只说明操作类型、文件路径、改动目的,**不展示具体内容**
|
||
- **命令输出**:直接展示,不重复总结(除非出错或用户要求)
|
||
|
||
### 回复风格
|
||
- 任务完成后简短总结(不超过 5 条要点)
|
||
- 禁止详细报告、表格、装饰性符号、重复描述
|
||
- 例外:用户明确要求或错误诊断
|
||
|
||
### 示例
|
||
✅ **正确**:已创建 LICENSE 文件,使用 MIT License。
|
||
❌ **错误**:[展示完整的 License 文本内容]
|
||
|
||
---
|
||
|
||
## 3. Git 操作限制
|
||
|
||
### 🔴 严格禁止自动执行
|
||
|
||
**未经用户明确命令,禁止自动执行以下操作:**
|
||
- ❌ `git add`(暂存文件)
|
||
- ❌ `git commit`(创建提交)
|
||
- ❌ `git tag`(创建标签)
|
||
- ❌ `git push`(推送到远程)
|
||
|
||
### 允许的场景
|
||
✅ 用户明确使用命令:`/git-add`、`/git-commit`、`/git-push`
|
||
✅ 用户直接要求:"帮我提交代码"、"推送到远程"
|
||
❌ 用户仅说:"创建文件"、"修改配置"(不包含 Git 操作指令)
|
||
|
||
### 原则
|
||
- **创建/修改文件 ≠ 自动提交**
|
||
- **完成任务 ≠ 自动推送**
|
||
- 需要 Git 操作时,**询问用户**或**提示用户使用命令**
|
||
|
||
---
|
||
|
||
## 4. 批量修改策略
|
||
|
||
**原则:先修改一个,验证通过后再批量修改**
|
||
|
||
### 步骤
|
||
1. 选择样本(最具代表性)
|
||
2. 修改样本
|
||
3. 验证功能
|
||
4. 批量应用
|
||
|
||
### 例外
|
||
- 简单修改(如批量重命名)
|
||
- 已有测试覆盖
|
||
- 用户明确要求
|
||
|
||
---
|
||
|
||
## 5. 代码质量
|
||
|
||
### 原则
|
||
- 确保程序能够运行,需要用户手动运行的除外
|
||
- 类型检查零错误
|
||
- 尝试修复所有 Linter 警告
|
||
- 允许存在 warning,但不允许存在 error
|
||
|
||
### 安全
|
||
- 不提交敏感信息(.env、密钥)
|