MCPSERV.CLUB
Mergeable

Mergeable

Self-Hosted

Better inbox for GitHub pull requests

Stale(61)
100stars
0views
Updated Jun 2, 2025
Mergeable screenshot 1
1 / 2

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 idb wrapper. 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

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
MIT
Stars
100
Technical Specs
Pricing
Open Source
Database
None
Docker
Dockerfile
Supported OS
LinuxDocker
Author
pvcnt
pvcnt
Last Updated
Jun 2, 2025