唯一编排件 (apply)
在 Atlas 中,各个环(Structure、PRD、E2E)各自独立且自洽,而 atlas-apply 是全流程中唯一的跨环编排件。
它负责将一条具体的需求,精确、可重放、带门禁地编译并灌入项目级应然资产中。
💡 重要概念澄清:
apply是一套由 AI Coding Agent(如 Claude Code / Cursor / OpenCode)在会话中执行的认知编排技能(Skill),依赖.atlas/apply/reference.md契约。终端无独立的atlas apply命令行脚本,它通过自然语言大白话或平台命令/atlas-apply <模式>在 Agent 会话内唤起。
1. 四大运行模式
| 模式 | 会话原语 (Agent 内部) | 触发场景 | 执行链条 |
|---|---|---|---|
| 需求增量 | atlas-apply <需求ID> | 日常开发新需求(95% 场景) | 过三问门 ──► 推导受影响域 ──► prd → e2e 增量更新 ──► 跑门禁并生成报告 |
| 存量开户 | atlas-apply adopt | 老项目第一次接入 Atlas | 仅跑结构逆向抽取,PRD 建最小开户登记集,不猜虚拟 E2E |
| 全量构建 | atlas-apply all | 全新项目从零立项 | 严格按顺序串行跑通 structure → prd → e2e,支持幂等与断点续跑 |
| 反向回流 | atlas-apply backfill | 实现期发现上游规则遗漏 | 不偷改文档;将上游缺陷入队,攒批(≤10条)回填 PRD/用例并重跑全部门禁 |
2. 自然语言触发支持
为了做到零心智负担,用户根本无需死记具体的技能参数,在聊天框中直接说大白话即可:
text
🗣️ 用户:“帮我把这个项目接入 Atlas 工作流”
🤖 Agent 内部唤起技能:/atlas-apply adopt
🗣️ 用户:“跑一下三环全量构建,重置全部应然基线”
🤖 Agent 内部唤起技能:/atlas-apply all
🗣️ 用户:“把这周发现的上游 PRD 缺口攒批回填一下”
🤖 Agent 内部唤起技能:/atlas-apply backfill3. 三问门分流机制 (The 3-Question Gate)
在需求增量模式中,为了防止文档无意义膨胀,apply 会先对需求卡(prd.md)进行三问判定:
- 是否改动了既有系统能力?(修改了原有业务逻辑、规则或交互边界);
- 是否需要人类确认新的 UI 呈现?(新增页面、改动组件、样式变更、交互流重塑);
- 该功能是否需要可重复的端到端自动化验收?(属于核心用户旅程或易回归路径)。
- 三问任一为“是”:必须执行标准的
prd → e2e资产编译,产出页面分片用例与 testid 清单; - 三问全为“否”(如纯后端内部算法重构、日志级别调整):走极简旁路,只记录结构事实,不强行制造空 E2E 用例。
4. 两条合法旁路
三问门不是“要不要跑流程”的开关,而是“这一条需求拉起哪些环”的分流器。两种情况不走环,但都是合法路径,不是绕过:
| 旁路 | 场景 | 走法 |
|---|---|---|
| 4a 有需求、三问全否 | 纯加法改动、内部重构、日志级别调整 | 不拉任何环:在 atlas-apply.md 写明「本需求判定:纯加法 / 不启用三环」+ 判定依据,直接进实现 |
| 4b 无需求、只改应然资产 | 评审期修订 PRD / 用例(不来自某条需求) | 不建需求卡、不建任务,按 prd → e2e 逐环跑受影响集合;清单落 product/reviews/<日期>-<主题>/,禁子任务树 |
4b 的例外额度:评审期
validate_testids允许红(应然先行、实现未跟上),但收口前必须绿。
