Viewing docs for:

Configuration

Connect your Git provider, choose an AI backend, and tune your skill files — all from one settings panel.

Configuration

PR Pilot has a dedicated, full-size settings window accessible from within IntelliJ IDEA. It is split into three tabs: Git Providers, AI Provider, and Skills & Prompts.

PR Pilot has a dedicated, full-size settings panel accessible from within VS Code. It is split into three tabs: Git Providers, AI Provider, and Skills & Prompts.

Opening the Settings Panel

  1. Go to Settings → PR Pilot in the IDE menu bar, or
  2. Click the ⚙ gear icon in the PR Pilot tool window toolbar.
  3. The settings window opens as a tabbed dialog.
  1. Click the ⚙ gear icon in the PR Pilot Activity Bar panel toolbar, or
  2. Open the Command Palette (⌘⇧P on macOS, Ctrl+Shift+P on Windows/Linux) and run PR Pilot: Open Settings.
  3. The settings panel opens as a VS Code webview with three tabs.

Why a dedicated window? The settings dialog provides enough room for multi-line prompt editors and the Bitbucket PAT table — something the standard IntelliJ settings tree couldn't accommodate inline.

Why a dedicated panel? The settings webview provides enough room for multi-line prompt editors and the Bitbucket PAT table — something the standard VS Code settings UI couldn't accommodate.

Tab 1 — Git Providers

This tab controls which version-control platform PR Pilot connects to, and stores the authentication tokens needed to call the API.

Active Provider Selector

At the top of the tab is an "Active provider" dropdown. Select either Bitbucket or GitHub. The card below switches to show the relevant settings. Only one provider is active at a time.

Bitbucket Cloud

Bitbucket has moved to repository-level Personal Access Tokens (PATs). Because different repositories in the same workspace may have different tokens, PR Pilot maintains a per-repo PAT registry — a table where each row maps a workspace/repo pair to its access token.

Adding a repository

  1. Click Add Repo below the table.
  2. A dialog appears with three fields:
    • Workspace — the Bitbucket workspace slug (e.g. myteam)
    • Repo Slug — the repository slug (e.g. backend-api)
    • Access Token — the HTTP access token generated in Bitbucket
  3. Click OK. The row appears in the table immediately.

Generating a Bitbucket PAT

  1. Log in to bitbucket.org.
  2. Navigate to your repository → Repository settings → Access tokens.
  3. Click Create Repository Access Token.
  4. Give it a name (e.g. PR Pilot) and grant the following permissions:
    • Pull requests: Read — to list and view PRs
    • Pull requests: Write — to approve, decline, and merge
  5. Copy the token — you'll only see it once.

One token per repository. Bitbucket repository-level PATs are scoped to a single repo. If you have five repositories, you need five rows in the table.

Editing or removing a repository

Select the row in the table and click Remove Repo to delete it, or double-click a cell to edit the value in place.

How the plugin selects the token

When PR Pilot loads pull requests, it inspects the remote URL of the open project to determine the workspace and repoSlug, then looks up the matching row in the table. If no row is found, you'll see a clear error message instead of a silent 401.

GitHub

GitHub uses a single Personal Access Token (classic or fine-grained) that covers all your repositories.

Generating a GitHub PAT

  1. Go to GitHub → Settings → Developer settings → Personal access tokens.
  2. Choose Fine-grained tokens (recommended) or Tokens (classic).
  3. Grant the following repository permissions:
    • Pull requests: Read and write
    • Contents: Read (for diff access)
    • Metadata: Read (required by fine-grained tokens)
  4. Generate and copy the token.

Paste the token into the Personal Access Token field in the GitHub card and click Apply.

Tab 2 — AI Provider

PR Pilot supports three AI backend types. Select one from the "AI provider" dropdown and fill in the card that appears below.

OpenAI

FieldDescriptionDefault
API KeyYour OpenAI secret key (sk-…)
ModelModel ID to usegpt-4o

Recommended models: gpt-4o (best quality), gpt-4-turbo, gpt-3.5-turbo (fastest/cheapest).

Cost tip: AI summary prompts can be long (especially for large PRs with many files). gpt-4o-mini offers a good balance of cost and quality for everyday reviews.

OpenAI-Compatible

Any server that exposes the POST /v1/chat/completions endpoint in OpenAI format:

FieldDescriptionExample
Base URLRoot URL of your compatible serverhttps://api.together.xyz
ModelModel name as the server expects itmistralai/Mixtral-8x7B
API KeyKey required by the server (may be optional for local setups)your-key

