Skip to main content

KhulnaSoftAI PR-Insight aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions.

Project description

PR-Insight

GitHub license Static Badge Static Badge Discord Twitter GitHub

Documentation

  • See the Installation Guide for instructions on installing PR-Insight on different platforms.

  • See the Usage Guide for instructions on running PR-Insight 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

News and Updates

May 31, 2024

Check out the new PR-Insight Code Fine-tuning Benchmark

May 23, 2024

We released a new version of PR-Insight Chrome extension, with two new features:

  • PR-Insight 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 ๐Ÿ’Ž โœ…

โ€ฃ 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-Insight instantly on your public GitHub repository. Just mention @KhulnaSoft 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 /review

and the agent will respond with a review of your PR

To set up your own PR-Insight, see the Installation section below. Note that when you set your own PR-Insight or use KhulnaSoft hosted PR-Insight, there is no need to mention @KhulnaSoft .... Instead, directly start with the command, e.g., /ask ....


PR-Insight Pro ๐Ÿ’Ž

PR-Insight Pro is a hosted version of PR-Insight, provided by KhulnaSoft. It is available for a monthly fee, and provides the following benefits:

  1. 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-Insight app to your GitHub\GitLab\BitBucket repo.
  2. Improved privacy - No data will be stored or used to train models. PR-Insight Pro will employ zero data retention, and will use an OpenAI account with zero data retention.
  3. Improved support - PR-Insight Pro users will receive priority support, and will be able to request new features and capabilities.
  4. Extra features -In addition to the benefits listed above, PR-Insight 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-Insight Pro.

How it works

The following diagram illustrates PR-Insight tools and their flow:

PR-Insight Tools

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-Insight?

A reasonable question that can be asked is: "Why use PR-Insight? What makes it stand out from existing tools?"

Here are some advantages of PR-Insight:

  • 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-Insight

KhulnaSoft-hosted PR-Insight Pro ๐Ÿ’Ž

  • When using PR-Insight 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-Insight 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-Insight 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-Insight Chrome extension

  • The PR-Insight 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-Insight tool, in accordance with the standard privacy policy of PR-Insight.

Links

Join our Discord community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pr_insight-0.2.1.tar.gz (156.7 kB view details)

Uploaded Source

Built Distribution

pr_insight-0.2.1-py3-none-any.whl (196.1 kB view details)

Uploaded Python 3

File details

Details for the file pr_insight-0.2.1.tar.gz.

File metadata

  • Download URL: pr_insight-0.2.1.tar.gz
  • Upload date:
  • Size: 156.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.13

File hashes

Hashes for pr_insight-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2c932e92bfeb526acb2c32a5f52d1a140e78b3685716b04a9413a558a440bf97
MD5 1180ba690d09263330d2b50ed3bc01a2
BLAKE2b-256 7b987490b01108e4310b1f4efc82ac3314a635c344adc37126eb56f05aef9b2b

See more details on using hashes here.

File details

Details for the file pr_insight-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pr_insight-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 196.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.13

File hashes

Hashes for pr_insight-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5ce9e7774123e2213cc66700de56b379bec4f32037b1fbbb8c925900de238c0
MD5 717cfdca0978425eb2af599608e437fd
BLAKE2b-256 e9ff495f11644df35a21df471420e327454341a109f084e7a855c0034f652a12

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page