Files
opencode/AGENTS.md

3.9 KiB
Raw Blame History

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
  • 格式:<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

状态

  • pendingin_progresscompletedcancelled

8. 代码质量

测试

  • 新功能必须包含测试
  • 覆盖率 ≥ 50%

构建

  • 类型检查零错误
  • 修复所有 Linter 警告

安全

  • 不提交敏感信息(.env、密钥
  • 输入验证和输出编码

快速参考

场景 操作
用户说"创建文件" 创建文件,不自动提交
用户说"提交代码" 可以执行 git commit
用户使用 /git-push 执行完整推送流程
创建超过 100 行的文件 只说明路径和用途,不展示内容
命令输出已完整 直接展示,不重复总结
批量修改 10 个文件 先改 1 个验证,再批量

详细指南:

  • Git 工作流:skill/git/SKILL.md
  • Gitea 集成:skill/gitea/SKILL.md
  • 开发规范:各 skill/*/SKILL.md