VCS providers
Cascade auto-detects which VCS your repo is hosted on from the git origin URL and opens the PR on the right service.
Supported
Section titled “Supported”| Provider | Self-hosted | Default base URL |
|---|---|---|
| GitHub | Yes (GitHub Enterprise via --base-url) | https://api.github.com |
| GitLab | Yes (cloud + self-hosted) | https://gitlab.com |
| Bitbucket Cloud | Cloud only in v0.1 | https://api.bitbucket.org/2.0 |
| Azure DevOps Repos | Yes | https://dev.azure.com |
GitHub
Section titled “GitHub”cascade configure vcs github --token ghp_xxxToken needs repo scope. Create one at https://github.com/settings/tokens.
For GitHub Enterprise:
cascade configure vcs github --token ghp_xxx --base-url https://github.acme.com/api/v3GitLab
Section titled “GitLab”# gitlab.comcascade configure vcs gitlab --token glpat-xxx
# Self-hostedcascade configure vcs gitlab --token glpat-xxx --base-url https://gitlab.acme.ioToken needs api scope. Create one at your GitLab profile settings.
Bitbucket Cloud
Section titled “Bitbucket Cloud”# Using an App Password (recommended)cascade configure vcs bitbucket --token "your_username:your_app_password"
# Using a workspace tokencascade configure vcs bitbucket --token your_workspace_tokenApp Passwords need write access to “Pull requests”.
Azure DevOps
Section titled “Azure DevOps”cascade configure vcs azure_devops --token your_pat --organization myorgPAT needs Code (Read & Write) and Pull Request Threads (Read & Write) scopes.
How auto-detection works
Section titled “How auto-detection works”When cascade build runs, it reads the repo’s git remote get-url origin and parses the URL. The hostname determines the provider:
| URL pattern | Detected as |
|---|---|
github.com/owner/repo | GitHub |
gitlab.com/group/project or any URL containing gitlab | GitLab |
bitbucket.org/team/repo | Bitbucket |
dev.azure.com/org/project/_git/repo | Azure DevOps |
Both HTTPS and SSH origin URLs are recognized.
Forcing a specific provider
Section titled “Forcing a specific provider”If you have a non-standard URL or your repo is mirrored, you can override the provider in ~/.config/cascade/config.yaml:
defaults: vcs_provider: gitlabPR description content
Section titled “PR description content”Cascade writes a structured PR description that includes:
- The story title and description
- All acceptance criteria
- A list of every file changed with the reason
- Test command, result, and summary
- Attribution back to Cascade with the story ID and source
The format renders well on every supported VCS.
Coming in v0.2
Section titled “Coming in v0.2”- Bitbucket Server (Data Center) support
- Gitea / Codeberg support
- Merge request comment loop (Cascade reads review comments and iterates)