Integrations — Code hosting
NerveStax and GitHub
Agents branch, commit and open pull requests. They cannot merge.
What we do
What NerveStax does with GitHub
NerveStax agents clone your repository into a sandbox, work on their own branch, run the tests, and open a pull request against the base branch you choose. They have no merge capability, so your review rules and required checks decide what lands. Every branch and pull request is visible in GitHub from the first commit.
-
Work on its own branch
Each conversation gets a branch named for it. The sandbox is a cache; the branch is the durable record, so you can read the work in GitHub while it is still in progress.
-
Open a pull request you approve
Opening a pull request stops and waits for a person. You see the title and the head and base branches before it opens; the diff is on the pull request itself.
-
Test the change before you read it
The agent builds and tests the change in a sandbox against a development target first, and reports what passed or failed on the pull request.
-
Read pull request state and labels
Agents can read a pull request, list open ones and apply labels, which is how automated test runs are picked up and reported back into the conversation.
-
GitHub App or access token
Connect with a GitHub App installation, an organization-shared personal access token, or each engineer's own token. Whichever you pick is stored encrypted and never shown back.
-
GitHub Enterprise Server
Self-hosted GitHub works the same way. Declare the provider on the project so NerveStax knows what a private host actually runs, and point it at that host's API.
Background
About GitHub
GitHub is a hosted git service used to store code and review changes through pull requests. Most data teams keep their dbt project and Airflow DAGs there. GitHub Enterprise Server is the self-hosted edition.
How it connects
What connecting it looks like
-
01
Connect GitHub
Install the GitHub App on the repositories you want, or add a personal access token in settings. Tokens are stored encrypted.
-
02
Point a project at a repository
Give the project the repository URL and the base branch agents should open pull requests against.
-
03
Declare the provider if self-hosted
A private host could be GitHub or GitLab, so set the provider on the project. For github.com the host already settles it.
-
04
Approve the first pull request
Ask an agent for a change, review the gate, and let it open the pull request. Merging stays with your normal review.
Scope
What this does not cover
- NerveStax has no merge capability. Pull requests are governed by your repository's own review rules and required checks.
- Agents push only to their own conversation branch; a shell guard blocks pushes anywhere else.
- The approval card shows the title and the branches, not a diff. The diff lives on the pull request.
Questions
GitHub and NerveStax
Q01Does it merge my pull requests?+
No. There is no merge capability in the product at all, so nothing NerveStax does can land on your main branch. An agent opens the pull request and stops there. Your reviewers, required checks and branch protection rules decide the rest, exactly as they do for a human contributor.
Q02What permissions does the GitHub App need?+
An installation token is narrowed to the single repository being worked on, with contents write, pull requests write and metadata read. The App's private key comes from deployment configuration, not the database. If you would rather use a personal access token, per-user and organization-shared tokens are both supported.
Q03Can we use GitHub Enterprise Server?+
Yes. A provider registry resolves which forge a host runs: github.com is settled by the host itself, and for a private host you declare the provider on the project. After that, branches, pull requests and labels work the same as on github.com.
Q04Where does the agent's code actually run?+
In a sandbox, one per conversation, not on your laptop or a build runner. It clones the repository there, edits files, runs dbt, and pushes to its own branch. When the conversation goes idle the sandbox is destroyed; the branch in GitHub is what survives.
Q05Can each engineer use their own GitHub account?+
Yes. A credential can be personal to one user or shared across the organization, and the commits and pull requests then carry that identity. All three kinds sit behind one handle, so the rest of the product does not need to know which one you chose.