# 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、密钥)