nx-workspace-patterns — community nx-workspace-patterns, ag-opencode-skills, community, ide skills

v1.0.0

About this Skill

Perfect for DevOps Agents needing advanced Nx monorepo management capabilities. Configure and optimize Nx monorepo workspaces. Use when setting up Nx, configuring project boundaries, optimizing build caching, or implementing affected commands.

harshahosur81 harshahosur81
[0]
[0]
Updated: 3/11/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reviewed Landing Page Review Score: 9/11

Killer-Skills keeps this page indexable because it adds recommendation, limitations, and review signals beyond the upstream repository text.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution Quality floor passed for review Locale and body language aligned
Review Score
9/11
Quality Score
60
Canonical Locale
en
Detected Body Locale
en

Perfect for DevOps Agents needing advanced Nx monorepo management capabilities. Configure and optimize Nx monorepo workspaces. Use when setting up Nx, configuring project boundaries, optimizing build caching, or implementing affected commands.

Core Value

Empowers agents to optimize CI with affected commands, implement remote caching, and manage dependencies between projects using Nx workspace patterns, leveraging libraries and project boundaries configuration.

Ideal Agent Persona

Perfect for DevOps Agents needing advanced Nx monorepo management capabilities.

Capabilities Granted for nx-workspace-patterns

Setting up new Nx workspaces with optimized project structures
Configuring project boundaries for efficient dependency management
Optimizing CI pipelines with affected commands for faster deployment

! Prerequisites & Limits

  • Requires Nx monorepo setup
  • Limited to Nx workspace management
  • Dependent on correct project boundary configuration

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

After The Review

Decide The Next Action Before You Keep Reading Repository Material

Killer-Skills should not stop at opening repository instructions. It should help you decide whether to install this skill, when to cross-check against trusted collections, and when to move into workflow rollout.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is nx-workspace-patterns?

Perfect for DevOps Agents needing advanced Nx monorepo management capabilities. Configure and optimize Nx monorepo workspaces. Use when setting up Nx, configuring project boundaries, optimizing build caching, or implementing affected commands.

How do I install nx-workspace-patterns?

Run the command: npx killer-skills add harshahosur81/ag-opencode-skills/nx-workspace-patterns. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for nx-workspace-patterns?

Key use cases include: Setting up new Nx workspaces with optimized project structures, Configuring project boundaries for efficient dependency management, Optimizing CI pipelines with affected commands for faster deployment.

Which IDEs are compatible with nx-workspace-patterns?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for nx-workspace-patterns?

Requires Nx monorepo setup. Limited to Nx workspace management. Dependent on correct project boundary configuration.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add harshahosur81/ag-opencode-skills/nx-workspace-patterns. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use nx-workspace-patterns immediately in the current project.

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

nx-workspace-patterns

Install nx-workspace-patterns, an AI agent skill for AI agent workflows and automation. Review the use cases, limitations, and setup path before rollout.

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

Nx Workspace Patterns

Production patterns for Nx monorepo management.

When to Use This Skill

  • Setting up new Nx workspaces
  • Configuring project boundaries
  • Optimizing CI with affected commands
  • Implementing remote caching
  • Managing dependencies between projects
  • Migrating to Nx

Core Concepts

1. Nx Architecture

workspace/
├── apps/              # Deployable applications
│   ├── web/
│   └── api/
├── libs/              # Shared libraries
│   ├── shared/
│   │   ├── ui/
│   │   └── utils/
│   └── feature/
│       ├── auth/
│       └── dashboard/
├── tools/             # Custom executors/generators
├── nx.json            # Nx configuration
└── workspace.json     # Project configuration

2. Library Types

TypePurposeExample
featureSmart components, business logicfeature-auth
uiPresentational componentsui-buttons
data-accessAPI calls, state managementdata-access-users
utilPure functions, helpersutil-formatting
shellApp bootstrappingshell-web

Templates

Template 1: nx.json Configuration

