← 返回 Skills 市场
Monorepo Project Standard
作者
Bovin Phang
· GitHub ↗
· v2.4.0
· MIT-0
51
总下载
1
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install fec-monorepo-project-standard
功能描述
Use when creating, reviewing, or restructuring frontend monorepos with pnpm workspace, Turborepo, Nx, multi-package dependency boundaries, task orchestration...
使用说明 (SKILL.md)
Monorepo 项目规范
适用于使用 pnpm workspace、Turborepo 或 Nx 的多包前端仓库。
Purpose
规范 Monorepo 项目的目录结构、依赖管理、任务编排和包发布流程,确保多包协作的构建效率和版本一致性。
Procedure
- 先确认仓库是否已使用 pnpm workspace、Turborepo 或 Nx,并沿用现有包命名与任务约定。
- 将应用放在
apps/,共享库、配置和工具放在packages/或既有等价目录。 - 内部依赖使用
workspace:*,通过依赖图驱动构建顺序。 - 为 build、lint、test 配置可缓存、可并行、可增量的根任务,并明确输入、输出和环境变量。
- 在 Turborepo/Nx 中配置 affected/changed 范围命令,CI 优先跑受影响包,同时保留主干全量验证入口。
- 发布包前检查包边界、循环依赖、exports、peer dependencies 和版本策略。
工具选择
| 工具 | 适用 | 特点 |
|---|---|---|
| pnpm workspace | 基础 | 依赖提升、链接、脚本聚合 |
| Turborepo | 推荐 | 缓存、并行、依赖图 |
| Nx | 大型 | 增量构建、云缓存、插件生态 |
目录结构
pnpm + Turborepo
├── package.json # 根 package,workspace 配置
├── pnpm-workspace.yaml # workspace 包列表
├── turbo.json # Turborepo 配置
│
├── apps/
│ ├── web/ # 主应用
│ │ ├── package.json
│ │ └── ...
│ ├── admin/ # 管理后台
│ └── docs/ # 文档站
│
├── packages/
│ ├── ui/ # 共享 UI 组件
│ │ ├── package.json
│ │ └── src/
│ ├── utils/ # 工具函数
│ ├── config-eslint/ # 共享 ESLint 配置
│ └── config-typescript/ # 共享 TS 配置
│
└── tooling/ # 构建/测试工具(可选)
└── scripts/
pnpm-workspace.yaml
packages:
- "apps/*"
- "packages/*"
依赖管理
- 内部包使用
workspace:*协议 - 根
package.json统一部分依赖版本,子包可覆盖 - 禁止循环依赖,通过
pnpm why检查
{
"dependencies": {
"@repo/ui": "workspace:*",
"@repo/utils": "workspace:*"
}
}
Turborepo 任务编排
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"]
},
"lint": {
"dependsOn": ["^build"]
},
"test": {
"dependsOn": ["^build"]
}
}
}
^build表示先执行依赖包的 buildoutputs用于缓存命中判断inputs应包含源码、配置、锁文件和环境相关文件;不要把.envsecret 值写入缓存 key- 远程缓存要区分可信 CI 与本地开发,避免把含敏感信息的产物上传
Nx 任务编排
{
"targetDefaults": {
"build": {
"dependsOn": ["^build"],
"outputs": ["{projectRoot}/dist"],
"cache": true
}
}
}
包命名
- 内部包:
@org/package-name或@repo/package-name - 发布到 npm:遵循
@scope/name规范
Constraints
- 子包之间通过
workspace:*引用,不发布到 npm 再安装 - 共享配置(ESLint、TS)放在
packages/config-*,子包 extends - 构建顺序由依赖图决定,不手动指定无关依赖
- 根目录执行
pnpm -r build或turbo run build时,所有包按序构建 - 禁止循环依赖,新增包时通过
pnpm why检查依赖链 - CI cache 只缓存依赖安装目录和任务产物,不缓存未验证的构建状态
- affected 构建不能替代发布前全量验证;主干或 release 分支仍需完整质量门禁
Expected Output
- Monorepo 目录结构清晰(
apps/应用、packages/共享包、tooling/工具) pnpm-workspace.yaml和turbo.json/nx.json配置正确- 内部包使用
workspace:*协议,无循环依赖 - 构建、lint、test 任务可通过根命令一键执行,缓存命中率高
- CI 能区分 affected 快速反馈和 release 全量验证,缓存配置不会泄露密钥或隐藏依赖边界问题
安全使用建议
Install this if you want agent guidance for pnpm, Turborepo, or Nx monorepo conventions. It can influence project structure and CI recommendations when invoked, so review any generated repository changes before applying them, especially package boundaries, cache settings, and publish configuration.
能力评估
Purpose & Capability
The stated purpose is to guide frontend monorepo structure, dependency boundaries, Turborepo/Nx task setup, CI caching, and package publishing checks; the artifact content matches that purpose.
Instruction Scope
Instructions are scoped to user-directed project review or restructuring and include ordinary build, lint, test, dependency, and cache guidance without unrelated or deceptive agent behavior.
Install Mechanism
The package contains SKILL.md, README.md, metadata.json, and package.json only; no install scripts, runtime code, dependencies, or lifecycle hooks are present in the submitted artifact.
Credentials
The skill may lead an agent to inspect or modify a user's monorepo when asked, but that authority is expected for the stated project-standard use case and is not automatic.
Persistence & Privilege
No persistence, background workers, privilege escalation, local credential access, broad indexing, or external data exfiltration behavior was found.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install fec-monorepo-project-standard - 安装完成后,直接呼叫该 Skill 的名称或使用
/fec-monorepo-project-standard触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.4.0
- Rename skill to `fec-monorepo-project-standard` and broaden skill description and triggers.
- Added LICENSE, README.md, metadata.json, and package.json files; removed skill-card.md.
- Improved documentation: added Purpose, Procedure, Constraints, and Expected Output sections.
- Clarified usage of affected/changed commands, remote cache, and CI requirements.
- Enhanced constraint guidance for dependency boundaries, workspace linking, and verification steps.
元数据
常见问题
Monorepo Project Standard 是什么?
Use when creating, reviewing, or restructuring frontend monorepos with pnpm workspace, Turborepo, Nx, multi-package dependency boundaries, task orchestration... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 51 次。
如何安装 Monorepo Project Standard?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install fec-monorepo-project-standard」即可一键安装,无需额外配置。
Monorepo Project Standard 是免费的吗?
是的,Monorepo Project Standard 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Monorepo Project Standard 支持哪些平台?
Monorepo Project Standard 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Monorepo Project Standard?
由 Bovin Phang(@bovinphang)开发并维护,当前版本 v2.4.0。
推荐 Skills