feat(projects): add interactive AI app scaffold skill

This commit is contained in:
2026-09-04 20:36:28 +08:00
parent 336e0bb0ca
commit 959b6333b5
40 changed files with 2647 additions and 65 deletions

View File

@@ -0,0 +1,45 @@
# 交互式 AI 应用统一类型提案
## 文档信息
- 状态:Proposed,等待 Integration Gate 提升
- 所有者:`20260904-project-scaffold-implementation-7e4c2a91`
- 日期:2026-09-04
- 影响范围:项目创建、项目配置读取、脚手架、发布打包与作品元数据
## 决策
新建项目的唯一可发布类型改为:
- 稳定标识:`interactive_ai_app`
- 展示名称:`交互式 AI 应用`
`mini_game` 与 `mini_program` 不再出现在新建入口,也不再由新客户端写入。两者作为历史只读别名,在项目配置读取边界统一归一化为 `interactive_ai_app`,不批量改写用户已有的 `.makelore/project.json`。归一化后的打包清单和后续提交元数据只输出规范值。
`custom` 仍是独立的工作空间类型,并继续禁止进入平台的一键发布流程。
## 脚手架与发布合同
- 脚手架只维护一套通用 Vite 静态应用模板,不再按小游戏/小程序维护两套业务模板。
- 历史项目调用脚手架时使用相同的统一模板,脚本返回规范类型,但保留原始项目元数据。
- 固定 npm/Vite 构建、静态产物合同、浏览器预检、上传和审批要求不因类型合并而放宽。
- 平台服务应先兼容接收三个值并统一输出 `interactive_ai_app`,再发布只写规范值的新客户端,以支持滚动升级。
## 兼容与迁移边界
- 不执行数据库或本地配置的批量历史迁移。
- 不增加版本开关、双写、模板迁移框架或类型特有构建分支。
- 旧客户端上传 `mini_game` / `mini_program` 时,服务端在校验边界接受并归一化;`custom`、未知值仍拒绝。
- 历史发布记录保持不可变;公开读取和信息流投影使用规范类型。
## 被取代的语义
本提案在集成后取代既有文档中“小游戏与小程序是两个可发布项目类型”以及“二者分别生成不同模板”的部分。既有关于静态 Vite 发布、安全预检、制品不可变与审批流程的约束继续有效。
## 验收
- 新建界面只显示“交互式 AI 应用”和“自定义项目”。
- 新建可发布项目落盘 `interactive_ai_app`,脚手架生成统一模板。
- 两种历史配置均可打开和发布,原配置文件不会仅因读取而被改写。
- 客户端清单、上传元数据和平台公开投影均使用 `interactive_ai_app`。
- `custom` 与未知类型仍被拒绝发布。