51 lines
3.2 KiB
Markdown
51 lines
3.2 KiB
Markdown
# yedir-ai 发布就绪检查清单
|
||
|
||
本文档用于在商业化部署、开源发布或创建 PR 前做最终核对。它记录的是当前仓库的可验证交付边界,不替代真实 CI 结果。
|
||
|
||
## 必跑检查
|
||
|
||
```bash
|
||
pnpm install --frozen-lockfile
|
||
git fetch github main --prune
|
||
pnpm check:branch
|
||
AUTH_TRUST_HOST=true PORT=3001 pnpm dev
|
||
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
|
||
```
|
||
|
||
预期:
|
||
|
||
- `pnpm check:quality` 通过 lint、日志脱敏门禁、公开交付面品牌治理、CI hygiene、环境变量示例卫生、secret hygiene、package metadata、测试门禁卫生、轻量 helper 回归测试、类型检查、diff hygiene 和 tracked 污染物检查。
|
||
- `pnpm check:branch` 确认当前分支相对 `github/main` 没有 dry-run merge 冲突;behind main 会提示为 warning,发布前可用 `REQUIRE_UP_TO_DATE=true` 提升为失败。
|
||
- `pnpm audit:security` 输出已审计;如手动运行 Dependency Audit workflow,也应通过。若仍有 critical/high,必须在 [dependency-risk-register.md](dependency-risk-register.md) 中记录 remediation 或风险接受状态。
|
||
- `pnpm build` 完成生产构建,验证 Next.js route collection、静态/动态页面边界和构建期 TypeScript。
|
||
- `pnpm smoke:routes` 验证 `/` 返回 200。
|
||
- `/classic` 和 `/chat/test-id` 重定向到 `/`。
|
||
- `/settings` 未登录重定向到 `/login?callbackUrl=%2Fsettings`。
|
||
|
||
`pnpm verify:release` 会依次运行 `pnpm check:quality`、`pnpm audit:security`、`pnpm build` 和 `pnpm smoke:routes`。必须显式提供 `SMOKE_BASE_URL`,确保路由烟测指向本地、预发或生产中的明确目标。
|
||
|
||
## 发布边界
|
||
|
||
- 旧 Chat UI 已移除;`/api/chat` 保留为 Canvas/Agent 内部生成 API。
|
||
- `/settings` 本地 AI 设置已组件化,保存 key、SWR key 和业务 API 保持稳定。
|
||
- 首页采用轻量壳优先渲染,个性化和公开数据渐进加载。
|
||
- 高风险日志链路已纳入 `pnpm check:logs`,禁止回流裸 `console.*`。
|
||
- CI 基础门禁与本地 `pnpm check:quality` 使用同一套污染物检查脚本;GitHub Actions 当前采用手动触发,避免私有仓库免费额度被自动消耗。
|
||
- 安全披露、敏感信息和日志规则以根目录 `SECURITY.md` 为准。
|
||
- 分支、提交、PR 和验证要求以根目录 `CONTRIBUTING.md` 为准。
|
||
|
||
## 不应在发布包中出现
|
||
|
||
- `.env.local`、真实密钥、OAuth code、Cookie、Authorization、签名 URL。
|
||
- `.DS_Store`、swap 文件、`.claude/` worktree、migration backup、`tsconfig.tsbuildinfo`。
|
||
- 新增公开入口指向 `/classic` 或 `/chat/[id]`。
|
||
- 生产日志中输出完整 prompt、base64、图片 URL、第三方完整响应体或对象存储路径。
|
||
|
||
## 已知后续专项
|
||
|
||
- 远端 GitHub Actions 实跑结果需要在手动触发 workflow 后确认。
|
||
- 当前依赖 audit baseline 已清除 critical/high;moderate/low 和未来 advisories 继续通过 [dependency-risk-register.md](dependency-risk-register.md) 跟踪。
|
||
- Enhance、Angle Edit、Prompt Optimizer 等历史接口仍可继续分批纳入日志门禁。
|
||
- Canvas/Agent 少数大型历史模块仍可继续领域化拆分,但不阻塞当前交付基线。
|
||
- License 以仓库根目录 `LICENSE` 为准;如商业分发策略变化,应单独进行法律审查。
|