monorepo-management
Manage monorepo architectures using Lerna, Turborepo, and Nx. Configure workspaces, dependency versioning, and cross-package testing.
By aj-geddes · 427 installs
npx skills add aj-geddes/useful-ai-prompts --skill monorepo-management
Source repository · Upstream listing
Monorepo Management
Table of Contents
[Overview]( overview)
[When to Use]( when to use)
[Quick Start]( quick start)
[Reference Guides]( reference guides)
[Best Practices]( best practices)
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:
Reference Guides
Detailed implementations in the references/ directory:
Guide Contents
[Npm Workspaces Configuration](references/npm workspaces configuration.md) Npm Workspaces Configuration, Lerna Configuration, Turborepo Configuration, Nx Workspace Configuration
[Monorepo Directory Structure](references/monorepo directory structure.md) Monorepo Directory Structure
[Workspace Dependencies](references/workspace dependencies.md) Workspace Dependencies
[Lerna Commands](references/lerna commands.md) Lerna Commands
[Turborepo Commands](references/turborepo commands.md) Turborepo Commands
[CI/CD for Monorepo](references/cicd for monorepo.md) CI/CD for Monorepo
[Version Management Across Packages](references/version management across packages.md) 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