Overview
Discover what makes Mergeable powerful
Mergeable is a client‑side web application that transforms the GitHub pull‑request workflow into an organized inbox. By leveraging flexible search queries, users can segment PRs into logical sections such as “Ready to Review”, “Awaiting QA”, or custom labels. The application stores all state locally in the browser’s IndexedDB, meaning no server‑side persistence is required for typical use cases. This design keeps the user experience snappy while still supporting multi‑instance connections to public GitHub, Gitea, or self‑hosted GitHub Enterprise deployments via the standard GraphQL API.
Frameworks
State & Storage
Networking
Build System
Overview
Mergeable is a client‑side web application that transforms the GitHub pull‑request workflow into an organized inbox. By leveraging flexible search queries, users can segment PRs into logical sections such as “Ready to Review”, “Awaiting QA”, or custom labels. The application stores all state locally in the browser’s IndexedDB, meaning no server‑side persistence is required for typical use cases. This design keeps the user experience snappy while still supporting multi‑instance connections to public GitHub, Gitea, or self‑hosted GitHub Enterprise deployments via the standard GraphQL API.
Technical Stack & Architecture
- Frameworks: Built as a modern single‑page application using React with TypeScript for type safety. The UI layer is scaffolded by Vite, which provides fast HMR and a lightweight build pipeline.
- State & Storage: Global state is managed with React Context and Redux Toolkit, while long‑term data (PR lists, search query definitions, user preferences) are persisted in IndexedDB through the
idbwrapper. This eliminates any need for a backend database. - Networking: All GitHub interactions are performed through the GitHub GraphQL endpoint. Authentication is handled via OAuth tokens stored in localStorage and refreshed automatically.
- Build System: The repository is organized as a Turborepo monorepo, allowing shared utilities and linting across the client and documentation sites. Package management is handled by pnpm for efficient deduplication.
Core Capabilities & APIs
- Query Engine: Users can write arbitrary GitHub search queries (e.g.,
is:pr is:open author:@me) that are parsed and executed against the GraphQL API. The result set is cached locally for offline access. - Sectioning & Attention Set: Sections are declarative; developers can expose the configuration schema via a JSON schema or TypeScript interfaces. The attention set algorithm prioritizes PRs where the authenticated user is a reviewer or assignee.
- Keyboard Navigation: Customizable keybindings (via
hotkeys-js) allow developers to script navigation flows or integrate with existing IDE shortcuts. - Multi‑Instance Support: The app maintains a list of GitHub instances, each with its own OAuth token. Switching contexts is instant and does not trigger a full reload.
Deployment & Infrastructure
Being purely client‑side, Mergeable can be self‑hosted as a static bundle on any web server (NGINX, Caddy) or deployed to container platforms. The recommended Docker image pulls the production build from the GitHub Actions artifact and serves it via a minimal Node.js/Express server or directly as static files. For Kubernetes, the application can be exposed through an Ingress controller with TLS termination, while the frontend cache remains in the browser. Because there is no server‑side state, horizontal scaling is trivial: each instance runs independently and only fetches data from GitHub on demand.
Integration & Extensibility
- Webhooks: Although the core app does not expose a webhook endpoint, developers can wrap Mergeable in an API gateway that forwards GitHub events to trigger UI refreshes or custom notifications.
- Plugin System: The configuration schema allows for plug‑in modules that can augment the search query language or inject custom UI panels. These plugins are loaded at runtime via dynamic imports, enabling third‑party extensions without rebuilding the core bundle.
- Customization: Themes and CSS variables can be overridden by providing a custom
theme.css. The application also supports user‑defined shortcuts and layout presets, all stored in IndexedDB.
Developer Experience
The project’s documentation is hosted at usemergeable.dev and covers both user guidance and a developer‑focused “self‑host” section. TypeScript typings are exhaustive, and the codebase follows ESLint/Prettier conventions, ensuring a smooth onboarding experience. The community is active on GitHub, with frequent issue triage and pull‑request reviews that maintain a high code quality standard. Because the app is open source under an MIT license, developers can modify and redistribute without licensing constraints.
Use Cases
- Distributed Review Teams: A team spread across time zones can use Mergeable to keep a unified inbox, ensuring no PR is overlooked.
- Enterprise GitHub Integration: Companies with GitHub Enterprise can connect multiple orgs and repositories, centralizing review workflows while respecting internal security policies.
- CI/CD Dashboard: By pairing Mergeable with a CI system, developers can surface PRs that are ready for merge once all checks pass, reducing manual triage.
- Learning & Onboarding: New contributors can see a curated list of open PRs that need review, speeding up mentorship cycles.
Advantages Over Alternatives
- Zero‑Server Architecture: Eliminates maintenance overhead and reduces attack surface, which is attractive for security‑conscious teams.
- Performance: Local IndexedDB storage and React’s virtual DOM deliver snappy interactions even with hundreds of PRs.
- Flexibility: The query‑driven sectioning system is more expressive than static dashboards offered by many tools.
- Open Source & Extensible: MIT licensing, TypeScript source, and a plugin‑friendly architecture make it easy to adapt for niche workflows.
In summary, Mergeable offers developers a lightweight, highly configurable inbox for GitHub pull requests that can be self‑hosted with minimal operational burden while still providing
Open SourceReady to get started?
Join the community and start self-hosting Mergeable today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
EveryDocs
Personal Document Management System for Secure PDF Storage
Inboxen
Infinite anonymous inboxes for privacy and clean mail
Tiny File Manager
Lightweight web file manager in a single PHP file
Invidious
Open‑source YouTube alternative front‑end
Restreamer
Free, self‑hosted live stream distribution platform
Aleph
Self-hosted other
