pnpm install 跑完之后的日常工作流。还没装好的话,从 自托管 开始。
仓库一瞥
编辑器配置
整个仓库是 TypeScript。推荐的编辑器组合:- VS Code + ESLint + TypeScript Nightly,或
- Cursor / Windsurf / Claude Code —— 三者都会读取
CLAUDE.md和 workspace 的 TS 配置。
pnpm-workspace.yaml 和 packages/tsconfig 一起让跨 workspace 的类型推导开箱即用。如果编辑器找不到类型,重启 TS 服务器。
跨 workspace 的热更新
仓库根目录跑pnpm run dev 会通过 Turbo 并行启动每个 workspace 的 dev。多数 workspace 用 watch 模式:
所以改
packages/resume-schema/src/index.ts 会触发一次重建,Web 应用通过 workspace link 自动拿到。
Web 应用支持 Turbopack:
pnpm --filter @magic-resume/web dev:turbo。更快,但偶尔比 Next.js minor 版本落后一拍 —— 撞上 Turbopack 特有的 bug 时回退到 dev。提交前过 lint 和测试
lint-staged(在根 package.json 配置,由 Husky 触发)会对暂存文件跑一部分检查。完整的扫一遍:
apps/web workspace 有个 i18n 检查会在暂存 .tsx/.ts 时触发:
en.json 加了 key 但 zh-CN.json 没加,会让 pre-commit hook 失败。
分支约定
默认分支是master。功能分支用 <type>/<short-name>(如 feat/turborepo-mcp-migration-wip)。Commit 遵循 conventional commits 风格 —— 看 git log 就能知道格式。