Documentation

Connect your code

Link a GitHub or GitLab repository so Coroid has somewhere to read from and open pull requests against.

Coroid needs access to a repository before it can do anything. You connect a source control provider once at the organization level, then attach individual repositories to projects.

Connections are managed at Settings → Connections → Source control (/settings/connections/source-control).

  1. Connect a provider

    GitHub App or a token

    Settings → Connections → Source control

  2. Repositories appear

    The ones the connection can reach

    App access or token scope

  3. Create a project

    One project per repository

    Projects → New

  4. First analysis

    Languages, build and test commands

    Check it in the project settings

You connect a provider once for the organization. Each repository then becomes a project, and its first analysis is what lets agents build and test it.

Supported providers

ProviderConnection methodAvailability
GitHubGitHub App install, or a personal access tokenGenerally available
GitLabPersonal access tokenPrivate preview

GitHub: App install or token

For GitHub, installing the Coroid GitHub App is the better option. The App grants access per repository rather than per user, keeps working when the person who set it up leaves, and lets Coroid receive webhook events without polling.

Choose a personal access token instead where App installation requires an admin approval you do not have.

To install the App, go to Settings → Connections → Source control, choose GitHub, and follow the install flow. GitHub will ask which repositories to grant access to; you can change this later from GitHub's own settings.

Connecting with a personal access token

Create the token in your provider, then paste it at Settings → Connections → Source control.

The token needs to read repository contents and create branches and pull requests. On GitHub that is the repo scope for a classic token; on GitLab it is api.

Tokens are encrypted before they are stored and are never returned by the API or shown again in the interface after you save them. They are also excluded from settings export bundles — an exported bundle carries a placeholder, and you re-enter the secret when you import it elsewhere.

Attach a repository to a project

A connection makes repositories available; a project is what Coroid actually works in. Create one from Projects → New, pick the connected repository, and Coroid will do a first pass over the codebase to detect languages, build commands, and test commands.

That first analysis is what lets an agent build and test your project, so it is worth checking the result. You can correct anything it inferred wrong under the project's settings.

Try Coroid without writing to your repository

Pick Local only under Repository mode when you create the project. Coroid then reads from the repository and keeps every branch, commit and review inside Coroid; it never pushes, comments or opens pull requests. When you want pull requests, choose Start syncing on any review or in the project's repository settings. See Synced or local only.

A public GitHub repository needs no connection at all: choose Connect with URL, paste the repository address and validate access. Without a GitHub connection, Local only is preselected, because Coroid can read a public repository but has nothing to push with.

Which branch Coroid works from

Coroid branches from your default branch and opens pull requests back against it. You can change the base branch per project in the project's repository settings if you merge into something other than main.

Verify the connection

The connection is working when the repository appears in the project creation list and the project's first analysis completes. If a repository you expect is missing, the most common causes are:

  • the GitHub App was installed but not granted access to that specific repository
  • the token's scope is too narrow to list private repositories
  • the repository belongs to a different organization than the one you connected

Next

How a task becomes a pull request — what happens after you describe some work.