PRism by Lucent

AI-powered PR descriptions in one click

Stop spending time writing PR descriptions. PRism analyzes your diff, applies your template, and fills in a polished description — all from a single button click.

How it works

Three steps. Zero friction.

1

Navigate to your PR

Open a new pull request on GitHub or GitLab. PRism detects the page automatically.

2

Click Generate

Hit the PRism button. It reads the diff, picks your template, and sends it to the AI.

3

Review & submit

The generated title and description are filled into the form. Review, tweak if needed, and submit.

Everything you need

Template-driven output

Choose from predefined templates (Minimal, Standard, Feature, Bugfix, Enterprise) or create your own with custom placeholders.

GitHub & GitLab support

Works natively on both platforms. Auto-detects branches, diffs, and fills in the PR form for you.

Custom templates

Build templates that match your team's PR conventions. Use 18+ built-in placeholders for consistent, structured descriptions.

Generation history

Every generated description is saved. Search, filter, and revisit past generations anytime.

AI-powered analysis

Powered by advanced AI that understands code context, identifies key changes, and writes clear, accurate summaries.

Zero-conflict design

Non-intrusive browser extension that only activates on PR creation pages. Never interferes with your workflow.

Template showcase

Choose from 5 built-in templates or create your own. Here's a preview of what each one generates.

Balanced template for everyday PRs

## Summary
Add JWT-based authentication with access and refresh token support. This enables secure user sessions with automatic token rotation and reuse detection to prevent token theft.

## Changes
- Add `/auth/register` and `/auth/login` endpoints (`routes/auth.ts`)
- Implement JWT access token (15min) and refresh token (7-day) generation (`services/token.ts`)
- Add refresh token rotation with SHA-256 hash storage and reuse detection (`services/refresh.ts`)
- Create `authenticate` middleware for protected routes (`middleware/auth.ts`)
- Add `RefreshToken` model with `userId`, `tokenHash`, and `expiresAt` columns (`prisma/schema.prisma`)

## Environment Changes
- `JWT_SECRET` (required): Secret key for signing tokens. Example: `openssl rand -hex 32`
- `ACCESS_TOKEN_TTL` (optional, default `15m`): Access token lifetime.
- `REFRESH_TOKEN_TTL` (optional, default `7d`): Refresh token lifetime.

## Testing
- Unit tests for JWT generation, validation, and expiry edge cases
- Integration tests for register, login, and refresh flows
- Manual verification of token rotation and reuse detection behavior

Get started free

5 AI-generated PR descriptions per month, included with every free account. No credit card required.