Skip to content

martinschatz-cz/git-bob_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

git-bob_test repo

Original workflow, work and repository https://github.com/haesleinhuepf/git-bob by https://github.com/haesleinhuepf. This is just a very simple testing repo, read and study the source if you want to learn more.

Origin of git-bob

PyPI codecov DOI License

git-bob uses AI to solve GitHub issues. It runs inside the GitHub CI, no need to install anything on your computer. Read more in the publication.

banner

Under the hood it uses Anthropic's Claude or OpenAI's chatGPT or Google's Gemini to understand the text and pygithub to interact with the issues and pull requests. As its discussions are conserved, you can document how things were done using AI and others can learn how to prompt for the things you did. For example, the pair-plot discussion above is available online.

Disclaimer

git-bob is a research project aiming at streamlining GitHub interaction in software development projects. Under the hood it uses artificial intelligence / large language models to generate text and code fulfilling the user's requests. Users are responsible to verify the generated code according to good scientific practice.

When using git-bob you configure it to use an API key to access the AI models. You have to pay for the usage and must be careful in using the software. Do not use this technology if you are not aware of the costs and consequences.

Caution

When using the Anthropic, OpenAI, Google Gemini, Mistral or any other endpoint via git-bob, you are bound to the terms of service of the respective companies or organizations. The GitHub issues, pull requests and messages you enter are transferred to their servers and may be processed and stored there. Make sure to not submit any sensitive, confidential or personal data. Also using these services may cost money.

Installation as GitHub action

There is a detailed tutorial on how to install git-bob as GitHub action to your repository. In very short, to use git-bob in your GitHub repository, you need to

  • Copy the git-bob GitHub workflow in folder .github/workflows/ to your repository.
    • Make sure to replace pip install -e . with a specific git-bob version such as pip install git-bob==0.16.0.
    • If your project does not contain a requirements.txt file, remove the line pip install -r requirements.txt.
    • Configure the LLM you want to use in the workflow files by specifying the GIT_BOB_LLM_NAME secret. These were tested:
      • claude-3-5-sonnet-20241022
      • gpt-4o-2024-08-06 - tested in this repo
      • gpt-4o
      • meta-llama-3.1-405b-instruct
      • gemini-1.5-pro-002 - tested in this repo
      • mistral-large-2411 (uses pixtral-12b-2409 for vision tasks)
      • deepseek-chat
    • configure a GitHub secret with the corresponding key from the LLM provider depending on the above configured LLM:
    • configure GitHub actions to run the workflow on issues and pull requests. Also give write-access to the Workflow using the GITHUB_TOKEN.

When using it in your repository, you can also set a custom system message, for example for:

Furthermore, to guide discussions, you may want to setup issue templates, e.g.

Usage: Trigger words

To trigger git-bob, you need to comment on an issue or pull request with the comment trigger word (or aliases think about, review, respond):

git-bob comment

If you want to ask git-bob for a review of a pull-request, you can use the review trigger word. Also make sure mention explictly what you want to be reviewed.

git-bob review this PR. Check code quality and comments.

After some back-and-forth discussion, you can also use the solve trigger word (or aliases implement, apply) make git-bob solve an issue and send a pull-request. This trigger can also be used to modify code in pull requests.

git-bob solve

You can ask git-bob to implement a solution for testing, without sending a pull-request, using the try trigger:

git-bob try

If you have multiple API-Key for different LLMs configured, you can specify the LLM in the command using the ask <LLM-Name> to trigger command:

git-bob ask claude-3-5-sonnet-20241022 to solve this issue.

If the issue is complex and should be split into sub-issues, you can use the following command:

git-bob split

If you have two GitHub secrets TWINE_USERNAME and TWINE_PASSWORD configured, you can also use the following command to publish a new version of your library to PyPI:

git-bob deploy

All trigger words can be combined with please and/or ,, which will make no difference to calling git-bob without these words:

git-bob, please ask gemini-1.5-pro-002 to solve this issue.

About

git-bob test repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published