Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 3.3 KB

AGENTS.md

File metadata and controls

63 lines (48 loc) · 3.3 KB

Agent 开发规则

适用于在本仓库工作的 Codex、Claude Code 及其他编码 Agent。

开始前

  1. 只选择一个 TODO ID 或一个边界清晰的 Issue。
  2. 阅读目标 Lab 的 README.md、lab.json 和相关规范。
  3. 明确允许修改路径、禁止范围、输入输出、风险和验收标准。
  4. 检查已有改动,不覆盖与任务无关的用户修改。
  5. 涉及框架、部署、模型、数据存储或公共合同的选择时,先检查是否已有 ADR;缺失则停止并提问或先创建 ADR 任务。

产品边界

  • 每个 Lab 必须有无需 AI、无需登录的合成样例模式。
  • AI 不得替代可确定实现的解析、计算、Schema 验证和安全判断。
  • 不把 AI 推断伪装成事实;界面必须区分“规则结果、输入证据、AI 解释、未知项”。
  • 不实现与当前任务无关的登录、支付、社区和数据库功能。
  • 不为了“看起来完整”添加不可运行的占位按钮或虚假数据。

隐私与安全

  • 所有用户输入均不可信,必须防止 XSS、注入、路径穿越和提示注入。
  • 浏览器不得包含模型服务密钥、GitHub 私有 Token 或管理凭据。
  • 原始日志、SMART 输出、仓库内容和生成结果默认不持久化。
  • 不把敏感原文放入 URL、Analytics、错误追踪、服务日志或分享卡片。
  • AI 请求只发送任务所需的最小、已脱敏结构化摘要。
  • 服务端不得记录请求正文;仅记录时间、Lab ID、状态码、耗时、模型代号和 Token 数等元数据。
  • 发现疑似密钥时立即停止传播,只报告类型与位置,不复述内容。
  • 示例只使用 example.com 和 RFC 5737 示例网段。

实现规则

  • 先写类型、Schema、失败行为和测试,再接 UI 或模型。
  • 纯解析/规则逻辑与 UI、网络和 AI Provider 分离。
  • AI 输出必须使用版本化结构化 Schema,并在渲染前验证。
  • 所有网络调用设置超时、有限重试、请求体和响应体上限。
  • 新依赖必须说明用途、维护状态、许可证、包体积和标准能力为何不足。
  • 面向用户文本优先中文;代码、路径、Schema 字段和提交信息使用英文。
  • 页面必须适配手机宽度,支持键盘操作,并考虑 reduced motion。
  • 不通过禁用类型检查、跳过测试或放宽安全规则来通过 CI。

统一验证

  • 依赖只在仓库根目录使用 npm ci 安装,根目录 package-lock.json 是唯一锁文件。
  • 完成 JavaScript/TypeScript/Astro 任务前必须从根目录执行 npm run validate。
  • 本地与 GitHub Actions 使用同一条质量命令,不在 Workflow 维护第二套规则。

每个 Lab 的最低测试

  • 确定性核心单元测试;
  • 有效与无效输入测试;
  • 敏感字段不出现在 URL、日志、导出和 AI 请求中的测试;
  • AI 超时、限流、无效结构化响应和降级测试;
  • 合成样例端到端测试;
  • 移动端关键路径与基础无障碍检查。

提交与完成

  • Conventional Commits:type(scope): summary。
  • 一次变更只解决一个任务,不顺手重构。
  • 公共 Schema 变化必须同步版本、fixture、消费者测试和迁移说明。
  • 完成报告必须包含:变更、验证命令与结果、隐私/成本影响、已知限制和下一条最小任务。