Browse Scient Docs Source control integrations

Source control integrations

Source control records how project files change over time and makes it possible to review, restore, and share those changes. It is useful for code, analysis scripts, manuscripts, configuration, and other text-based research material; you do not need to be a software developer to use it. Scient can connect a Git project to its hosting provider so you and the AI can create branches, publish changes, and review them without leaving the app.

Source control is optional. An ordinary local folder can still be a Scient project without Git or a hosted repository.

Supported providers

Scient works with the platforms your team already uses:

  • GitHub – Pull requests, repository creation, and clone integration
  • GitLab – Merge requests, repository publishing, and hosted clones
  • Bitbucket – Pull request workflows (via API token authentication)
  • Azure DevOps – Pull request support for Microsoft-hosted repositories

What you can do

Start projects from anywhere

Clone repositories directly

  • Open the Command Palette (Cmd/Ctrl + K) → Add Project
  • Choose GitHub repository, GitLab repository, Bitbucket repository, Azure DevOps repository, or paste any Git URL
  • Enter the repository path (owner/repo, group/project, workspace/repository, or project/repository) or a full Git URL, pick a destination, and start working

Publish local projects to the cloud

  • Have a local Git repository without a remote?
  • Use the Publish Repository action to create a new hosted repository (GitHub, GitLab, Bitbucket, or Azure DevOps), add it as your origin remote, and push, in one flow
  • If the local repository has no commits yet, publishing creates the remote and wires it up but does not push. Make a commit, then push normally.

Manage Code Reviews Without Context Switching

Create pull requests while you work

  • Push a branch and create a pull request from the Git actions controls in the toolbar
  • Scient can suggest titles and descriptions based on your commits
  • Supports GitHub Pull Requests, GitLab Merge Requests, Bitbucket Pull Requests, and Azure DevOps Pull Requests

Stay on top of open reviews

  • See if your current branch already has an open PR/MR
  • Open several reviews from the Pull requests page as tabs in the right panel
  • While working in a thread, open linked reviews in the same compact right-panel tabs without leaving the conversation
  • Open the review directly in your browser with one click
  • Command-click (Control-click on Windows and Linux) a pull request number in the sidebar to open it in your browser instead of in Scient
  • Check out a teammate’s branch to review code locally

Fix what you wrote, in place

  • Rewrite a pull request’s title and description from the review itself, in Markdown, with a preview before you save
  • Rewrite your own comments the same way, wherever they are shown
  • Works on GitHub, GitLab, and Bitbucket. Azure DevOps takes a new title and description; its comments stay read-only here, as they already were

Know Your Setup at a Glance

The Source Control settings page shows you exactly what’s connected:

  • ✅ Which providers are authenticated and ready
  • ⚠️ What’s missing and how to fix it
  • 👤 Which account is signed in (when available)

Run a quick Rescan after setting up a new machine or changing credentials.

Getting Started

  1. Install the GitHub CLI (version 2.81.0 or newer) in the environment where the project runs:
    brew install gh
  2. Sign in:
    gh auth login
  3. Open Settings → Source Control in Scient and verify GitHub shows as authenticated

You can now clone, publish, and create pull requests.

For GitLab

  1. Install the GitLab CLI:
    brew install glab
  2. Authenticate:
    glab auth login
  3. Check Settings → Source Control to confirm the connection

For Bitbucket

Bitbucket uses tokens instead of a CLI tool. Two options, both set as environment variables on the machine running the Scient environment.

The T3CODE_ variable prefix below is a retained upstream compatibility identifier. It does not send credentials to T3, but changing the prefix would break existing configurations and requires a separate migration.

Recommended, a Bitbucket access token:

export T3CODE_BITBUCKET_ACCESS_TOKEN="your-access-token"

Or an Atlassian account email plus API token, with read/write access to pull requests and repositories, plus read access to your user account (read:user:bitbucket, used to verify the connection):

export T3CODE_BITBUCKET_EMAIL="[email protected]"
export T3CODE_BITBUCKET_API_TOKEN="your-token"

If both are set, the access token wins. Restart the Scient environment and verify the connection in Source Control settings.

For Azure DevOps

  1. Install Azure CLI:
    brew install azure-cli
  2. Add the DevOps extension:
    az extension add --name azure-devops
  3. Sign in:
    az login

Requirements and troubleshooting

Git is required — Scient uses Git for all local operations. Ensure git is installed in the project environment.

Environment-side setup — Authentication happens in the environment where the project runs, not necessarily on the device displaying Scient. An administrator may have already configured a shared environment.

Common issues:

  • Provider shows “Not authenticated” – Run the login command for that provider (e.g., gh auth login) in a terminal on the server, then rescan in Settings
  • GitHub says it could not verify sign-in status — Scient needs GitHub CLI 2.81.0 or newer to check sign-in status. Update gh (for example, brew upgrade gh), then rescan
  • Bitbucket not connecting – Double-check your environment variables are set in the correct shell profile and the server was restarted
  • Can’t push to a remote – Verify your Git remote URL matches the provider you’ve authenticated with (SSH vs HTTPS remotes may need different credentials)

Need more help? Check your provider’s CLI documentation: