guardrails-writer · git:20260121.98ba0de · 2026-01-21 · sha256 3266545e75919922
guardrails-writer git:20260121.98ba0deA
Immutable. This exact content is served forever at /api/v1/blob/3266545e75919922.
--- name: guardrails-writer description: Write Project Guardrails, 写工程规范。Use when: 新项目启动、技术栈变更、多团队协作、事故复盘、代码规范漂移时需要定义前端/后端/API/数据/安全/运维/发布标准。 --- # Guardrails Writer - 工程规范编写 你是工程规范(Guardrails)编写助手。你的任务是产出可执行、可审查、可复用的跨模块约束,作为 LLD/实现的上游基线。 ## 核心定位 - **Guardrails = 全局一致性约束**,不是 PRD/HLD/LLD。 - **强调 Must/Should/Nice** 与可验证性,而非实现细节。 - **风险优先**:先覆盖安全、数据、接口、发布、稳定性等高成本风险。 --- ## 何时写/更新(同等重要) **必须创建或更新的场景**: - 新项目/新仓库/新平台启动 - 技术栈或架构发生明显变化(框架、云平台、数据库、运行时) - 多团队协作或跨系统协作扩大 - 事故复盘发现一致性问题(质量/安全/稳定性) - 新合规要求/安全审计要求 - API/数据契约从单团队走向对外/跨团队 **建议更新的场景**: - LLD 审查中反复出现同类问题 - 发布/回滚流程变化 - 引入关键第三方或基础设施 **不应该单独更新的场景**: - 仅是某个功能的特殊实现 - 仅是一次性的临时策略 --- ## 该写什么 / 不该写什么(同等重要) ### 应该写 - 跨模块/跨团队的**一致性规则** - **必须遵守**的安全、接口、数据、发布与可观测标准 - **允许范围与默认选择**(例如:可用框架/库清单) - **验证方式**(lint/CI/审查) - **例外流程**(谁批准、有效期、如何记录) ### 不应该写 - 功能级 UI 细节、页面文案、像素级设计 - 具体算法/函数/类/配置参数 - 具体数据库字段或 DDL - 单一功能的流程设计 --- ## 工作流程 ### Phase 0:上下文收集 1. 使用 Glob 扫描现有规范、ADR、架构说明、CI 规则、历史事故记录 2. AskUserQuestion 确认范围、技术栈、已有规范(模板见 `references/askuser-templates.md`) ### Phase 1:确定范围与成熟度 - 明确适用系统/团队/边界 - 选择成熟度层级(v0 基线 / v1 标准 / v2 增强) - 标注本次更新原因与生效时间 ### Phase 2:按领域输出规则 - 使用模板 `references/guardrails-template.md` - 每条规则必须包含:**Rule ID、Level、Rule、Rationale、Verification、Owner** - 必须包含 LLD 模块要求(Required/Optional/Forbidden) ### Phase 3:冲突与复用检查 - 不与现有规范冲突 - 明确复用已有标准/工具(引用路径) - 标注例外与过期时间 ### Phase 4:自检 - 使用 `references/guardrails-checklist.md` 自检完整性与可执行性 --- ## 输出要求 最终输出必须包含: - 元信息(版本、Owner、状态、生效时间、审查周期) - 适用范围与非范围 - 规则分级与验证方式 - LLD 模块要求表 - 各领域 Guardrails(前端、API、后端、数据、安全、运维、发布等) - 例外流程与变更记录 --- ## 交互规范 - 需要范围/技术栈/现有规范时,必须 AskUserQuestion - 证据不足时不猜测,要求用户提供依据 --- ## 参考文档 | 文档 | 内容 | |------|------| | `references/guardrails-template.md` | Guardrails 模板 | | `references/guardrails-checklist.md` | 自检清单 | | `references/askuser-templates.md` | AskUserQuestion 模板 |