文件
skills/cc-switch-dev-workflow/references/knowledge-base/platform/stack-policy.md
2026-03-26 00:27:17 -07:00

83 行
2.8 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 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-initializing`
- `spec-reviewing`
## Steps
1. 先判断项目是 `Next.js 全栈` 还是 `Hono + React SSR/TanStack`
2. 在允许的轨道内固定 UI、数据层、鉴权、样式和 ORM 方案。
3. 把选型写进 `CLAUDE.md`、Spec 和脚手架说明。
4. 如需偏离白名单,先走 ADR 和审批,再更新模板与执行说明。
## Exit Criteria
- 项目主链路的语言、框架、数据访问、鉴权和样式方案均已固定
- 例外项已被 ADR 化,并同步到模板和执行说明
## Failure Recovery
- 如果 agent 引入未批准语言或框架,停止实现并回退到白名单决策
- 如果项目同时混用多套主路由/状态/ORM 方案,立即收敛为单一路线
## Related Templates
- [`../templates/claude-md-template.md`](../templates/claude-md-template.md)
- [`../templates/spec-template.md`](../templates/spec-template.md)
## 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 约束
- 何时失效:例外只对当前项目或当前子系统生效,不自动扩散为默认规则