Monorepo Management

作者 aj-geddes3f5182cfd739無授權條款355 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫7 個月前更新

Manage monorepo architectures using Lerna, Turborepo, and Nx. Configure workspaces, dependency versioning, and cross-package testing.

AI 產生的概覽

指導使用 Lerna、Turborepo 與 Nx 建立及管理 monorepo,涵蓋工作區、版本管理與 CI 流程。

功能
提供多套件儲存庫結構、npm workspaces、Lerna、Turborepo 與 Nx 設定、跨套件相依版本管理,以及 CI/CD 建置協調的參考指南。內含一份流程範本與一支用於檢查流程設定的指令碼。產出為文件與設定指引,而非應用程式程式碼。
適用情境
適合建立或維護含多個相互相依套件、共用函式庫或微服務的 monorepo。也適合統一工作區相依管理、版本策略,以及跨套件的 CI 建置篩選。
執行需求
需要 JavaScript/Node.js 工具鏈,以及 Lerna、Turborepo 或 Nx 等 monorepo 工具之一。內含可執行 shell 指令碼(scripts/validate-pipeline.sh)與流程範本;用於 CI/CD 時需能存取流程執行環境。

Monorepo Management

Table of Contents

Overview

Establish scalable monorepo structures that support multiple interdependent packages while maintaining build efficiency, dependency management, and deployment coordination.

When to Use

  • Multi-package projects
  • Shared libraries across services
  • Microservices architecture
  • Plugin-based systems
  • Multi-app platforms (web + mobile)
  • Workspace dependency management
  • Scaled team development

Quick Start

Minimal working example:

json
{  "name": "monorepo-root",  "version": "1.0.0",  "private": true,  "workspaces": ["packages/*", "apps/*"],  "devDependencies": {    "lerna": "^7.0.0",    "turbo": "^1.10.0"  },  "scripts": {    "lint": "npm run lint -r",    "test": "npm run test -r",    "build": "npm run build -r",    "clean": "npm run clean -r"  }}

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Npm Workspaces Configuration [blocked]Npm Workspaces Configuration, Lerna Configuration, Turborepo Configuration, Nx Workspace Configuration
Monorepo Directory Structure [blocked]Monorepo Directory Structure
Workspace Dependencies [blocked]Workspace Dependencies
Lerna Commands [blocked]Lerna Commands
Turborepo Commands [blocked]Turborepo Commands
CI/CD for Monorepo [blocked]CI/CD for Monorepo
Version Management Across Packages [blocked]Version Management Across Packages

Best Practices

✅ DO

  • Use workspace protocols for dependencies
  • Implement shared tsconfig for consistency
  • Cache build outputs in CI/CD
  • Filter packages in CI to avoid unnecessary builds
  • Hoist common dependencies
  • Document workspace structure
  • Use consistent versioning strategy
  • Implement pre-commit hooks across workspace
  • Test cross-package dependencies
  • Version packages independently when appropriate

❌ DON'T

  • Create circular dependencies
  • Use hardcoded versions for workspace packages
  • Build all packages when only one changed
  • Forget to update lock files
  • Ignore workspace boundaries
  • Create tightly coupled packages
  • Skip dependency management
  • Use different tooling per package

來源與署名

來源:aj-geddes/useful-ai-prompts位於skills/monorepo-management提交3f5182c

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架