multi-workspace
npx skills add https://github.com/montaguegabe/multi-skills --skill multi-workspace
Agent 安装分布
Skill 文档
Multi Workspace
Multi (multi-workspace on PyPI) is a CLI tool that enables VS Code/Cursor to work across multiple Git repos in a single workspace. Sub-repos are cloned as directories inside the workspace root and .gitignored â no submodules are used. The CLI keeps all repos on the same branch and merges their VS Code configurations.
Key Constraints
multi initis interactive and cannot be scripted non-interactively.CLAUDE.mdandAGENTS.mdare auto-generated from.cursor/rules/*.mdcfiles. Never edit them directly.- All repos must have clean working directories before running
multi set-branch. multi set-branchandmulti gitare disabled in monorepo mode.- VS Code config files (
settings.json,launch.json,tasks.json,extensions.json) at the workspace root are generated â do not edit directly. Use the repo-level files or*.shared.jsonfiles instead.
Commands
multi sync
Run all sync operations: clone/symlink repos, update .gitignore, merge VS Code configs, sync Cursor rules, sync ruff config.
Subcommands for partial sync:
multi sync vscodeâ merge all VS Code configs (or specify:settings,launch,tasks,extensions,devcontainer)multi sync rulesâ generateCLAUDE.md/AGENTS.mdfrom Cursor rules and createrepo-directories.mdcfrom repo descriptionsmulti sync ruffâ copy ruff config from a sub-repo to workspace root
multi set-branch BRANCH_NAME
Switch all repos to a branch. If the branch exists locally or on the remote, check it out. If it doesn’t exist anywhere, create it from the current HEAD. All repos must be clean first.
multi git GIT_ARGS...
Run any git command across all repos (root first, then sub-repos in order). All repos must be on the same branch. Example: multi git pull, multi git push -u origin feature/foo.
multi init
Interactive setup: prompts for repo URLs and descriptions, writes multi.json, clones repos, runs full sync, commits.
multi open PATH
Open a project path in the Multi desktop app.
Configuration Overview
The workspace is configured via multi.json at the root. Key fields:
repos[]â array of repo configs, each withurl, optionalname,description,skipVSCode,allowSymlink,requiredTasks,requiredCompounds,requiredLaunchConfigurationsmonoRepoâ treat repos as local subdirectories instead of cloningallowSymlinksâ enable symlinking to existing clones from~/.multi/repos.jsonvscode.skipSettingsâ settings keys to exclude from merge
For the full schema, consult references/configuration.md.
VS Code Merging Overview
Multi merges .vscode/ config files from all sub-repos into the workspace root:
${workspaceFolder}rewriting â paths are automatically prefixed with the repo name*.shared.jsonfiles âsettings.shared.json,launch.shared.json,tasks.shared.jsonat workspace root are merged last (for cross-repo config)- Master compound â auto-created launch compound and task containing all “required” entries
- Settings overrides â per-repo
vscode.settingsOverridesinmulti.json
For detailed merging behavior, consult references/vscode-sync.md.
CLAUDE.md / AGENTS.md Generation
Running multi sync rules:
- Generates
.cursor/rules/repo-directories.mdcfrom repodescriptionfields inmulti.json. - For each directory containing
.cursor/rules/*.mdc, concatenates all rule bodies intoCLAUDE.mdandAGENTS.mdplaced alongside the.cursordirectory. - If no rules exist, removes existing
CLAUDE.md/AGENTS.md.
Common Tasks
Add a new repo to the workspace: Add a url entry (and optional name/description) to the repos array in multi.json, then run multi sync.
Switch all repos to a feature branch: Run multi set-branch feature/my-branch. Ensure all repos are clean first.
Fix a missing launch config: Check the source repo’s .vscode/launch.json. Ensure skipVSCode is not true for that repo. Run multi sync vscode launch. For cross-repo compounds, use .vscode/launch.shared.json at workspace root.
Add cross-repo settings: Create or edit .vscode/settings.shared.json at the workspace root, then run multi sync vscode settings.
Additional Resources
Reference Files
For detailed information, consult:
references/configuration.mdâ fullmulti.jsonschema with all fields and defaultsreferences/vscode-sync.mdâ detailed VS Code merging behavior,*.shared.jsonusage, master compound creationreferences/commands.mdâ complete command reference with all options and edge cases