Skip to main content
The GitHub integration is the backbone of ManticScore’s code automation. Once connected, you can link any repository to a Forge run, push code from a build node directly to a pull request, browse your repos and branches, and create new repositories — all through your connected GitHub account. ManticScore uses a native PKCE OAuth flow for GitHub, separate from the Composio path used by other integrations.

Connecting GitHub

1

Start the OAuth flow

Call POST /auth/github/start to get an authorization URL. The URL expires in 10 minutes.
2

Open the URL in a browser

Navigate to auth_url. Sign in to GitHub and authorize the ManticScore app. GitHub redirects back to the app with the connection confirmed.
3

Verify the connection

Check your connection status at any time with GET /auth/github/status.
To disconnect, call POST /auth/github/disconnect. This revokes the token at GitHub as well.

Configuring defaults

After connecting, set a default repository and branch configuration so ManticScore knows where to ship code without requiring these values on every call.

Browsing your repositories

All /github/* endpoints proxy through your connected GitHub account via Composio.

List repositories

List branches

List open pull requests

Creating repositories

Creating pull requests

Push files and open a PR in one call

The push-and-pr endpoint atomically creates a branch, commits your files, and opens a pull request — all in a single request.

Shipping a build plan to GitHub

The most powerful GitHub action is shipping an entire build plan as a Forge run. ManticScore takes your build graph, generates code for the selected tasks, and opens pull requests autonomously.
Shipping to GitHub kicks off a Forge run. Track progress with GET /forge/runs/{run_id}/events. See the Forge documentation for the full run lifecycle.

Implementing a single build node

To implement one specific build node rather than a whole build plan:
ManticScore requires push access to the target repository. If you receive a 403 error, verify that your connected GitHub account has write permissions on the repo.