Works with: LM Studio, vLLM, llama.cpp server, Together AI, Groq, Anyscale, and more.

Ollama

Run large language models locally with zero data leaving your machine.

FieldDescriptionDefault
Base URLOllama server addresshttp://localhost:11434
ModelModel name as shown in ollama listllama3

Quick Ollama setup

# Install Ollama (macOS)
brew install ollama

# Pull a capable code model
ollama pull llama3
# or for a stronger model:
ollama pull codellama:13b

# Start the server (runs on :11434 by default)
ollama serve

Then set the base URL to http://localhost:11434 and the model name to llama3 (or whichever model you pulled).

Tab 3 — Skills & Prompts

This tab provides inline text editors for the three skill Markdown files stored in your project under .idea/pr-pilot/skills/.vscode/pr-pilot/skills/.

FilePurpose
system_prompt.mdDefines the AI's persona, tone, and output format
review_rules.mdReview focus areas: security, performance, error handling, etc.
coding_standards.mdTeam-specific naming conventions, style rules, and architecture guidelines

Changes saved here are immediately written to the .md files on disk. You can also edit the files directly in any text editor or VS Code's built-in Markdown editor. See the Skills guide for a deep-dive on customisation.

Tab 4 — Jira Integration

PR Pilot can automatically sync review outcomes back to your Atlassian Jira project. When you approve, merge, or decline a pull request, PR Pilot detects the linked Jira issue and posts a comment — and on a declined PR, also reassigns the issue back to the PR author.

Optional feature. Jira integration is entirely opt-in. If the Base URL, Email, or API Token fields are blank, the integration is silently skipped — no errors are shown.

Fields

FieldDescriptionExample
Jira Base URLThe root URL of your Atlassian Jira instancehttps://myteam.atlassian.net
EmailThe Atlassian account email used to authenticateyou@example.com
API TokenAn Atlassian API token (not your password)ATATT3x…
Issue Key PatternOptional regex to match issue keys in PR data. Leave blank for the default pattern[A-Z]+-\d+

Generating an Atlassian API Token

  1. Log in to id.atlassian.com → Security → API tokens.
  2. Click Create API token.
  3. Give it a label (e.g. PR Pilot) and click Create.
  4. Copy the token — it is only shown once.

Paste the token into the API Token field. Enter the email address you use to log in to Jira in the Email field.

How issue keys are detected

PR Pilot scans the following PR fields in order and takes the first match:

  1. PR title
  2. PR description
  3. Source branch name
  4. Target branch name
  5. PR URL

The default regex pattern is [A-Z][A-Z0-9]+-\d+ (case-insensitive), which matches standard Jira keys such as PROJ-123 or MYAPP-42. Specify a custom pattern in the Issue Key Pattern field if your project keys don't match the default.

What happens on each action

PR ActionJira Effect
ApprovePosts "Code Review Passed." as a comment on the linked issue
MergePosts "Code Review Passed." as a comment on the linked issue
DeclinePosts the AI review summary (or a fallback message) as a comment, then reassigns the issue to the PR author

Required Jira permissions: The Atlassian account must have Browse Projects and Add Comments permissions on the target project. For decline/reassign, it also needs Assign Issues permission.

Settings Persistence

PR Pilot stores settings in two places:

  • Non-sensitive settings (AI provider, model names, Jira base URL, etc.) are stored in a file called PRPilot.xml in the IDE configuration directory, with RoamingType.DISABLED so they stay local to this machine.
  • Sensitive settings (GitHub PAT, OpenAI API key, Jira API token, Bitbucket PATs) are stored via IntelliJ PasswordSafe, which is backed by the OS system keychain (macOS Keychain, Windows Credential Manager, KWallet on Linux). They are never written to disk in plaintext.

Security note: Access tokens are isolated in PasswordSafe and never appear in PRPilot.xml. They cannot be accidentally shared or synced.

PR Pilot stores settings in two places:

  • Non-sensitive settings (AI provider, model names, Jira base URL, etc.) are stored in VS Code's global configuration under the prPilot.* key namespace — typically in your profile's settings.json.
  • Sensitive settings (GitHub PAT, OpenAI API key, Jira API token, Bitbucket PATs) are stored in VS Code SecretStorage, which is backed by the OS system keychain (macOS Keychain, Windows Credential Manager, libsecret on Linux). They are never written to disk in plaintext.

Security note: Access tokens never appear in settings.json. They are isolated in SecretStorage and cannot accidentally be synced via VS Code Settings Sync unless you explicitly enable secret sync.

Settings are written immediately on every change, so you should never lose data after a crash or reload.