PRilot
From branch diff to pull request in seconds.
Stop wasting time and energy writing pull requests. PRilot handles that for you, giving you perfect PRs in just one click.
Generate Pull Request
Select branches and let AI generate a comprehensive PR description
Title
Refactor authentication flow and add OAuth2 support
Description
Description
Migrates authentication system from JWT-based sessions to OAuth2 with PKCE flow. Implements refresh token rotation for enhanced security and adds social login providers (GitHub, Google) with proper state management.
Changes
1. OAuth2 authentication flow
- Implemented PKCE authorization code flow with state validation
- Added refresh token rotation with automatic expiry handling
- Created OAuth provider configurations for GitHub and Google
2. Login interface updates
- Added social login buttons with provider branding
- Implemented loading states and error handling
- Created unified callback handler for all providers
3. Session management
- Replaced JWT token storage with secure HTTP-only cookies
- Added automatic session refresh on token expiry
- Implemented graceful logout with token revocation
How to Test
- Set up OAuth credentials for GitHub and Google in
.env. - Run database migration for new auth tables.
- Test login flow with each provider.
- Verify token refresh by waiting for expiry.
- Check logout properly revokes all sessions.
Everything You Need to Ship Faster
Powerful features designed to streamline your entire PR workflow.
Instant Pull Request Generation
Generate complete PR descriptions in seconds with a single click. Choose Fast mode for quick generation based on commit messages, or Deep mode for thorough code-aware analysis. Get professional results every time.
Collaborative Workflow
Invite and manage team members so your entire team can benefit from PRilot. Share templates, maintain consistent standards, and streamline your team's PR workflow across all projects.
Universal Language Support
Works with any programming language—JavaScript, Python, Go, Rust, Java, and more. Generate PR descriptions in English, French, Spanish, German, Italian, or Portuguese to match your team's preference.
Seamless Provider Integration
Connect your GitHub account and PRilot handles everything: fetching branch diffs, analyzing changes, and sending pull requests directly to your repository. GitLab support is coming soon.
Save Hours Every Week
Stop wasting time writing PR descriptions manually. Let AI do the heavy lifting while you focus on what matters most - writing great code.
Instant PR Descriptions and Titles
Generate detailed, context-aware descriptions in seconds
Consistent, High-Quality PRs
Every pull request follows best practices with clear structure and useful context.
Faster Reviews, Fewer Comments
Reviewers immediately understand the changes, reducing clarification requests.
3+ Hours Saved
Every month on average
3+ Hours Saved
Per month for each developer of a team
50+ PRs per Month
For a team of 4 developers
50+ PRs per Month
For a team of 4 developers
< 2 Seconds
Time it takes for PRilot to generate a PR
< 2 Seconds
Time it takes for PRilot to generate a PR
How PRilot Works
Five steps from branch selection to a live pull request.
Connect Your Provider
Connect PRilot to your GitHub or GitLab account and select which repositories to grant access to.
Pick Your Branches
Choose your base and compare branches. PRilot fetches the latest list from your provider.
Choose Fast or Deep
Fast reads commit messages. Deep analyzes file diffs and commits for a thorough description.
Review & Edit
Get a structured PR in a markdown editor with live preview and auto-save on edit.
Send Your Pull Request
One click creates the pull request. You get a direct link to review and merge.
Stop Writing PRs by Hand
What used to take minutes now takes seconds.
Without PRilot
The manual way
- Read through every file change
- Manually write title and description
- Format markdown, add test steps
- Repeat for every single PR
With PRilot
The automated way
- Pick your branches
- AI analyzes diffs and commits
- Structured PR ready to send
- Consistent quality every time
One Standard, Every Pull Request
Even top open-source projects have inconsistent PR formatting. PRilot ensures every PR follows the same clear structure — no matter who writes it.
3 developers, 3 different styles
Same 3 PRs, standardized with PRilot
Same 3 PRs, standardized with PRilot
alice
Fixes a bug where sessions expired during token refresh. Updated refreshToken() to extend the TTL and added retry logic for when tokens are expired. You can test by logging in, waiting for the token to near expiry, and checking that the session persists after refresh.
alice
Description
Fixes a bug where user sessions expired during token refresh, causing unexpected logouts.
Changes
• Updated `refreshToken()` to extend session TTL • Added retry logic for expired refresh tokens
How to Test
Log in → wait for token to near expiry → verify session persists after refresh.
bob
What changed: Replaces session cookies with JWT tokens. Added signing/verification utils, updated login/logout endpoints, migrated the auth middleware. Notes: Should be backwards compatible. Tested locally.
bob
Description
Replaces session-cookie auth with stateless JWT tokens for better scalability.
Changes
• Added JWT signing and verification utilities • Updated login/logout endpoints to issue tokens • Migrated auth middleware to validate JWTs
How to Test
Log in → check Authorization header contains JWT → verify protected routes still work.
charlie
- Added rate limiter middleware with sliding window - Applied to /api/auth/* and /api/public/* - Added 429 response handling - Updated config - Added tests
charlie
Description
Adds per-IP rate limiting to all public API routes to prevent abuse.
Changes
• Added rate limiter middleware with sliding window • Applied to `/api/auth/*` and `/api/public/*` • Added `429 Too Many Requests` response handling
How to Test
Send 100+ requests in quick succession → verify 429 after threshold.
See What PRilot Generates
A real example of Deep mode analyzing file changes and producing a structured pull request.
Input
Generated PR
Add Stripe payment integration with webhook handling
Description
Implements Stripe subscription payments with secure checkout sessions and webhook-based subscription lifecycle management. Enables users to upgrade to Pro and unlock premium features.
Changes
1. Stripe setup & configuration
- Added Stripe SDK initialization with environment variables (
STRIPE_SECRET_KEY,STRIPE_WEBHOOK_SECRET,STRIPE_PRICE_ID). - Created shared
stripeutility for server-side usage.
2. Checkout session endpoint
- Added
POST /api/billing/create-checkout-session. - Validates authenticated user and creates subscription-mode Checkout session.
- Attaches
userIdin metadata for webhook reconciliation.
3. Webhook handling
-
Added
POST /api/webhooks/stripeendpoint with signature verification. -
Handles key events:
checkout.session.completedinvoice.payment_succeededcustomer.subscription.deleted
-
Updates user subscription status accordingly.
4. Database updates
- Extended
Usermodel withstripeCustomerId,subscriptionStatus, andcurrentPeriodEnd. - Added enum for subscription state (
active,past_due,canceled,incomplete).
5. Frontend billing page
- Added
BillingPagewith upgrade button and subscription status display. - Redirects to Stripe Checkout and shows success/error notifications.
How to Test
- Add Stripe test keys to
.env. - Run database migration.
- Use Stripe CLI to forward webhooks locally.
- Complete checkout with test card
4242 4242 4242 4242. - Verify subscription status updates and premium routes are accessible.
Frequently Asked Questions
Everything you need to know about PRilot
Stop writing PR descriptions by hand.
Set up in 2 minutes. Install the GitHub App, pick your branches, and let PRilot handle the rest.