json
1{ 2 "$schema": "./node_modules/nx/schemas/nx-schema.json", 3 "npmScope": "myorg", 4 "affected": { 5 "defaultBase": "main" 6 }, 7 "tasksRunnerOptions": { 8 "default": { 9 "runner": "nx/tasks-runners/default", 10 "options": { 11 "cacheableOperations": [ 12 "build", 13 "lint", 14 "test", 15 "e2e", 16 "build-storybook" 17 ], 18 "parallel": 3 19 } 20 } 21 }, 22 "targetDefaults": { 23 "build": { 24 "dependsOn": ["^build"], 25 "inputs": ["production", "^production"], 26 "cache": true 27 }, 28 "test": { 29 "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], 30 "cache": true 31 }, 32 "lint": { 33 "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], 34 "cache": true 35 }, 36 "e2e": { 37 "inputs": ["default", "^production"], 38 "cache": true 39 } 40 }, 41 "namedInputs": { 42 "default": ["{projectRoot}/**/*", "sharedGlobals"], 43 "production": [ 44 "default", 45 "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", 46 "!{projectRoot}/tsconfig.spec.json", 47 "!{projectRoot}/jest.config.[jt]s", 48 "!{projectRoot}/.eslintrc.json" 49 ], 50 "sharedGlobals": [ 51 "{workspaceRoot}/babel.config.json", 52 "{workspaceRoot}/tsconfig.base.json" 53 ] 54 }, 55 "generators": { 56 "@nx/react": { 57 "application": { 58 "style": "css", 59 "linter": "eslint", 60 "bundler": "webpack" 61 }, 62 "library": { 63 "style": "css", 64 "linter": "eslint" 65 }, 66 "component": { 67 "style": "css" 68 } 69 } 70 } 71}

Template 2: Project Configuration

json
1// apps/web/project.json 2{ 3 "name": "web", 4 "$schema": "../../node_modules/nx/schemas/project-schema.json", 5 "sourceRoot": "apps/web/src", 6 "projectType": "application", 7 "tags": ["type:app", "scope:web"], 8 "targets": { 9 "build": { 10 "executor": "@nx/webpack:webpack", 11 "outputs": ["{options.outputPath}"], 12 "defaultConfiguration": "production", 13 "options": { 14 "compiler": "babel", 15 "outputPath": "dist/apps/web", 16 "index": "apps/web/src/index.html", 17 "main": "apps/web/src/main.tsx", 18 "tsConfig": "apps/web/tsconfig.app.json", 19 "assets": ["apps/web/src/assets"], 20 "styles": ["apps/web/src/styles.css"] 21 }, 22 "configurations": { 23 "development": { 24 "extractLicenses": false, 25 "optimization": false, 26 "sourceMap": true 27 }, 28 "production": { 29 "optimization": true, 30 "outputHashing": "all", 31 "sourceMap": false, 32 "extractLicenses": true 33 } 34 } 35 }, 36 "serve": { 37 "executor": "@nx/webpack:dev-server", 38 "defaultConfiguration": "development", 39 "options": { 40 "buildTarget": "web:build" 41 }, 42 "configurations": { 43 "development": { 44 "buildTarget": "web:build:development" 45 }, 46 "production": { 47 "buildTarget": "web:build:production" 48 } 49 } 50 }, 51 "test": { 52 "executor": "@nx/jest:jest", 53 "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], 54 "options": { 55 "jestConfig": "apps/web/jest.config.ts", 56 "passWithNoTests": true 57 } 58 }, 59 "lint": { 60 "executor": "@nx/eslint:lint", 61 "outputs": ["{options.outputFile}"], 62 "options": { 63 "lintFilePatterns": ["apps/web/**/*.{ts,tsx,js,jsx}"] 64 } 65 } 66 } 67}

Template 3: Module Boundary Rules

json
1// .eslintrc.json 2{ 3 "root": true, 4 "ignorePatterns": ["**/*"], 5 "plugins": ["@nx"], 6 "overrides": [ 7 { 8 "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 9 "rules": { 10 "@nx/enforce-module-boundaries": [ 11 "error", 12 { 13 "enforceBuildableLibDependency": true, 14 "allow": [], 15 "depConstraints": [ 16 { 17 "sourceTag": "type:app", 18 "onlyDependOnLibsWithTags": [ 19 "type:feature", 20 "type:ui", 21 "type:data-access", 22 "type:util" 23 ] 24 }, 25 { 26 "sourceTag": "type:feature", 27 "onlyDependOnLibsWithTags": [ 28 "type:ui", 29 "type:data-access", 30 "type:util" 31 ] 32 }, 33 { 34 "sourceTag": "type:ui", 35 "onlyDependOnLibsWithTags": ["type:ui", "type:util"] 36 }, 37 { 38 "sourceTag": "type:data-access", 39 "onlyDependOnLibsWithTags": ["type:data-access", "type:util"] 40 }, 41 { 42 "sourceTag": "type:util", 43 "onlyDependOnLibsWithTags": ["type:util"] 44 }, 45 { 46 "sourceTag": "scope:web", 47 "onlyDependOnLibsWithTags": ["scope:web", "scope:shared"] 48 }, 49 { 50 "sourceTag": "scope:api", 51 "onlyDependOnLibsWithTags": ["scope:api", "scope:shared"] 52 }, 53 { 54 "sourceTag": "scope:shared", 55 "onlyDependOnLibsWithTags": ["scope:shared"] 56 } 57 ] 58 } 59 ] 60 } 61 } 62 ] 63}

