AI SummaryAll canonicalized to via : A workspace can belong to multiple groups. Glob patterns matched via . into a workspace dir → vlt auto-targets that workspace for install/run/etc. For linked folders ( protocol), the folder must already be in the dependency chain for / to work.
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to add the "vltpkg — Cursor Rules" prompt rules to my project. Repository: https://github.com/vltpkg/vltpkg Please read the repo to find the rules/prompt file, then: 1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type) 2. If there's an existing rules file, merge the new rules in rather than overwriting 3. Confirm what was added
Description
Workspace configuration, filtering, and monorepo operations
vlt.json `workspaces` Config Shapes
All canonicalized to WorkspaceConfigObject = Record<string, string[]> via asWSConfig(): `typescript // String → { packages: ["src/*"] } "workspaces": "src/*" // Array → { packages: ["src/", "www/"] } "workspaces": ["src/", "www/"] // Object (named groups) → kept as-is, values normalized to arrays "workspaces": { "apps": "apps/", // → ["apps/"] "utils": ["utils/*", "www/utils"] // kept } ` A workspace can belong to multiple groups. Glob patterns matched via globSync.
CLI Flags
• -w<path> --workspace=<path> — filter by path/glob (can repeat). Implies --recursive • --workspace-group=<name> — filter by group name (can repeat). Implies --recursive • -r --recursive — run across all workspaces. No effect in non-monorepo projects • -b --bail / -B --no-bail — stop/continue on failure during recursive operations
Workspace Inference
cd into a workspace dir → vlt auto-targets that workspace for install/run/etc. For linked folders (file: protocol), the folder must already be in the dependency chain for vlt install/vlt uninstall to work.
Monorepo Class
`typescript Monorepo.maybeLoad(projectRoot, options?) // undefined if no workspaces config Monorepo.load(projectRoot, options?) // throws if not monorepo monorepo.load(query?) // load workspaces, optionally filtered by paths/groups monorepo.get(nameOrPath) // lookup by name, relative path, or fullpath monorepo.filter({ workspace, 'workspace-group' }) // yields matching Workspaces in topo order monorepo.run(operation) // async operation over workspaces in dependency order monorepo.runSync(operation) // sync variant monorepo.group(name) // Set<Workspace> for a group monorepo.getDeps(ws) // workspace: deps found in loaded set ` Iteration yields workspaces in topological dependency order via graphRun.
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster
Works With
Any AI assistant that accepts custom rules or system prompts