KhulnaSoft PR-Assistant aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions.
Project description
PR-Assistant
Documentation
-
See the Installation Guide for instructions on installing PR-Assistant on different platforms.
-
See the Usage Guide for instructions on running PR-Assistant tools via different interfaces, such as CLI, PR Comments, or by automatically triggering them when a new PR is opened.
-
See the Tools Guide for a detailed description of the different tools, and the available configurations for each tool.
Table of Contents
- Table of Contents
- News and Updates
- Overview
- Example results
- Try it now
- PR-Assistant Pro ๐
- How it works
- Why use PR-Assistant?
- Data privacy
- Links
News and Updates
May 31, 2024
Check out the new PR-Assistant Code Fine-tuning Benchmark
May 23, 2024
We released a new version of PR-Assistant Chrome extension, with two new features:
- PR-Assistant filters ๐จ
- Code suggestions interactions ๐
See more here
May 21, 2024
Check out KhulnaSoft new project, Coverage-Ai, that can automatically generate qualified tests to enhance existing test suites, aiming to increase code and behavior coverage efficiently.
Overview
Supported commands per platform:
GitHub | Gitlab | Bitbucket | Azure DevOps | ||
---|---|---|---|---|---|
TOOLS | Review | โ | โ | โ | โ |
โฎ Incremental | โ | ||||
โฎ SOC2 Compliance ๐ | โ | โ | โ | โ | |
Describe | โ | โ | โ | โ | |
โฎ Inline File Summary ๐ | โ | ||||
Improve | โ | โ | โ | โ | |
โฎ Extended | โ | โ | โ | โ | |
Ask | โ | โ | โ | โ | |
โฎ Ask on code lines | โ | โ | |||
Custom Prompt ๐ | โ | โ | โ | โ | |
Test ๐ | โ | โ | โ | ||
Reflect and Review | โ | โ | โ | โ | |
Update CHANGELOG.md | โ | โ | โ | โ | |
Find Similar Issue | โ | ||||
Add PR Documentation ๐ | โ | โ | โ | ||
Custom Labels ๐ | โ | โ | โ | ||
Analyze ๐ | โ | โ | โ | ||
CI Feedback ๐ | โ | ||||
Similar Code ๐ | โ | ||||
USAGE | CLI | โ | โ | โ | โ |
App / webhook | โ | โ | โ | โ | |
Tagging bot | โ | ||||
Actions | โ | โ | |||
CORE | PR compression | โ | โ | โ | โ |
Repo language prioritization | โ | โ | โ | โ | |
Adaptive and token-aware file patch fitting | โ | โ | โ | โ | |
Multiple models support | โ | โ | โ | โ | |
Static code analysis ๐ | โ | โ | โ | โ | |
Global and wiki configurations ๐ | โ | โ | โ | โ | |
PR interactive actions ๐ | โ |
- ๐ means this feature is available only in PR-Assistant Pro
โฃ Auto Description (/describe
): Automatically generating PR description - title, type, summary, code walkthrough and labels.
โฃ Auto Review (/review
): Adjustable feedback about the PR, possible issues, security concerns, review effort and more.
โฃ Code Suggestions (/improve
): Code suggestions for improving the PR.
โฃ Question Answering (/ask ...
): Answering free-text questions about the PR.
โฃ Update Changelog (/update_changelog
): Automatically updating the CHANGELOG.md file with the PR changes.
โฃ Find Similar Issue (/similar_issue
): Automatically retrieves and presents similar issues.
โฃ Add Documentation ๐ (/add_docs
): Generates documentation to methods/functions/classes that changed in the PR.
โฃ Generate Custom Labels ๐ (/generate_labels
): Generates custom labels for the PR, based on specific guidelines defined by the user.
โฃ Analyze ๐ (/analyze
): Identify code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.
โฃ Custom Prompt ๐ (/custom_prompt
): Automatically generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.
โฃ Generate Tests ๐ (/test component_name
): Generates unit tests for a selected component, based on the PR code changes.
โฃ CI Feedback ๐ (/checks ci_job
): Automatically generates feedback and analysis for a failed CI job.
โฃ Similar Code ๐ (/find_similar_component
): Retrieves the most similar code components from inside the organization's codebase, or from open-source code.
Try it now
Try the GPT-4 powered PR-Assistant instantly on your public GitHub repository. Just mention @KhulnaSoft-Agent
and add the desired command in any PR comment. The agent will generate a response based on your command.
For example, add a comment to any pull request with the following text:
@KhulnaSoft-Agent /review
and the agent will respond with a review of your PR
To set up your own PR-Assistant, see the Installation section below.
Note that when you set your own PR-Assistant or use KhulnaSoft hosted PR-Assistant, there is no need to mention @KhulnaSoft-Agent ...
. Instead, directly start with the command, e.g., /ask ...
.
PR-Assistant Pro ๐
PR-Assistant Pro is a hosted version of PR-Assistant, provided by KhulnaSoft. It is available for a monthly fee, and provides the following benefits:
- Fully managed - We take care of everything for you - hosting, models, regular updates, and more. Installation is as simple as signing up and adding the PR-Assistant app to your GitHub\GitLab\BitBucket repo.
- Improved privacy - No data will be stored or used to train models. PR-Assistant Pro will employ zero data retention, and will use an OpenAI account with zero data retention.
- Improved support - PR-Assistant Pro users will receive priority support, and will be able to request new features and capabilities.
- Extra features -In addition to the benefits listed above, PR-Assistant Pro will emphasize more customization, and the usage of static code analysis, in addition to LLM logic, to improve results. See here for a list of features available in PR-Assistant Pro.
How it works
The following diagram illustrates PR-Assistant tools and their flow:
Check out the PR Compression strategy page for more details on how we convert a code diff to a manageable LLM prompt
Why use PR-Assistant?
A reasonable question that can be asked is: "Why use PR-Assistant? What makes it stand out from existing tools?"
Here are some advantages of PR-Assistant:
- We emphasize real-life practical usage. Each tool (review, improve, ask, ...) has a single GPT-4 call, no more. We feel that this is critical for realistic team usage - obtaining an answer quickly (~30 seconds) and affordably.
- Our PR Compression strategy is a core ability that enables to effectively tackle both short and long PRs.
- Our JSON prompting strategy enables to have modular, customizable tools. For example, the '/review' tool categories can be controlled via the configuration file. Adding additional categories is easy and accessible.
- We support multiple git providers (GitHub, Gitlab, Bitbucket), multiple ways to use the tool (CLI, GitHub Action, GitHub App, Docker, ...), and multiple models (GPT-4, GPT-3.5, Anthropic, Cohere, Llama2).
Data privacy
Self-hosted PR-Assistant
- If you host PR-Assistant with your OpenAI API key, it is between you and OpenAI. You can read their API data privacy policy here: https://openai.com/enterprise-privacy
KhulnaSoft-hosted PR-Assistant Pro ๐
-
When using PR-Assistant Pro ๐, hosted by KhulnaSoft, we will not store any of your data, nor will we use it for training. You will also benefit from an OpenAI account with zero data retention.
-
For certain clients, KhulnaSoft-hosted PR-Assistant Pro will use KhulnaSoftโs proprietary models โ if this is the case, you will be notified.
-
No passive collection of Code and Pull Requestsโ data โ PR-Assistant will be active only when you invoke it, and it will then extract and analyze only data relevant to the executed command and queried pull request.
PR-Assistant Chrome extension
- The PR-Assistant Chrome extension serves solely to modify the visual appearance of a GitHub PR screen. It does not transmit any user's repo or pull request code. Code is only sent for processing when a user submits a GitHub comment that activates a PR-Assistant tool, in accordance with the standard privacy policy of PR-Assistant.
Links
- Discord community: https://discord.gg/jaCmKVmf
- KhulnaSoft site: https://khulnasoft.com
- Blog: https://www.khulnasoft.com/blog/
- Troubleshooting: https://www.khulnasoft.com/blog/technical-faq-and-troubleshooting/
- Support: support@khulnasoft.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pr_assist-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2f7668e2298a504d711ddbe413f6a8a39b666546a45513c82dc7aba75dcd452 |
|
MD5 | 82ed71497b68dfbdd606cd8bf9db1abf |
|
BLAKE2b-256 | b0131826c4cc9e46c131886e44b7af54e947524e12b4af7356e6883df5e076f3 |