适用于在本仓库工作的 Codex、Claude Code 及其他编码 Agent。
- 只选择一个 TODO ID 或一个边界清晰的 Issue。
- 阅读目标 Lab 的
README.md、lab.json和相关规范。 - 明确允许修改路径、禁止范围、输入输出、风险和验收标准。
- 检查已有改动,不覆盖与任务无关的用户修改。
- 涉及框架、部署、模型、数据存储或公共合同的选择时,先检查是否已有 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 维护第二套规则。
- 确定性核心单元测试;
- 有效与无效输入测试;
- 敏感字段不出现在 URL、日志、导出和 AI 请求中的测试;
- AI 超时、限流、无效结构化响应和降级测试;
- 合成样例端到端测试;
- 移动端关键路径与基础无障碍检查。
- Conventional Commits:
type(scope): summary。 - 一次变更只解决一个任务,不顺手重构。
- 公共 Schema 变化必须同步版本、fixture、消费者测试和迁移说明。
- 完成报告必须包含:变更、验证命令与结果、隐私/成本影响、已知限制和下一条最小任务。