Files
opencode/AGENTS.md

158 lines
3.9 KiB
Markdown
Raw 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.
# 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. 开发规范
### Git 提交
- 遵循 [Conventional Commits](https://www.conventionalcommits.org/)
- 格式:`<type>(<scope>): <subject>`(中文)
- 类型feat、fix、docs、style、refactor、test、chore、ci、build、perf
- 主分支:`main`
详见 `skill/git/SKILL.md`
### 代码风格JavaScript/TypeScript
- 缩进2 空格
- 分号:使用
- 引号:双引号
- 命名camelCase、PascalCase、UPPER_SNAKE_CASE
### 分支命名
- `feature/描述``fix/描述``docs/描述`
---
## 5. 批量修改策略
**原则:先修改一个,验证通过后再批量修改**
### 步骤
1. 选择样本(最具代表性)
2. 修改样本
3. 验证功能
4. 批量应用
5. 最终验证
### 例外
- 简单修改(如批量重命名)
- 已有测试覆盖
- 用户明确要求
---
## 6. 工具使用策略
| 工具 | 用途 |
|------|------|
| **Task** | 探索代码库、多步骤分析、全局搜索 |
| **Bash** | Git 操作、构建、测试命令 |
| **Read/Edit/Write** | 文件读写(不用 cat/sed/echo |
| **Glob/Grep** | 文件查找和内容搜索 |
| **TodoWrite** | 任务管理(超过 3 步必须使用) |
---
## 7. 任务管理
### TodoWrite 使用原则
- 任务超过 3 步时创建 todo 列表
- 立即标记完成(不批量完成)
- 同时只有 1 个 `in_progress`
### 状态
- `pending``in_progress``completed``cancelled`
---
## 8. 代码质量
### 测试
- 新功能必须包含测试
- 覆盖率 ≥ 50%
### 构建
- 类型检查零错误
- 修复所有 Linter 警告
### 安全
- 不提交敏感信息(.env、密钥
- 输入验证和输出编码
---
## 快速参考
| 场景 | 操作 |
|------|------|
| 用户说"创建文件" | 创建文件,**不自动提交** |
| 用户说"提交代码" | 可以执行 `git commit` |
| 用户使用 `/git-push` | 执行完整推送流程 |
| 创建超过 100 行的文件 | 只说明路径和用途,**不展示内容** |
| 命令输出已完整 | 直接展示,**不重复总结** |
| 批量修改 10 个文件 | 先改 1 个验证,再批量 |
---
详细指南:
- Git 工作流:`skill/git/SKILL.md`
- Gitea 集成:`skill/gitea/SKILL.md`
- 开发规范:各 `skill/*/SKILL.md`