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
Metadata
Release files for pr-assist 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pr_assist-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pr_assist-0.2.2-py3-none-any.whl
| Download URL | pr_assist-0.2.2-py3-none-any.whl |
|---|---|
| Size | 196.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2f7668e2298a504d711ddbe413f6a8a39b666546a45513c82dc7aba75dcd452
|
|
BLAKE2b-256 checksum How to use checksums |
b0131826c4cc9e46c131886e44b7af54e947524e12b4af7356e6883df5e076f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.13
|