A Chrome extension that displays a confirmation dialog when clicking merge buttons on GitHub pull requests, showing the selected merge method before proceeding.
- Merge method confirmation: Shows a confirmation dialog when selecting merge, squash merge, or rebase merge
- Visual distinction: Each merge method is distinguished by color and icon
- Dark mode support: Automatically adapts to GitHub's dark mode
- Keyboard shortcut: Press Escape to cancel the dialog
- Clone this repository
- Install dependencies:
pnpm install - Build the extension:
pnpm build - Open
chrome://extensionsin Chrome - Enable "Developer mode" in the top right
- Click "Load unpacked"
- Select the
.output/chrome-mv3folder
pnpm install # Install dependencies
pnpm dev # Start development mode with HMR
pnpm build # Build for production
pnpm storybook # Preview components in Storybook- Navigate to a GitHub pull request page
- Click the merge button as usual
- A confirmation dialog will appear
- Click "Confirm [merge method]" to proceed, or "Cancel" to abort
| Merge Method | Description |
|---|---|
| Merge commit | Preserves all commits and creates a merge commit |
| Squash and merge | Combines all commits into one and merges |
| Rebase and merge | Rebases commits onto the base branch and merges |
careful-merge/
├── entrypoints/
│ └── content.ts # Content script
├── components/
│ └── ConfirmDialog.ts # Dialog component
├── types/
│ └── index.ts # Type definitions
├── assets/
│ └── styles.css # Dialog styles
├── stories/
│ └── ConfirmDialog.stories.ts
├── .storybook/ # Storybook config
├── wxt.config.ts # WXT config
└── package.json
This project is licensed under the MIT License.
