2.8 KiB
2.8 KiB
Platform Policy: Stack Whitelist
Purpose
定义 v1 默认技术栈白名单、禁用项和例外审批接口,避免让 agent 在项目主链路上随机选型。
When to Use
- 新项目立项时
- 老项目需要补一套统一技术栈约束时
- agent 要新增框架、语言或关键基础设施时
Inputs
- 项目类型
- 产品形态
- 现有遗留约束
- 性能与交付要求
Outputs
- 允许的主链路技术栈
- 禁用项
- 例外审批流程
Primary Agent/Model
GPT-5.4 Pro xhigh
Secondary Agent/Model
Claude Opus 4.6
Required Skills
ralphy-initializingspec-reviewing
Steps
- 先判断项目是
Next.js 全栈还是Hono + React SSR/TanStack。 - 在允许的轨道内固定 UI、数据层、鉴权、样式和 ORM 方案。
- 把选型写进
CLAUDE.md、Spec 和脚手架说明。 - 如需偏离白名单,先走 ADR 和审批,再更新模板与执行说明。
Exit Criteria
- 项目主链路的语言、框架、数据访问、鉴权和样式方案均已固定
- 例外项已被 ADR 化,并同步到模板和执行说明
Failure Recovery
- 如果 agent 引入未批准语言或框架,停止实现并回退到白名单决策
- 如果项目同时混用多套主路由/状态/ORM 方案,立即收敛为单一路线
Related Templates
Default Whitelist
- 语言:
TypeScript - UI:
React - 样式:
Tailwind CSS - 组件:
shadcn/ui - 鉴权:
Better Auth - 数据获取:
TanStack Query - 路由:
TanStack Router或Next.js App Router,按轨道二选一 - 服务层:
Hono或Next.js route handlers / server actions,按轨道二选一 - ORM:
Drizzle - 数据库:
PostgreSQL
Default Track Preference
- 默认优先:
Hono + React SSR/TanStack - 条件允许时可选:
Next.js 全栈
Hard Bans On The Application Main Path
- 禁止
Python作为产品应用主链路语言 - 禁止
PHP作为产品应用主链路语言 - 禁止无类型的
JavaScript-only作为默认实现路线 - 禁止未经 ADR 批准的第二套路由、鉴权、ORM 或样式体系并存
Allowed Exceptions
- 既有遗留系统必须兼容,且短期无法迁移
- 明确的第三方平台限制只支持某一特定方案
- 已被性能分析证明主链路栈无法满足约束
- 一次性离线工具、迁移脚本或数据清洗脚本
Exception Interface
- 谁批准:项目 owner + 技术负责人
- 需要补什么:ADR、
CLAUDE.md更新、相关 Spec 更新 - 要同步哪里:playbook 说明、模板默认值、handoff 约束
- 何时失效:例外只对当前项目或当前子系统生效,不自动扩散为默认规则