Skip to main content
Magic Resume 是一个 pnpm + Turborepo monorepo。包管理器在根 package.json 里钉死为 pnpm@10.28.1,这样 CI 和本地安装行为保持一致。

Workspace 列表

包边界

这些规则靠 code review 来执行,工具不强约束。请遵守:
@magic-resume/mcp 不能引入:
  • Next.js 或任何 React 组件库
  • 浏览器 API(windowlocalStorageIndexedDB
  • apps/web 里的任何东西
它是一个纯 Node ESM 库 + CLI。如果不小心引了浏览器侧的东西,node --test 会直接挂、npm publish 也会出问题。
  • apps/web 可以依赖任意 packages/*
  • packages/resume-templates 依赖 packages/resume-schema。反过来不行 —— Schema 是叶子节点。
  • packages/mcp 依赖 packages/resume-schemapackages/resume-templates,不依赖 apps/*
  • 新的共享形状放进 packages/resume-schema,不要在 apps/web 里再复制一份。

Turborepo

package.json 把所有命令都过一遍 Turbo:
只想跑单个 workspace 时,绕过 Turbo,用 pnpm filter:

workspace:* 协议

所有跨 workspace 依赖在 package.json 里都写成 workspace:*。这意味着 必须从仓库根目录运行 pnpm install,不能在 workspace 内部跑,否则 pnpm 解析不出 link。 发布 @magic-resume/mcp 时,pnpm 会在打包时把 workspace:* 改写成真实的 semver 版本 —— 不用手动 bump。