MR Chatter is a desktop app for reviewing GitLab merge requests and GitHub pull requests with AI-assisted context and review workflows.
It combines:
- a local Tauri desktop shell
- a Vue + TypeScript frontend
- Rust-backed integrations for code hosts and ticket systems
- optional Codex-powered chat for contextual explanation and review
MR Chatter is built for people who review changes in real repositories and want AI help that stays grounded in the actual diff.
Current product surface includes:
- local repository selection with code-host detection
- GitLab merge request browsing and diff review
- GitHub pull request browsing and diff review
- optional Jira and YouTrack ticket enrichment
- two AI chat modes:
- Context for quick explanation
- Review for deeper critique and risk-finding
- in-app model / reasoning selection for AI-backed workflows
- signed desktop release builds via Tauri updater artifacts
For a deeper explanation of the prompt-building and snapshot model, see SYSTEM_PROMPT.md.
MR Chatter is usable, but this repository is still being polished for public open-source development. Expect some rough edges in documentation, release workflow, and contributor ergonomics while that cleanup continues.
- Frontend: Vue 3 + TypeScript + Pinia + Vite
- Desktop shell: Tauri 2
- Backend/integrations: Rust
- AI integration: external Codex-compatible setup, optional for core local browsing
Important files and directories:
src/– Vue frontendsrc-tauri/– Tauri/Rust backendSYSTEM_PROMPT.md– prompt-building architecture notes.github/workflows/release.yml– tagged release pipeline
To develop locally, you will need:
- current Node.js LTS and
npm - Rust stable with
cargo - the Tauri prerequisites for your OS
The current Ubuntu release pipeline installs:
libwebkit2gtk-4.1-devlibappindicator3-devlibrsvg2-devpatchelf
If you are developing on Ubuntu or a compatible Linux distribution, you will likely need the same or equivalent packages.
Install dependencies:
npm ciRun the frontend dev server:
npm run devRun the Tauri app:
npm run tauri devnpm test
npm run typecheck
npm run build
npm run tauri
npm run releaseFrontend checks:
npm test
npm run typecheck
npm run buildRust/Tauri checks:
cargo check --manifest-path src-tauri/Cargo.tomlMR Chatter connects to external services using personal tokens.
Current supported integrations include:
- GitLab
- GitHub
- Jira
- YouTrack
Token handling is designed to avoid storing secrets in plain text in the repository:
- tokens are stored in the system credential store / keychain via the shared Rust credential store (
src-tauri/src/credential_store.rs) - local metadata such as instance URLs and non-secret settings may be written to app config files with restricted permissions on Unix platforms
Even so, treat local config and logs carefully, and never commit tokens or .env files.
If you discover a security issue, please follow SECURITY.md.
Tagged releases are built through GitHub Actions from .github/workflows/release.yml.
The current release flow:
- builds signed desktop artifacts on macOS, Ubuntu, and Windows
- drafts a GitHub release
- expects CI secrets for Tauri signing
A helper script exists at scripts/release.sh for maintainers, but it is still a maintainer-focused workflow and not yet a stable public release interface for forks.
If you publish a fork, review these maintainer-specific settings before shipping releases:
src-tauri/tauri.conf.jsonbundle identifier- Tauri updater endpoint configuration
- release signing keys and GitHub Actions secrets
Do not assume the default release/update settings are appropriate for a downstream fork.
Please read CONTRIBUTING.md before opening a pull request.
Project governance and support docs: