全部文档

更新于 2026-10-28

开发

本仓库的设置、命令和贡献工作流。

前置条件

  • 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 format:check # prettier:整个仓库
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 并在浏览器中检查每种语言的 路由。

Git 身份

仓库提交以项目所有者的身份创建,并且每个提交都带有共同作者尾注:

Co-authored-by: Ella Mizuki

分支保护

main 受保护:仅限 Maintainer 推送,禁止强制推送。历史重写(例如 重新指定提交作者)需要临时移除保护、强制推送,然后以完全相同的设置 恢复保护。

持续集成

没有 CI 服务器监视这个仓库。每次推送前请运行质量门(pnpm type-check、 pnpm lint、pnpm test、pnpm format:check、pnpm build);Vercel 在 部署时构建生产包,构建失败部署也会失败。

合并前测试

验证:

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