# 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/) - 格式:`(): `(中文) - 类型: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`