Every PR you touch, in one quiet place. See the state, not just the noise.
A cross-platform desktop dashboard for managing GitHub pull requests.
Install · First launch · Development · Contributing · Wiki
PRism gives developers, reviewers, and engineering leads a single focused dashboard for every PR they care about, across repos, orgs, and GitHub accounts, with deeper visibility into conversation state, status timelines, and review signals than GitHub's native UI provides. V1 is read-only: PRism observes and surfaces state; review, comment, and merge actions happen on GitHub itself.
Pre-alpha. M1 (foundations) is in progress: application shell is in place; sync, storage, and auth are open issues on the kanban board.
For v1, github.com is the only validated host; GitHub Enterprise hosts have the wiring in place but are not validated. See ADR 0016.
- Tauri 2 (Rust core + system webview)
- Vue 3 + TypeScript via Vite
- Reka UI headless components + Tailwind CSS
- Pinia, Vue Router, VueUse
- SQLite (embedded) for local cache
- OS keychain for PAT storage (macOS Keychain / Windows Credential Manager / libsecret)
See docs/adr/0002-stack-tauri-vue-typescript.md for the decision record.
Grab the installer for your OS from the Releases page. PRism v1 ships unsigned at the OS level (see ADR-0023): the binaries are signed with Tauri's updater key for OTA integrity, but no Apple Developer ID and no Windows code-signing cert. Expect a one-time per-release click-through on macOS and Windows. Linux launches without a warning.
- Download the matching
.dmgfrom the latest release:- Apple Silicon:
PRism_X.Y.Z_aarch64.dmg - Intel:
PRism_X.Y.Z_x64.dmg
- Apple Silicon:
- Open the
.dmgand drag PRism into Applications. - First launch: right-click
PRism.appin Applications and pick Open, then confirm the Gatekeeper prompt. Macs block unsigned apps when you double-click them; the right-click route is the only way through on first run.
Prefer the command line:
xattr -d com.apple.quarantine /Applications/PRism.appThe Gatekeeper warning recurs on the first launch after every auto-update, because macOS re-applies the quarantine attribute to the replaced bundle. Run the right-click-Open dance (or the xattr command) once per release.
- Download
PRism_X.Y.Z_x64_en-US.msifrom the latest release. - Double-click the
.msi. Windows SmartScreen will show "Windows protected your PC". - Click More info, then Run anyway (screenshot: SmartScreen warning). The installer then walks you through the standard MSI flow.
SmartScreen recurs on the first launch after every auto-update; same More info -> Run anyway click-through.
Pick whichever format suits your distro. Both come from the latest release page.
AppImage (portable, works on any glibc-based distro):
chmod +x PRism_X.Y.Z_amd64.AppImage
./PRism_X.Y.Z_amd64.AppImageDebian / Ubuntu (.deb):
sudo dpkg -i prism_X.Y.Z_amd64.debNo OS-level warning on either path.
The first time PRism opens you'll see a three-step onboarding flow.
A short intro to what PRism does: a local, read-only dashboard that watches every PR you care about and surfaces conversation depth, reviewer status, and time-in-status across multiple GitHub accounts. Click Connect GitHub to move on.
PRism authenticates against GitHub with a PAT, stored in the OS keychain. Two tabs are available:
- Fine-grained (recommended): narrower scope, explicit repository selection. PRism can't verify the granted permissions ahead of time (GitHub doesn't expose them), so tick the listed permissions on the PAT page before pasting the token.
- Classic: broader
repo/read:org/read:userscopes. PRism reads the granted scopes back from GitHub and gates Connect until the required ones are present.
The form has an Account label (e.g. Work, Personal), a Host (github.com by default; use your GHES host for GitHub Enterprise, which is wired but not validated in v1), and a Personal Access Token field. Paste the token; PRism auto-detects whether it's fine-grained or classic from the prefix, switches the help to match, and validates the token on blur.
The Create a new PAT link on the form jumps to GitHub with the relevant scopes pre-filled. The minimum scopes are:
- Fine-grained: read-only on Contents, Pull requests, Metadata; plus Members (read-only) when the token's resource owner is an organisation.
- Classic:
repo,read:org,read:user.
PRism never writes to GitHub. Approve / comment / merge actions all open GitHub itself.
See GitHub's docs for the full picture: Managing your personal access tokens.
Once the account is connected, PRism kicks off the first fetch in the background and confirms when it lands. From here you can Add another account (loops back to step 2) or Open PRism to land on the dashboard.
Open Settings -> Accounts -> + Add account to walk through the same PAT flow at any time. The dashboard unifies PRs across every connected account by default (see ADR-0016).
To change which orgs and repos PRism watches, go to Settings -> Repositories and toggle entries on or off.
PRism registers the prism:// custom URL scheme on install. Open any PR PRism is tracking by clicking a link of the form prism://pr/<owner>/<repo>/<number> (add ?host=ghes.example.com for non-github.com hosts). Links to PRs PRism isn't tracking fall back to opening on GitHub. See the wiki Architecture page for the full URL shape.
Prerequisites and dev setup live in the wiki: Getting Started. The short version:
pnpm install
pnpm tauri:dev # native window, hot reload
pnpm tauri:build # release binary under src-tauri/target/release/bundle/You need Node 24+ LTS, pnpm 11+, and Rust stable. Tauri's Prerequisites guide covers the OS-specific bits.
.
├── .claude/ # Agentic-coding rules, agents, commands, skills (for Claude Code)
├── .github/ # Issue + PR templates, CODEOWNERS
├── docs/
│ ├── adr/ # Architectural Decision Records
│ ├── contracts/ # Cross-module interface specs (e.g. github-client)
│ ├── design/ # Source design tokens, prototype artboards, brand
│ └── wiki/ # Source for the GitHub wiki (mirrored)
├── src/ # Vue 3 frontend (Tauri webview)
│ ├── assets/styles/ # tokens.css, primitives.css, Tailwind entry
│ ├── components/ # AppShell, SidebarNav, StatusBar
│ ├── views/ # Dashboard, Settings, Onboarding
│ ├── stores/ # Pinia stores
│ └── router/ # Vue Router
├── src-tauri/ # Rust backend + Tauri config
├── AGENTS.md # Instructions for non-Claude agents
├── CLAUDE.md # Instructions for Claude Code
├── CONTRIBUTING.md # Commit style, PR flow, ADR process
├── LICENSE
└── README.md
- Issues and roadmap: GitHub kanban board
- Conventions: CONTRIBUTING.md
- Architectural decisions: docs/adr/
- Long-form docs and runbooks: wiki
- Release gate: Platform QA checklist
All work follows Conventional Commits; see CONTRIBUTING.md for the type/scope conventions used here.
MIT.