Getting Started¶
This guide will help you install Multi and set up your first multi-repo workspace.
Prerequisites¶
- Python 3.9 or higher
- Git
Installation¶
Verify the installation:
Creating a Workspace¶
Step 1: Create a Workspace Directory¶
Create a new directory that will house all your related repositories:
Step 2: Initialize the Workspace¶
Run the interactive init command:
Step 3: Add Repository URLs¶
When prompted, paste the URLs of the repositories you want to include. You can optionally add descriptions for each repository:
Enter repository URLs (one per line, empty line to finish):
> https://github.com/org/backend
Description (optional): Backend API service
> https://github.com/org/frontend
Description (optional): React frontend application
> https://github.com/org/shared
Description (optional): Shared utilities and types
>
The init command will:
- Create a
multi.jsonconfiguration file - Run
multi sync - Clone repositories (standard mode)
- Set up the initial
.vscodeconfiguration - Create a
README.mdfor your workspace if missing - Optionally create Cursor rules with repository descriptions
Automation Path¶
For scripts/automation, you can initialize directly from the command line:
multi init \
--repo https://github.com/org/backend \
--repo-description "Backend API service" \
--repo https://github.com/org/frontend \
--repo-description "React frontend application"
If you want multi init to create the GitHub repositories first, use --github-repo. This shells out to gh repo create, requires gh to be installed and authenticated, and defaults to private repositories:
multi init \
--github-repo org/backend \
--github-description "Backend API service" \
--github-repo org/frontend \
--github-description "React frontend application"
You can override the defaults with --github-visibility public|private|internal and choose the URL format written to multi.json with --github-clone-protocol https|ssh.
You can still hand-author multi.json and run:
multi init automatically uses short local repo names when the remote slug starts with the workspace directory name. Example: in a t-ide/ workspace, https://github.com/org/t-ide-cli becomes local folder cli. If you hand-author multi.json, keep using that same convention.
The same convention applies when you later run multi add.
VS Code Extension¶
For the best experience, install the Multi Workspace VS Code Extension. The extension automatically runs multi sync when relevant files change, keeping your workspace configuration up to date.
Manual Syncing¶
If you prefer not to use the extension, you can manually sync your workspace:
This command:
- Ensures all repositories are cloned and up to date
- Merges
.vscodeconfigurations from all sub-repos - Generates
CLAUDE.mdfiles from Cursor rules
Next Steps¶
- Learn about all available commands
- Understand the configuration format
- Set up branch synchronization for your workflow