Gitsensei
is a powerful tool designed to assist developers in reviewing PRs with greater speed and efficiency. It employs automated analysis techniques to evaluate the PR and offers various forms of feedback, ensuring a comprehensive review process.
Auto-Description: Automatically generating PR description - name, type, summary, and code walkthrough.
PR Review: Feedback about the PR main theme, type, relevant tests, security issues, focused PR, and various suggestions for the PR content.
Question Answering: Answering free-text questions about the PR.
Code Suggestion: Committable code suggestions for improving the PR.
Git-Sensei
offers extensive pull request functionalities across various git providers:
In the configuration file you can select your git provider (GitHub only for now, Gitlab, Bitbucket will be supported soon), and further configure the different tools.
Git-Sensei provides four types of interactions ("tools"): "PR Reviewer"
, "PR Q&A"
, "PR Description"
and "PR Code Sueggestions"
.
- The "PR Reviewer" tool automatically analyzes PRs, and provides various types of feedback.
- The "PR Q&A" tool answers free-text questions about the PR.
- The "PR Description" tool automatically sets the PR Title and body.
- The "PR Code Suggestion" tool provide inline code suggestions for the PR that can be applied and committed.
Check out the PR Compression strategy page for more details on how it converts a code diff to a manageable LLM prompt
- Support open-source models, as a replacement for openai models. (Note - a minimal requirement for each open-source model is to have 8k+ context, and good support for generating json as an output)
- Support other Git providers, such as Gitlab and Bitbucket.
- Develop additional logics for handling large PRs, and compressing git patches
- Dedicated tools and sub-tools for specific programming languages (Python, Javascript, Java, C++, etc)
- Add additional context to the prompt. For example, repo (or relevant files) summarization, with tools such a ctags
- Adding more tools. Possible directions:
- PR description
- Inline code suggestions
- Enforcing CONTRIBUTING.md guidelines
- Performance (are there any performance issues)
- Documentation (is the PR properly documented)
- Rank the PR importance
- ...