pnpm workspace YAML configuration templates and validation logic for monorepo workspace patterns. Includes 5 required standards (architecture-specific patterns for consumer vs library repos, exact path matching, no missing directories, no extra patterns, alphabetical ordering). Critical distinction between consumer repos (specific paths like packages/contracts/*) and library repos (broad patterns like packages/*). Use when creating or auditing pnpm-workspace.yaml files.
Provides pnpm-workspace.yaml templates and validation for monorepo configurations. Enforces 5 critical standards including architecture-specific patterns (consumer repos use specific paths like `packages/contracts/*`, not generic `packages/*`), exact path matching, alphabetical ordering, and directory existence checks. Used when creating or auditing workspace files.
/plugin marketplace add metasaver/metasaver-marketplace/plugin install core-claude-plugin@metasaver-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/consumer-standard.yamltemplates/library.yamlThis skill provides pnpm-workspace.yaml templates and validation logic for monorepo workspace configuration.
Manage pnpm-workspace.yaml configuration to:
This skill is invoked by the pnpm-workspace-agent when:
Standard templates are located at:
templates/consumer-standard.yaml # Consumer repos with standard app pattern
templates/library.yaml # Library repos with broad patterns
Consumer Repos:
apps/* (standard pattern)packages/contracts/* (specific)packages/database/* (specific)services/data/* (specific)packages/agents/*, packages/mcps/*, packages/workflows/*Library Repos:
components/* (broad)config/* (broad)packages/* (broad - ONLY for library repos)✅ ALWAYS: Use specific patterns like packages/contracts/* in consumer repos (not generic packages/*)
packages/contracts/*packages/* (in consumer repos)packages/**/*All workspace paths must exist on filesystem (except during BUILD mode for new projects)
Only include patterns that match actual directories (except during BUILD mode)
Workspace patterns must be alphabetically ordered
To validate a pnpm-workspace.yaml file:
# Rule 1: Check for generic patterns in consumer repos
if [[ "$REPO_TYPE" == "consumer" ]]; then
grep -q "packages/\*$" pnpm-workspace.yaml && echo "VIOLATION: Generic packages/* pattern"
fi
# Rule 2: Exact path matching (no double wildcards)
grep -q "packages/\*\*/\*" pnpm-workspace.yaml && echo "VIOLATION: Uses **/* pattern"
# Rule 3 & 4: Check directories exist
while IFS= read -r pattern; do
dir_path="${pattern%/*}" # Remove trailing /*
[ -d "$dir_path" ] || echo "VIOLATION: Directory $dir_path does not exist"
done < <(yq '.packages[]' pnpm-workspace.yaml)
# Rule 5: Check alphabetical order
original=$(yq '.packages[]' pnpm-workspace.yaml)
sorted=$(echo "$original" | sort)
[ "$original" = "$sorted" ] || echo "VIOLATION: Not alphabetically ordered"
This skill integrates with:
scope parameter. If not provided, use /skill scope-check/skill audit-workflow - Bi-directional comparison workflow/skill remediation-options - Conform/Update/Ignore choices