VS Code Integration
repos provides two commands for IDE integration — generating a multi-root workspace file and configuring GitHub Codespaces authentication.
repos workspace works with VS Code and any other IDE that supports the VS Code workspace format (such as Positron). repos codespace is specific to GitHub Codespaces and VS Code.
repos workspace
Generate (or refresh) the entire-project.code-workspace file in your project directory. Open it to load all cloned repositories as a multi-root workspace:
repos workspaceOnce the file is written, open it in your IDE:
code entire-project.code-workspace # VS Code
positron entire-project.code-workspace # PositronOptions
| Flag | Description |
|---|---|
-f <file> |
Use a different list file (default: repos.list) |
# Use a custom list file
repos workspace -f my-repos.listRepository Layout
The workspace file reflects the repository layout in the parent directory:
workspace/
├── my-project/ # your project (contains repos.list)
├── backend/ # cloned from myorg/backend
├── frontend-develop/ # cloned from myorg/frontend@develop
└── docs/ # cloned from myorg/docs
repos codespace
Inject the GH_TOKEN Codespaces secret into every cloned repository that has a devcontainer.json. repos codespaces is an alias for repos codespace.
repos codespaceOptions
| Flag | Description |
|---|---|
-f <file> |
Use a different list file (default: repos.list) |
-d <path> |
Path to a devcontainer.json file (repeatable) |
--permissions <all\|contents> |
Codespaces permission level |
-t <tool> |
Force tool used for JSON processing (jq or python) |
# Use a custom list file
repos codespace -f my-repos.list
# Specify a devcontainer.json path
repos codespace -d .devcontainer/devcontainer.json
# Multiple devcontainer paths
repos codespace -d path1/devcontainer.json -d path2/devcontainer.jsonGitHub Authentication
repos codespace requires a GitHub token with Codespaces permissions:
export GH_TOKEN="your_personal_access_token"
# or
gh auth loginR and Python APIs
For the R or Python API, see the language-specific wrapper pages: