Skip to the content
Back to Nymbot

Knowledge base Models and credits

Working in a git repository

Pro can work inside one of your repositories the way a coding agent does — reading your actual files, and with writes on, changing them.

Connecting a repository

?git, or the Git chip in the toolbar, connects a provider: GitHub, GitLab, or Gitea/Forgejo — which covers Codeberg and self-hosted instances. It takes a scoped personal access token, a repository and a branch.

Once connected, the chip shows the repository name, and messages sent with a Pro model selected run in that repository's context. ?git disconnect removes it.

What it can do

A message in repo context runs as a small agent rather than a single completion. The model can list directories, read files and search the tree, then answer using what it actually found — so "why does the retry loop give up early" is answered from your code, not from a guess about code that looks like yours.

It sees the branch you connected, at its current head.

Turning writes on

?git writes on adds the ability to commit files, create branches and open pull or merge requests. Off by default, and worth leaving off until you want it.

With writes on, ask for a change and you get a branch and a pull request to review rather than a patch pasted into chat. Nothing is pushed to your default branch unless that is the branch you connected and you asked for it.

What a repo task costs

A repo task uses up to six model calls per message — look, read, search, answer — each billed at the pinned model's Pro price. Only the calls actually used are charged, so a question answered from one file costs about what an ordinary reply costs.

The app reports the total and the number of calls after each repo task.

About that token

About that token

The access token is stored only on your device and is wiped by a panic wipe. It travels to the Nymbot worker with each request, and is never stored server-side or published to relays. Scope it to the one repository you mean to use, and revoke it at your provider when you are done.

Because it is device-local, it does not sync: connect the repository again on a second device, with a token scoped for that device if you would rather be able to revoke them separately.