全部文档

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 中定义的管道运行四个作业:

  • quality lint 和 typecheck;
  • semgrep-sast 安全扫描(模板);
  • build 带产物的生产构建;
  • secret_detection 秘密扫描(模板)。

pnpm 设置仅限于 qualitybuild 作业。安全模板镜像不包含 corepack,不得继承它。

验证:

  • lint、typecheck、build;
  • 在 375、768、1024、1440 和 1920px 宽度下进行浏览器检查,所有语言 零水平溢出;
  • 减少动态效果检查:没有微光或转场生效,内容可见;
  • 锚点导航避开固定页头(滚动内边距);
  • 所有语言的文档路由都能解析,包括英文回退。