5.9 KiB
5.9 KiB
crearte 路线图 / Roadmap
跨三个仓库(crearte 前端 / crearte-server 后端 / crearte-deploy 编排)的子项目路线图与索引,维护在 monorepo wrapper(本仓库)。
- 版本 v0:2026-09-29 与维护者确认的分解与顺序。
- 现状基线:crearte 0.13.0 / crearte-server 0.11.0 / crearte-deploy 0.3.1。
分解原则
- 按「依赖关系 + 是否阻塞上线」排序;每个子项目的规模控制在一份 spec 能装下。
- 每个子项目独立走 spec → 实现计划 → 实现 → 验证 的循环。
- 隐藏复杂度出现时升级路径(拆出新子项目),不硬塞进当前子项目。
第一波:上线底座(运维 / 可靠性,顺序敏感)
| # | 子项目 | 内容 | 涉及仓库 | 依赖 | 状态 |
|---|---|---|---|---|---|
| P0 | 已知缺陷清理 | ① CORS Access-Control-Allow-Headers 补 If-None-Match(解锁 e2e:stack Step5:revoke 410 + 降级)② 清理 compose 配置漂移(BUNDLE_KEY_STORE 环境变量、bundle-keys-* 卷——密钥自 server 0.6.0 起在 Postgres)③ crearte-deploy CHANGELOG 补账 |
server, deploy | 无 | 完成(server a8ea755 / deploy 27044be,2026-09-29 合并推送) |
| P1 | prod 写侧可用 | prod 栈补对象存储(prod MinIO 或外部 S3)+ api-prod 配 STORAGE_S3_* / GAMES_BASE_DOMAIN / CORS_ALLOWED_ORIGINS;密码默认值、TLS 起步。现状:prod 无对象存储时写侧路由(上传/投稿/审核/预览)不注册,生产只读 |
deploy(少量 server) | P0 | 完成(crearte 63bb96d / deploy 4d53d58,2026-09-29 合并推送;TLS 与真域名留清单,见 spec §6) |
| P2 | CI + 测试基线 | 后端 / 部署仓建 CI(gofmt/vet/test + TEST_DATABASE_URL 集成层 + e2e:stack 全链路);与前端已有 validate.yml 对齐。现状:后端/部署仓无 CI,Postgres 集成测试无 TEST_DATABASE_URL 时静默 skip |
三仓 | P0(e2e 依赖其修复) | 完成(server 7b97108 / crearte 711b6de / deploy 522545d,2026-09-30 合并推送;e2e-stack 宿主仓修订见 spec §2.2;首跑拓出 serve-runtime 子域缺陷已修(5e0fb2e);Actions 启用与分支保护为 owner 手动尾巴,见 spec §2.4) |
| P3 | 备份 + 可观测 | pg_dump 定时备份 + MinIO 数据保护 + 恢复演练 runbook;结构化 / 请求日志 + /metrics;限流器单实例问题记录权衡 |
server, deploy | P1(拓扑定型) | 待启动 |
第二波:产品价值(可与第一波部分并行)
| # | 子项目 | 内容 | 涉及仓库 | 依赖 | 状态 |
|---|---|---|---|---|---|
| P4 | 作者主页 | /users/:user 聚合页(该作者全部已上架作品,前端按命名空间过滤,零后端改动),按最新上架排序;顺带 /games/:user/:slug 面包屑与作者名互链。spec:docs/specs/2026-09-29-author-page-design.md |
crearte(前端) | 无强依赖,可提前并行 | 完成(crearte f12cbf1,2026-09-29 合并推送) |
| P5 | 收藏 / 评分 | 新数据表 + 用户态 API + 目录/详情页 UI;产品线里最大的一块 | 三仓 | 建议 P2 先落地 | 完成(server e3da246 / crearte eb5fbed,2026-09-30 合并推送;范围修订 deploy 零改动,见 spec) |
| P6 | hosted 作品投稿 | 范围模糊,需先定义 hosted 托管语义(只存 URL 还是真托管文件),再定投稿/审核流 | 三仓 | 需先决策 | 待澄清 |
第三波:治理与长尾(随时可插队)
| # | 子项目 | 内容 | 状态 |
|---|---|---|---|
| P7 | 管理后台增强 | 用户列表 / 角色管理 UI(替代 CLI user set-role)+ 审计日志 |
待启动 |
| P8 | 长尾打包 | 权限开关 UI 全量(inlineStyle/wasm/coop/fullscreen/gamepad)、后端 triage 小项(games.Detail 400 细分、admin 路由 slug 校验、approve 同名竞态测试)、账号注销、静态兜底目录、CHANGELOG 模板文案 |
待启动 |
排序理由
- P0 最先:几十行的修复,却解锁整条 e2e 回归链路——后面每一波都靠它做验证保障。
- P1 紧随:不做则生产环境投稿 / 审核根本不可用,产品功能再丰富也上不了线。
- P4 可提前:无依赖且范围清晰,若想先看到用户可感知的产品变化,可与第一波并行。
文档与提交约定
- 所有 spec / 实现计划 / 跨仓库协作文档统一放在本仓库
docs/(docs/specs/、docs/plans/、docs/ROADMAP.md),并在下表登记;内层仓库只保留各自的docs/CHANGELOG.md与docs/README.md。此约定取代 crearte-deploy 0.3.0 确立的「crearte-deploy 为跨仓库文档 canonical home」。 - monorepo(本仓库)可直接在
master提交;内层三仓仍遵循各自AGENTS.md的分支与合并规范。
子项目文档索引
| 子项目 | spec | 实现计划 |
|---|---|---|
| P4 作者主页 | docs/specs/2026-09-29-author-page-design.md |
docs/plans/2026-09-29-author-page.md(已执行,2026-09-29) |
| P1 prod 写侧可用 | docs/specs/2026-09-29-prod-write-side-design.md |
docs/plans/2026-09-29-prod-write-side.md(已执行,2026-09-29) |
| P5 收藏/评分 | docs/specs/2026-09-30-favorites-ratings-design.md |
docs/plans/2026-09-30-favorites-ratings.md(已执行,2026-09-30) |
创作者中心 /creator(维护者直接需求) |
docs/specs/2026-09-30-creator-center-design.md |
docs/plans/2026-09-30-creator-center.md(已执行,2026-09-30) |
| P2 CI+测试基线 | docs/specs/2026-09-30-ci-test-baseline-design.md |
docs/plans/2026-09-30-ci-test-baseline.md(已执行,2026-09-30) |
| P3 备份+可观测 | docs/specs/2026-09-30-backup-observability-design.md |
docs/plans/2026-09-30-backup-observability.md |
| P7 管理后台增强 | docs/specs/2026-09-30-admin-console-design.md |
docs/plans/2026-09-30-admin-console.md |