DOC/ 更新于 2026-09-19
开发
本仓库的设置、命令和贡献工作流。
- Node.js 24 或更新
- pnpm 12(通过 package.json 中的
packageManager固定)
pnpm install
pnpm dev # turbo dev:带 HMR 的 Web 应用
pnpm type-check # turbo type-check:整个单体仓库
pnpm lint # eslint(next + typescript 规则),零警告
pnpm test # turbo test(vitest)
pnpm build # 生产构建 → apps/web/.next
推送前所有检查必须通过:pnpm lint 零错误、pnpm type-check 零错误、
pnpm format:check 无差异、pnpm build 成功。
- 界面文案:编辑
packages/i18n/messages/en.json,然后翻译其他六个 语言文件。保持键结构一致。 - 文档:编辑
packages/content/docs/en/<slug>.md,然后更新翻译。 缺失的翻译会自动回退到英语。 - 更改文案或文档后,运行
pnpm build并在浏览器中检查每种语言的 路由。
仓库提交以项目所有者的 GitLab 身份创建,以便 CI 作业在身份验证下 运行,并且每个提交都带有共同作者尾注:
Co-authored-by: Ella Mizuki
这是管道运行所必需的;见 deployment.md。
main 受保护:仅限 Maintainer 推送,禁止强制推送。历史重写(例如
重新指定提交作者)需要临时移除保护、强制推送,然后以完全相同的设置
恢复保护。
.gitlab-ci.yml 中定义的管道运行四个作业:
qualitylint 和 typecheck;semgrep-sast安全扫描(模板);build带产物的生产构建;secret_detection秘密扫描(模板)。
pnpm 设置仅限于 quality 和 build 作业。安全模板镜像不包含
corepack,不得继承它。
验证:
- lint、typecheck、build;
- 在 375、768、1024、1440 和 1920px 宽度下进行浏览器检查,所有语言 零水平溢出;
- 减少动态效果检查:没有微光或转场生效,内容可见;
- 锚点导航避开固定页头(滚动内边距);
- 所有语言的文档路由都能解析,包括英文回退。