Template 4: Custom Generator

typescript
1// tools/generators/feature-lib/index.ts 2import { 3 Tree, 4 formatFiles, 5 generateFiles, 6 joinPathFragments, 7 names, 8 readProjectConfiguration, 9} from '@nx/devkit'; 10import { libraryGenerator } from '@nx/react'; 11 12interface FeatureLibraryGeneratorSchema { 13 name: string; 14 scope: string; 15 directory?: string; 16} 17 18export default async function featureLibraryGenerator( 19 tree: Tree, 20 options: FeatureLibraryGeneratorSchema 21) { 22 const { name, scope, directory } = options; 23 const projectDirectory = directory 24 ? `${directory}/${name}` 25 : `libs/${scope}/feature-${name}`; 26 27 // Generate base library 28 await libraryGenerator(tree, { 29 name: `feature-${name}`, 30 directory: projectDirectory, 31 tags: `type:feature,scope:${scope}`, 32 style: 'css', 33 skipTsConfig: false, 34 skipFormat: true, 35 unitTestRunner: 'jest', 36 linter: 'eslint', 37 }); 38 39 // Add custom files 40 const projectConfig = readProjectConfiguration(tree, `${scope}-feature-${name}`); 41 const projectNames = names(name); 42 43 generateFiles( 44 tree, 45 joinPathFragments(__dirname, 'files'), 46 projectConfig.sourceRoot, 47 { 48 ...projectNames, 49 scope, 50 tmpl: '', 51 } 52 ); 53 54 await formatFiles(tree); 55}

Template 5: CI Configuration with Affected

yaml
1# .github/workflows/ci.yml 2name: CI 3 4on: 5 push: 6 branches: [main] 7 pull_request: 8 branches: [main] 9 10env: 11 NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} 12 13jobs: 14 main: 15 runs-on: ubuntu-latest 16 steps: 17 - uses: actions/checkout@v4 18 with: 19 fetch-depth: 0 20 21 - uses: actions/setup-node@v4 22 with: 23 node-version: 20 24 cache: 'npm' 25 26 - name: Install dependencies 27 run: npm ci 28 29 - name: Derive SHAs for affected commands 30 uses: nrwl/nx-set-shas@v4 31 32 - name: Run affected lint 33 run: npx nx affected -t lint --parallel=3 34 35 - name: Run affected test 36 run: npx nx affected -t test --parallel=3 --configuration=ci 37 38 - name: Run affected build 39 run: npx nx affected -t build --parallel=3 40 41 - name: Run affected e2e 42 run: npx nx affected -t e2e --parallel=1

Template 6: Remote Caching Setup

typescript
1// nx.json with Nx Cloud 2{ 3 "tasksRunnerOptions": { 4 "default": { 5 "runner": "nx-cloud", 6 "options": { 7 "cacheableOperations": ["build", "lint", "test", "e2e"], 8 "accessToken": "your-nx-cloud-token", 9 "parallel": 3, 10 "cacheDirectory": ".nx/cache" 11 } 12 } 13 }, 14 "nxCloudAccessToken": "your-nx-cloud-token" 15} 16 17// Self-hosted cache with S3 18{ 19 "tasksRunnerOptions": { 20 "default": { 21 "runner": "@nx-aws-cache/nx-aws-cache", 22 "options": { 23 "cacheableOperations": ["build", "lint", "test"], 24 "awsRegion": "us-east-1", 25 "awsBucket": "my-nx-cache-bucket", 26 "awsProfile": "default" 27 } 28 } 29 } 30}

Common Commands

bash
1# Generate new library 2nx g @nx/react:lib feature-auth --directory=libs/web --tags=type:feature,scope:web 3 4# Run affected tests 5nx affected -t test --base=main 6 7# View dependency graph 8nx graph 9 10# Run specific project 11nx build web --configuration=production 12 13# Reset cache 14nx reset 15 16# Run migrations 17nx migrate latest 18nx migrate --run-migrations

Best Practices

Do's

  • Use tags consistently - Enforce with module boundaries
  • Enable caching early - Significant CI savings
  • Keep libs focused - Single responsibility
  • Use generators - Ensure consistency
  • Document boundaries - Help new developers

Don'ts

  • Don't create circular deps - Graph should be acyclic
  • Don't skip affected - Test only what changed
  • Don't ignore boundaries - Tech debt accumulates
  • Don't over-granularize - Balance lib count

Resources

Related Skills

Looking for an alternative to nx-workspace-patterns or another community skill for your workflow? Explore these related open-source skills.

View All

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
AI

flags

Logo of vercel
vercel

The React Framework

138.4k
0
Browser

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
Developer